:root {
      color-scheme: light;
      --sidebar-expanded: 240px;
      --sidebar-collapsed: 56px;
      --sidebar-width: var(--sidebar-expanded);
      --sidebar-flyout-gap: 6px;
      --header-height: 65px;
      --ink: #363b44;
      --muted: #92989b;
      --line: #e8eaeb;
      --page: #f7f8fa;
      --surface: #ffffff;
      --surface-2: #f5f5f5;
      --surface-soft: #f5f5f5;
      --surface-hover: #f8faff;
      --workspace-canvas: #f5f5f5;
      --blue: #4c8bf7;
      --blue-dark: #4077d6;
      --blue-soft: #e5eeff;
      --blue-ink: #3771d6;
      --gold: #ae8a47;
      --gold-dark: #927139;
      --gold-hover: #9f7d40;
      --gold-active: #927139;
      --green: #02815a;
      --red: #b42318;
      --shadow-panel: 0 14px 24px rgba(0, 0, 0, .07);
      --font-ui: "PT Sans", Arial, sans-serif;
      --font-caption: "PT Sans Caption", "Arial Black", Arial, sans-serif;
      font-family: var(--font-ui);
    }

    html[data-sidebar="collapsed"] { --sidebar-width: var(--sidebar-collapsed); }

    html[data-theme="dark"] {
      color-scheme: dark;
      --ink: #eef1f5;
      --muted: #a5abb4;
      --line: #343941;
      --page: #111318;
      --surface: #1b1e23;
      --surface-2: #24282f;
      --surface-soft: #24282f;
      --surface-hover: #232936;
      --workspace-canvas: #111318;
      --blue-soft: #1d2b45;
      --blue-ink: #8bb4ff;
      --shadow-panel: 0 14px 28px rgba(0, 0, 0, .3);
    }

    /* ROCKET · identidad visual oficial.
       Rocket claro es el predeterminado; Dark Rocket utiliza la misma marca sobre superficies azul-negro. */
    html[data-theme="light"][data-brand-theme="rocket"] {
      --blue: #0055DD;
      --blue-dark: #0048BE;
      --blue-soft: #EAF1FF;
      --blue-ink: #0055DD;
    }
    html[data-theme="dark"][data-brand-theme="rocket"] {
      color-scheme: dark;
      --ink: #F4F7FB;
      --muted: #9EADC0;
      --line: #2A384A;
      --page: #0B0F17;
      --surface: #151D2A;
      --surface-2: #1B2533;
      --surface-soft: #1B2533;
      --surface-hover: #202D3F;
      --workspace-canvas: #101722;
      --blue: #0055DD;
      --blue-dark: #0048BE;
      --blue-soft: #102A52;
      --blue-ink: #6FA5FF;
      --shadow-panel: 0 16px 34px rgba(0,0,0,.38);
    }

    * { box-sizing: border-box; }
    body.ui-scroll-lock{overflow:hidden!important}
    html, body { width: 100%; min-height: 100%; margin: 0; background: var(--page); color: var(--ink); }
    body { min-height: 100vh; overflow-x: hidden; font-family: var(--font-ui); font-size: 15px; }
    button, input, select, textarea { font: inherit; }

    button, a { -webkit-tap-highlight-color: transparent; }
    button { cursor: pointer; }
    button:disabled { cursor: not-allowed; opacity: .55; }
    a { color: inherit; }
    svg { display: block; }
    [hidden] { display: none !important; }

    .sr-only {
      position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
      overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0;
    }

    .root-screen { min-height: 100vh; }
    .boot-screen, .auth-screen {
      display: grid; place-items: center; padding: 28px;
      background: radial-gradient(circle at 50% 12%, rgba(174,138,71,.13), transparent 35%), var(--page);
    }
    .boot-card, .auth-card {
      width: min(430px, 100%); border: 1px solid var(--line); border-radius: 14px;
      background: var(--surface); box-shadow: var(--shadow-panel);
    }
    .boot-card { padding: 34px; text-align: center; }
    .auth-card { padding: 30px; }
    .brand-mark {
      display: inline-grid; place-items: center; width: 52px; height: 52px;
      border: 2px solid #ae8a47; border-radius: 12px; color: #ae8a47;
      font-family: Arial, sans-serif; font-size: 19px; font-weight: 900; letter-spacing: -1px;
    }
    .brand-mark[data-brand="rocket"] { width: 72px; height: 72px; border: 0; border-radius: 0; }
    .brand-mark[data-brand="rocket"] img { display: block; width: 72px; height: 72px; object-fit: contain; }
    .boot-card h1, .auth-card h1 { margin: 17px 0 6px; font-size: 23px; line-height: 1.2; }
    .boot-card p, .auth-card p { margin: 0; color: var(--muted); line-height: 1.5; }
    .auth-brand { margin-bottom: 24px; text-align: center; }
    .auth-brand-logo { display: block; width: min(310px, 86%); height: auto; margin: 0 auto 20px; object-fit: contain; }
    .auth-brand-logo-dark { display: none; }
    html[data-theme="dark"] .auth-brand-logo-light { display: none; }
    html[data-theme="dark"] .auth-brand-logo-dark { display: block; }
    .auth-remember {
      display: flex; align-items: center; gap: 8px; min-height: 24px; margin: -3px 0 2px;
      color: var(--muted); font-size: 13px; line-height: 18px; cursor: pointer; user-select: none;
    }
    .auth-remember input { width: 16px; height: 16px; margin: 0; accent-color: var(--gold); cursor: pointer; }
    .auth-remember span { min-width: 0; }
    .auth-password-hint { margin: 4px 0 0 24px; color: var(--muted); font-size: 11px; line-height: 1.35; }
    .field { display: grid; gap: 7px; margin-bottom: 15px; }
    .field label { font-size: 13px; font-weight: 700; }
    .input, .select, .textarea {
      width: 100%; min-height: 38px; padding: 8px 10px; border: 1px solid var(--line);
      border-radius: 4px; outline: none; background: var(--surface); color: var(--ink);
    }
    .textarea { min-height: 74px; resize: vertical; }
    .input:focus, .select:focus, .textarea:focus { border-color: var(--blue); box-shadow: 0 0 0 2px rgba(76,139,247,.14); }
    .auth-actions { display: grid; gap: 9px; margin-top: 20px; }
    .password-control{position:relative}.password-control .input{padding-right:46px}.password-toggle{position:absolute;right:5px;top:50%;display:grid;place-items:center;width:36px;height:34px;padding:0;border:0;border-radius:4px;background:transparent;color:var(--muted);transform:translateY(-50%)}.password-toggle:hover{background:var(--surface-hover);color:var(--ink)}.password-toggle:focus-visible{outline:0;box-shadow:0 0 0 2px rgba(174,138,71,.28)}.password-toggle svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8}.auth-register-prompt{margin-top:14px!important;text-align:center;color:var(--muted)!important;font-size:13px}.auth-register-link{padding:0;border:0;background:transparent;color:var(--gold);font:inherit;font-weight:800;text-decoration:underline}.registration-card{width:min(500px,100%)}.registration-step{display:inline-flex;align-items:center;min-height:25px;margin-bottom:12px;padding:0 10px;border-radius:999px;background:rgba(174,138,71,.12);color:var(--gold-dark);font-size:11px;font-weight:800;letter-spacing:.35px}.registration-message{min-height:20px;margin-top:13px;color:var(--muted);font-size:13px;line-height:1.4}.registration-message[data-kind="error"]{color:var(--red)}.registration-message[data-kind="success"]{color:var(--green)}
    #registrationScreen .input[aria-invalid="true"]{border-color:var(--red)!important;box-shadow:0 0 0 3px rgba(198,52,52,.11)!important}
    .auth-divider{display:flex;align-items:center;gap:12px;margin:18px 0;color:var(--muted);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.45px}.auth-divider::before,.auth-divider::after{content:"";height:1px;flex:1;background:var(--line)}
    .google-auth-button{display:flex;align-items:center;justify-content:center;gap:11px;width:100%;min-height:42px;border:1px solid #dadce0;border-radius:4px;background:#fff;color:#202124;font-weight:600;box-shadow:0 1px 2px rgba(60,64,67,.08)}.google-auth-button:hover{background:#f8fafd;border-color:#c5c8cc;box-shadow:0 1px 3px rgba(60,64,67,.2)}.google-auth-button:focus-visible{outline:0;box-shadow:0 0 0 3px rgba(66,133,244,.22)}.google-auth-button svg{width:18px;height:18px;flex:0 0 auto}
    /* ROCKET · Crear cuenta · Paso 1 · modo claro */
    #registrationScreen{
      display:grid;place-items:center;min-height:100dvh;padding:24px;
      background:
        radial-gradient(circle at 12% 14%,rgba(0,85,221,.12),transparent 28%),
        radial-gradient(circle at 88% 10%,rgba(0,85,221,.10),transparent 22%),
        linear-gradient(180deg,#F8FBFF 0%,#EEF4FF 52%,#FFFFFF 100%);
    }
    #registrationScreen .registration-card{
      position:relative;width:min(460px,100%);min-height:656px;max-height:calc(100dvh - 44px);padding:28px 34px 26px;
      border:1px solid rgba(0,85,221,.16);border-radius:22px;background:rgba(255,255,255,.97);
      box-shadow:0 20px 55px rgba(0,85,221,.12),0 4px 14px rgba(15,23,42,.05);overflow:hidden;
    }
    #registrationScreen .registration-card::before{
      content:"";position:absolute;inset:0 0 auto;height:5px;background:linear-gradient(90deg,#0055DD 0%,#3E86FF 100%);
    }
    #registrationScreen .registration-brand{text-align:center;margin-bottom:17px}
    #registrationScreen .registration-rocket-lockup{display:inline-flex;align-items:center;gap:12px;margin:0 auto 12px;text-align:left}
    #registrationScreen .registration-rocket-icon{width:56px;height:56px;object-fit:contain;flex:0 0 auto}
    #registrationScreen .registration-rocket-copy{min-width:0}
    #registrationScreen .registration-rocket-name-row{display:flex;align-items:baseline;gap:7px}
    #registrationScreen .registration-rocket-name{color:#0055DD;font-size:27px;font-weight:900;line-height:1;letter-spacing:1px}
    #registrationScreen .registration-rocket-product{color:#4A5F7A;font-size:17px;font-weight:800;line-height:1;letter-spacing:.4px}
    #registrationScreen .registration-rocket-slogan{margin:5px 0 0;color:#6B7A90;font-size:12px;line-height:1.35}
    #registrationScreen .registration-brand h1{margin:8px 0 5px;color:#12233D;font-size:29px;line-height:1.14}
    #registrationScreen .registration-brand>p{margin:0;color:#64748B;font-size:14px;line-height:1.45}
    #registrationScreen .registration-step{
      min-height:27px;margin:0 0 14px;padding:0 11px;border-radius:999px;background:#EAF1FF;color:#0055DD;
      font-size:11px;font-weight:800;letter-spacing:.4px;
    }
    #registrationScreen .field{gap:7px;margin-bottom:13px}
    #registrationScreen .field label{color:#0F172A;font-size:13px;font-weight:700}
    #registrationScreen .input{
      min-height:43px;padding:9px 12px;border:1px solid #C7D7F1;border-radius:10px;background:#FFFFFF;color:#12233D;
    }
    #registrationScreen .input::placeholder{color:#8A9BB3;opacity:1}
    #registrationScreen .input:hover{border-color:#ABC5EE}
    #registrationScreen .input:focus{border-color:#0055DD;box-shadow:0 0 0 3px rgba(0,85,221,.13)}
    #registrationScreen .password-control .input{padding-right:46px}
    #registrationScreen .password-toggle{color:#6B7A90;border-radius:8px}
    #registrationScreen .password-toggle:hover{background:#EAF1FF;color:#0055DD}
    #registrationScreen .password-toggle:focus-visible{box-shadow:0 0 0 3px rgba(0,85,221,.16)}
    #registrationScreen .registration-actions{justify-content:flex-end;gap:10px;margin-top:17px}
    #registrationScreen #registrationCancel,
    #registrationScreen #registrationSubmit{min-height:42px;border-radius:9px}
    #registrationScreen #registrationCancel{border-color:#0055DD;background:#FFFFFF;color:#0055DD}
    #registrationScreen #registrationCancel:hover:not(:disabled){background:#EAF1FF;border-color:#0048BE;color:#0048BE}
    #registrationScreen #registrationSubmit{border-color:#0048BE;background:#0055DD;color:#FFFFFF;box-shadow:0 8px 18px rgba(0,85,221,.14)}
    #registrationScreen #registrationSubmit:hover:not(:disabled){background:#004BC4;border-color:#003EA5}
    #registrationScreen :is(#registrationCancel,#registrationSubmit):focus-visible{outline:0;box-shadow:0 0 0 3px rgba(0,85,221,.16)}
    #registrationScreen .registration-message{min-height:18px;margin-top:10px;font-size:12px;text-align:center}
    #registrationScreen .registration-terms{
      display:flex;align-items:flex-start;gap:9px;min-height:24px;margin:2px 0 0;color:#44556C;font-size:13px;line-height:18px;cursor:pointer;user-select:none
    }
    #registrationScreen .registration-terms input{width:16px;height:16px;margin:1px 0 0;flex:0 0 16px;accent-color:#0055DD;cursor:pointer}
    #registrationScreen .registration-terms span{min-width:0}
    #registrationScreen .registration-terms strong{color:#0055DD;font-weight:800}
#registrationScreen .registration-legal-link{color:#0055DD;font-weight:800;text-decoration:underline;text-underline-offset:2px}
#registrationScreen .registration-legal-link:hover{color:#004BC4}
    #registrationScreen .registration-terms:focus-within{border-radius:6px;box-shadow:0 0 0 3px rgba(0,85,221,.10)}
    @media(max-height:760px) and (min-width:621px){
      #registrationScreen{padding:14px}
      #registrationScreen .registration-card{min-height:0;max-height:calc(100dvh - 28px);padding:22px 30px 20px}
      #registrationScreen .registration-brand{margin-bottom:12px}
      #registrationScreen .registration-rocket-lockup{margin-bottom:8px}
      #registrationScreen .registration-rocket-icon{width:48px;height:48px}
      #registrationScreen .registration-rocket-name{font-size:24px}
      #registrationScreen .registration-brand h1{font-size:26px;margin-top:5px}
      #registrationScreen .registration-step{margin-bottom:10px}
      #registrationScreen .field{margin-bottom:10px}
      #registrationScreen .input{min-height:40px}
      #registrationScreen .registration-actions{margin-top:12px}
    }
    @media(max-width:620px){
      #registrationScreen{padding:16px}
      #registrationScreen .registration-card{min-height:0;max-height:calc(100dvh - 32px);padding:24px 20px 22px;border-radius:18px}
      #registrationScreen .registration-rocket-icon{width:50px;height:50px}
      #registrationScreen .registration-rocket-name{font-size:24px}
      #registrationScreen .registration-brand h1{font-size:27px}
      #registrationScreen .registration-actions{flex-direction:column-reverse}
      #registrationScreen .registration-actions .button{width:100%}
    }
    .onboarding-card{width:min(620px,100%);padding:30px}.onboarding-brand{text-align:center;margin-bottom:22px}.onboarding-brand h1{margin:14px 0 7px}.onboarding-brand p{margin:0;color:var(--muted);line-height:1.5}.account-type-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:4px 0 18px}.account-type-option{position:relative;display:block;cursor:pointer}.account-type-option input{position:absolute;opacity:0;pointer-events:none}.account-type-card{display:block;min-height:104px;padding:16px;border:1px solid var(--line);border-radius:8px;background:var(--surface);transition:border-color .15s,box-shadow .15s,background .15s}.account-type-card strong{display:block;margin-bottom:6px;color:var(--ink);font-size:14px}.account-type-card span{display:block;color:var(--muted);font-size:12px;line-height:1.45}.account-type-option input:checked+.account-type-card{border-color:var(--gold);background:rgba(174,138,71,.08);box-shadow:0 0 0 2px rgba(174,138,71,.16)}.onboarding-role-note{margin:-3px 0 16px;padding:10px 12px;border-radius:6px;background:var(--surface-hover);color:var(--muted);font-size:12px;line-height:1.45}.onboarding-role-note strong{color:var(--ink)}.onboarding-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.onboarding-message{min-height:20px;margin-top:14px;color:var(--muted);font-size:12px;line-height:1.45}.onboarding-message[data-kind="error"]{color:var(--red)}.onboarding-message[data-kind="success"]{color:var(--green)}#onboardingSubmit,#registrationSubmit{border-color:var(--gold-dark);background:var(--gold);color:#fff}#onboardingSubmit:hover,#registrationSubmit:hover{filter:brightness(.96)}#onboardingSubmit:focus-visible,#registrationSubmit:focus-visible{outline:0;box-shadow:0 0 0 3px rgba(174,138,71,.28)}
    @media(max-width:620px){.account-type-grid{grid-template-columns:1fr}.onboarding-card{padding:22px}.onboarding-actions{flex-direction:column-reverse}.onboarding-actions .button{width:100%}}


    /* ROCKET · Crear cuenta · Paso 2 · modo claro */
    #onboardingScreen{
      display:grid;place-items:center;width:100%;height:100dvh;min-height:100dvh;padding:22px;overflow:hidden;
      background:
        radial-gradient(circle at 12% 14%,rgba(0,85,221,.12),transparent 28%),
        radial-gradient(circle at 88% 10%,rgba(0,85,221,.10),transparent 22%),
        linear-gradient(180deg,#F8FBFF 0%,#EEF4FF 52%,#FFFFFF 100%);
    }
    #onboardingScreen .onboarding-card{
      position:relative;width:min(460px,100%);min-height:656px;max-height:calc(100dvh - 44px);padding:28px 34px 26px;
      border:1px solid rgba(0,85,221,.16);border-radius:22px;background:rgba(255,255,255,.97);
      box-shadow:0 20px 55px rgba(0,85,221,.12),0 4px 14px rgba(15,23,42,.05);overflow:hidden;
    }
    #onboardingScreen .onboarding-card::before{
      content:"";position:absolute;inset:0 0 auto;height:5px;background:linear-gradient(90deg,#0055DD 0%,#3E86FF 100%);
    }
    #onboardingScreen .onboarding-brand{text-align:center;margin-bottom:17px}
    #onboardingScreen .onboarding-rocket-lockup{display:inline-flex;align-items:center;gap:12px;margin:0 auto 12px;text-align:left}
    #onboardingScreen .onboarding-rocket-icon{width:56px;height:56px;object-fit:contain;flex:0 0 auto}
    #onboardingScreen .onboarding-rocket-copy{min-width:0}
    #onboardingScreen .onboarding-rocket-name-row{display:flex;align-items:baseline;gap:7px}
    #onboardingScreen .onboarding-rocket-name{color:#0055DD;font-size:27px;font-weight:900;line-height:1;letter-spacing:1px}
    #onboardingScreen .onboarding-rocket-product{color:#4A5F7A;font-size:17px;font-weight:800;line-height:1;letter-spacing:.4px}
    #onboardingScreen .onboarding-rocket-slogan{margin:5px 0 0;color:#6B7A90;font-size:12px;line-height:1.35}
    #onboardingScreen .onboarding-brand h1{margin:8px 0 5px;color:#12233D;font-size:29px;line-height:1.14}
    #onboardingScreen .onboarding-brand>p{margin:0;color:#64748B;font-size:14px;line-height:1.45}
    #onboardingScreen .registration-step{
      min-height:27px;margin:0 0 14px;padding:0 11px;border-radius:999px;background:#EAF1FF;color:#0055DD;
      font-size:11px;font-weight:800;letter-spacing:.4px;
    }
    #onboardingScreen .field{gap:7px;margin-bottom:13px}
    #onboardingScreen .field label{color:#0F172A;font-size:13px;font-weight:700}
    #onboardingScreen :is(.input,.select){
      min-height:43px;padding:9px 12px;border:1px solid #C7D7F1;border-radius:10px;background:#FFFFFF;color:#12233D;
    }
    #onboardingScreen :is(.input,.select):hover{border-color:#ABC5EE}
    #onboardingScreen :is(.input,.select):focus{border-color:#0055DD;box-shadow:0 0 0 3px rgba(0,85,221,.13)}
    #onboardingScreen .account-type-grid{grid-template-columns:1fr 1fr;gap:10px;margin:2px 0 14px}
    #onboardingScreen .account-type-card{
      min-height:102px;padding:13px;border:1px solid #C7D7F1;border-radius:11px;background:#FFFFFF;
      transition:border-color .15s,box-shadow .15s,background .15s,transform .15s;
    }
    #onboardingScreen .account-type-card strong{margin-bottom:5px;color:#12233D;font-size:13px;line-height:1.3}
    #onboardingScreen .account-type-card span{color:#64748B;font-size:11px;line-height:1.4}
    #onboardingScreen .account-type-option:hover .account-type-card{border-color:#ABC5EE;background:#F8FBFF}
    #onboardingScreen .account-type-option input:checked+.account-type-card{
      border-color:#0055DD;background:#EAF1FF;box-shadow:0 0 0 2px rgba(0,85,221,.13);
    }
    #onboardingScreen .account-type-option input:focus-visible+.account-type-card{outline:0;box-shadow:0 0 0 3px rgba(0,85,221,.16)}
    #onboardingScreen .account-type-option input:checked+.account-type-card strong{color:#0055DD}
    #onboardingScreen .onboarding-role-note{
      margin:-1px 0 0;padding:9px 11px;border:1px solid rgba(0,85,221,.13);border-radius:9px;background:#F3F7FF;
      color:#64748B;font-size:11px;line-height:1.4;
    }
    #onboardingScreen .onboarding-role-note strong{color:#0055DD}
    #onboardingScreen .onboarding-actions{justify-content:flex-end;gap:10px;margin-top:16px}
    #onboardingScreen #onboardingCancel,#onboardingScreen #onboardingSubmit{min-height:42px;border-radius:9px}
    #onboardingScreen #onboardingCancel{border-color:#0055DD;background:#FFFFFF;color:#0055DD}
    #onboardingScreen #onboardingCancel:hover:not(:disabled){background:#EAF1FF;border-color:#0048BE;color:#0048BE}
    #onboardingScreen #onboardingSubmit{border-color:#0048BE;background:#0055DD;color:#FFFFFF;box-shadow:0 8px 18px rgba(0,85,221,.14)}
    #onboardingScreen #onboardingSubmit:hover:not(:disabled){background:#004BC4;border-color:#003EA5}
    #onboardingScreen :is(#onboardingCancel,#onboardingSubmit):focus-visible{outline:0;box-shadow:0 0 0 3px rgba(0,85,221,.16)}
    #onboardingScreen .onboarding-message{min-height:18px;margin-top:10px;font-size:12px}

    /* Organización agrega campos, pero la cabecera ROCKET permanece totalmente estable. */
    #onboardingScreen .onboarding-card:has(#onboardingOrganization:checked) .registration-step{min-height:24px;margin-bottom:8px}
    #onboardingScreen .onboarding-card:has(#onboardingOrganization:checked) .field{margin-bottom:8px}
    #onboardingScreen .onboarding-card:has(#onboardingOrganization:checked) :is(.input,.select){min-height:38px;padding-top:6px;padding-bottom:6px}
    #onboardingScreen .onboarding-card:has(#onboardingOrganization:checked) .account-type-grid{margin-bottom:8px}
    #onboardingScreen .onboarding-card:has(#onboardingOrganization:checked) .account-type-card{min-height:78px;padding:9px 11px}
    #onboardingScreen .onboarding-card:has(#onboardingOrganization:checked) .account-type-card strong{margin-bottom:3px}
    #onboardingScreen .onboarding-card:has(#onboardingOrganization:checked) .account-type-card span{font-size:10px;line-height:1.28}
    #onboardingScreen .onboarding-card:has(#onboardingOrganization:checked) .onboarding-role-note{padding:6px 10px;font-size:10px;line-height:1.32}
    #onboardingScreen .onboarding-card:has(#onboardingOrganization:checked) .onboarding-actions{margin-top:8px}
    #onboardingScreen .onboarding-card:has(#onboardingOrganization:checked) .onboarding-message{margin-top:5px}

    @media(max-height:760px) and (min-width:621px){
      #onboardingScreen{padding:14px}
      #onboardingScreen .onboarding-card{min-height:0;max-height:calc(100dvh - 28px);padding:20px 30px 18px}
      #onboardingScreen .onboarding-brand{margin-bottom:10px}
      #onboardingScreen .onboarding-rocket-lockup{margin-bottom:7px}
      #onboardingScreen .onboarding-rocket-icon{width:48px;height:48px}
      #onboardingScreen .onboarding-rocket-name{font-size:24px}
      #onboardingScreen .onboarding-rocket-product{font-size:15px}
      #onboardingScreen .onboarding-rocket-slogan{font-size:11px;margin-top:4px}
      #onboardingScreen .onboarding-brand h1{font-size:26px;margin:5px 0 3px}
      #onboardingScreen .onboarding-brand>p{font-size:12px}
      #onboardingScreen .registration-step{margin-bottom:9px}
      #onboardingScreen .field{margin-bottom:9px}
      #onboardingScreen :is(.input,.select){min-height:39px}
      #onboardingScreen .account-type-grid{margin-bottom:10px}
      #onboardingScreen .account-type-card{min-height:84px;padding:10px 11px}
      #onboardingScreen .account-type-card span{font-size:10px;line-height:1.32}
      #onboardingScreen .onboarding-role-note{padding:7px 10px;font-size:10px}
      #onboardingScreen .onboarding-actions{margin-top:10px}
    }
    @media(max-width:620px){
      #onboardingScreen{height:auto;min-height:100dvh;padding:16px;overflow:auto}
      #onboardingScreen .onboarding-card{min-height:0;max-height:none;padding:24px 20px 22px;border-radius:18px;overflow:visible}
      #onboardingScreen .onboarding-rocket-icon{width:50px;height:50px}
      #onboardingScreen .onboarding-rocket-name{font-size:24px}
      #onboardingScreen .onboarding-rocket-product{font-size:15px}
      #onboardingScreen .onboarding-brand h1{font-size:27px}
      #onboardingScreen .account-type-grid{grid-template-columns:1fr}
      #onboardingScreen .account-type-card{min-height:auto}
      #onboardingScreen .onboarding-actions{flex-direction:column-reverse}
      #onboardingScreen .onboarding-actions .button{width:100%}
    }
    .button {
      min-height: 38px; padding: 0 16px; border: 1px solid var(--line); border-radius: 4px;
      background: var(--surface); color: var(--ink); font-weight: 700;
    }
    .button-primary { border-color: var(--blue-dark); background: var(--blue); color: #f5f5f5; }
    .button-link { border-color: transparent; background: transparent; }
    .auth-message { min-height: 20px; margin-top: 13px; color: var(--muted); font-size: 13px; line-height: 1.4; }
    .auth-message[data-kind="error"] { color: var(--red); }
    .auth-message[data-kind="success"] { color: var(--green); }
    

    /* ROCKET · Login claro */
    #authScreen {
      display:grid; place-items:center; width:100%; height:100dvh; min-height:100dvh; padding:22px; overflow:hidden;
      background:
        radial-gradient(circle at 12% 14%, rgba(0,85,221,.12), transparent 28%),
        radial-gradient(circle at 88% 10%, rgba(0,85,221,.10), transparent 22%),
        linear-gradient(180deg, #F8FBFF 0%, #EEF4FF 52%, #FFFFFF 100%);
    }
    #authScreen .auth-card {
      position:relative; width:min(460px, 100%); max-height:calc(100dvh - 44px); padding:28px 34px 26px;
      border:1px solid rgba(0,85,221,.16); border-radius:22px;
      background:rgba(255,255,255,.97);
      box-shadow:0 20px 55px rgba(0,85,221,.12), 0 4px 14px rgba(15,23,42,.05);
      overflow:hidden;
    }
    #authScreen .auth-card::before {
      content:""; position:absolute; inset:0 0 auto 0; height:5px;
      background:linear-gradient(90deg, #0055DD 0%, #3E86FF 100%);
    }
    #authScreen .auth-brand { margin-bottom:22px; text-align:center; }
    #authScreen .auth-rocket-lockup { display:inline-flex; align-items:center; justify-content:center; gap:14px; margin:0 auto 12px; text-align:left; }
    #authScreen .auth-rocket-icon { width:64px; height:64px; object-fit:contain; flex:0 0 auto; }
    #authScreen .auth-rocket-copy { min-width:0; }
    #authScreen .auth-rocket-name-row { display:flex; align-items:baseline; gap:8px; flex-wrap:wrap; }
    #authScreen .auth-rocket-name { font-size:29px; font-weight:900; line-height:1; letter-spacing:1px; color:#0055DD; }
    #authScreen .auth-rocket-product { font-size:18px; font-weight:800; line-height:1; letter-spacing:.45px; color:#4A5F7A; }
    #authScreen .auth-rocket-slogan { margin:6px 0 0; color:#6B7A90; font-size:13px; line-height:1.4; }
    #authScreen .auth-brand h1 { margin:10px 0 5px; font-size:33px; line-height:1.12; color:#12233D; }
    #authScreen .auth-brand p { margin:0; color:#64748B; font-size:14px; line-height:1.5; }
    #authScreen .auth-brand > h1, #authScreen .auth-brand > p { text-align:center; }
    #authScreen .field { gap:8px; margin-bottom:14px; }
    #authScreen .field label { color:#0F172A; }
    #authScreen .input { min-height:44px; padding:10px 12px; border:1px solid #C7D7F1; border-radius:10px; background:#FFFFFF; color:#12233D; }
    #authScreen .input:hover { border-color:#ABC5EE; }
    #authScreen .input:focus { border-color:#0055DD; box-shadow:0 0 0 3px rgba(0,85,221,.13); }
    #authScreen .password-control .input { padding-right:46px; }
    #authScreen .password-toggle { color:#6B7A90; border-radius:8px; }
    #authScreen .password-toggle:hover { background:#EAF1FF; color:#0055DD; }
    #authScreen .password-toggle:focus-visible { box-shadow:0 0 0 3px rgba(0,85,221,.16); }
    #authScreen .auth-remember { margin:-1px 0 3px; color:#44556C; }
    #authScreen .auth-remember input { accent-color:#0055DD; }
    #authScreen .auth-password-hint { margin:2px 0 0 24px; color:#6B7A90; font-size:11px; }
    #authScreen .auth-actions { gap:9px; margin-top:18px; }
    #authScreen #authSubmit {
      min-height:46px; border-color:#0048BE; border-radius:10px; background:#0055DD; color:#FFFFFF;
      box-shadow:0 10px 22px rgba(0,85,221,.16);
    }
    #authScreen #authSubmit:hover:not(:disabled) { background:#004BC4; border-color:#003EA5; }
    #authScreen #authSubmit:focus-visible { outline:0; box-shadow:0 0 0 3px rgba(0,85,221,.18), 0 10px 22px rgba(0,85,221,.16); }
    #authScreen #authRecover { min-height:auto; padding:0; color:#0055DD; font-weight:700; }
    #authScreen #authRecover:disabled { color:#8FA8CC; opacity:1; }
    #authScreen .auth-divider { margin:17px 0 14px; color:#8AA1C2; }
    #authScreen .auth-divider::before, #authScreen .auth-divider::after { background:rgba(0,85,221,.18); }
    #authScreen .google-auth-button { min-height:46px; border-radius:10px; border-color:#D7E0F0; box-shadow:0 2px 6px rgba(15,23,42,.04); }
    #authScreen .google-auth-button:hover { background:#F8FBFF; border-color:#BFD0EA; box-shadow:0 4px 12px rgba(0,85,221,.08); }
    #authScreen .google-auth-button:focus-visible { box-shadow:0 0 0 3px rgba(0,85,221,.13); }
    #authScreen .auth-register-prompt { margin:14px 0 6px !important; color:#64748B !important; }
    #authScreen .auth-register-link { color:#0055DD; }
    #authScreen .auth-message{
  min-height: 16px;
  margin-top: 3px;
  font-size: 11px;
  line-height: 1.24;
  text-align: center;
}
    @media(max-width:520px) {
      #authScreen { padding:16px; }
      #authScreen .auth-card { max-height:calc(100dvh - 32px); padding:24px 22px 22px; border-radius:18px; }
      #authScreen .auth-rocket-name { font-size:26px; }
      #authScreen .auth-brand h1 { font-size:29px; }
      #authScreen .auth-rocket-icon { width:58px; height:58px; }
    }
    @media(max-height:760px) and (min-width:521px) {
      #authScreen { padding:14px 22px; }
      #authScreen .auth-card { max-height:calc(100dvh - 28px); padding:22px 32px 20px; }
      #authScreen .auth-rocket-icon { width:56px; height:56px; }
      #authScreen .auth-rocket-lockup { margin-bottom:8px; }
      #authScreen .auth-rocket-slogan { margin-top:4px; }
      #authScreen .auth-brand { margin-bottom:16px; }
      #authScreen .auth-brand h1 { margin-top:6px; font-size:29px; }
      #authScreen .field { margin-bottom:11px; }
      #authScreen .auth-actions { margin-top:14px; }
      #authScreen .auth-divider { margin:12px 0 10px; }
      #authScreen .google-auth-button, #authScreen #authSubmit { min-height:42px; }
      #authScreen .auth-register-prompt { margin:10px 0 4px !important; }
      #authScreen .auth-message { min-height:12px; margin-top:2px; }
    }

    /* ROCKET · Acceso público espejo · Login + Crear cuenta */
    #authScreen,
    #registrationScreen{
      display:grid;
      place-items:center;
      width:100%;
      height:100dvh;
      min-height:100dvh;
      padding:22px;
      overflow:hidden;
    }
    @media(min-width:621px) and (min-height:761px){
      #authScreen .auth-card,
      #registrationScreen .registration-card{
        box-sizing:border-box;
        width:min(460px,100%);
        height:656px;
        min-height:656px;
        max-height:656px;
        padding:28px 34px 26px;
        border-radius:22px;
      }
    }
    #authScreen .auth-brand,
    #registrationScreen .registration-brand{
      margin-bottom:17px;
      text-align:center;
    }
    #authScreen .auth-rocket-lockup,
    #registrationScreen .registration-rocket-lockup{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap:12px;
      margin:0 auto 12px;
      text-align:left;
    }
    #authScreen .auth-rocket-icon,
    #registrationScreen .registration-rocket-icon{
      width:56px;
      height:56px;
      object-fit:contain;
      flex:0 0 auto;
    }
    #authScreen .auth-rocket-copy,
    #registrationScreen .registration-rocket-copy{min-width:0}
    #authScreen .auth-rocket-name-row,
    #registrationScreen .registration-rocket-name-row{
      display:flex;
      align-items:baseline;
      gap:7px;
      flex-wrap:nowrap;
    }
    #authScreen .auth-rocket-name,
    #registrationScreen .registration-rocket-name{
      color:#0055DD;
      font-size:27px;
      font-weight:900;
      line-height:1;
      letter-spacing:1px;
    }
    #authScreen .auth-rocket-product,
    #registrationScreen .registration-rocket-product{
      color:#4A5F7A;
      font-size:17px;
      font-weight:800;
      line-height:1;
      letter-spacing:.4px;
    }
    #authScreen .auth-rocket-slogan,
    #registrationScreen .registration-rocket-slogan{
      margin:5px 0 0;
      color:#6B7A90;
      font-size:12px;
      line-height:1.35;
    }
    /* El slogan del login debe vencer la regla genérica .auth-brand p y espejar Crear cuenta. */
    #authScreen .auth-brand .auth-rocket-slogan{
      margin:5px 0 0;
      color:#6B7A90;
      font-size:12px;
      line-height:1.35;
    }
    #authScreen .auth-brand h1,
    #registrationScreen .registration-brand h1{
      margin:8px 0 5px;
      color:#12233D;
      font-size:29px;
      line-height:1.14;
      text-align:center;
    }
    #authScreen .auth-brand>p,
    #registrationScreen .registration-brand>p{
      margin:0;
      color:#64748B;
      font-size:14px;
      line-height:1.45;
      text-align:center;
    }
    @media(max-height:760px) and (min-width:621px){
      #authScreen,
      #registrationScreen{padding:14px 22px}
      #authScreen .auth-card,
      #registrationScreen .registration-card{
        box-sizing:border-box;
        width:min(460px,100%);
        height:calc(100dvh - 28px);
        min-height:0;
        max-height:calc(100dvh - 28px);
        padding:22px 30px 20px;
        border-radius:22px;
      }
      #authScreen .auth-rocket-icon,
      #registrationScreen .registration-rocket-icon{width:48px;height:48px}
      #authScreen .auth-rocket-name,
      #registrationScreen .registration-rocket-name{font-size:24px}
      #authScreen .auth-rocket-product,
      #registrationScreen .registration-rocket-product{font-size:15px}
      #authScreen .auth-rocket-slogan,
      #registrationScreen .registration-rocket-slogan{font-size:11px;margin-top:4px}
      #authScreen .auth-rocket-lockup,
      #registrationScreen .registration-rocket-lockup{gap:10px;margin-bottom:8px}
      #authScreen .auth-brand,
      #registrationScreen .registration-brand{margin-bottom:12px}
      #authScreen .auth-brand h1,
      #registrationScreen .registration-brand h1{font-size:26px;margin:5px 0 4px}
    }
    @media(max-width:620px){
      #authScreen,
      #registrationScreen{padding:16px}
      #authScreen .auth-card,
      #registrationScreen .registration-card{
        box-sizing:border-box;
        width:100%;
        max-height:calc(100dvh - 32px);
        padding:24px 20px 22px;
        border-radius:18px;
      }
      #authScreen .auth-rocket-icon,
      #registrationScreen .registration-rocket-icon{width:50px;height:50px}
      #authScreen .auth-rocket-name,
      #registrationScreen .registration-rocket-name{font-size:24px}
      #authScreen .auth-rocket-product,
      #registrationScreen .registration-rocket-product{font-size:15px}
      #authScreen .auth-rocket-slogan,
      #registrationScreen .registration-rocket-slogan{font-size:11px}
      #authScreen .auth-rocket-lockup,
      #registrationScreen .registration-rocket-lockup{gap:10px;margin-bottom:9px}
      #authScreen .auth-brand h1,
      #registrationScreen .registration-brand h1{font-size:27px}
    }

    /* ROCKET · Restablecer / crear contraseña */
    #passwordResetScreen{
      display:grid;place-items:center;width:100%;height:100dvh;min-height:100dvh;padding:22px;overflow:hidden;
      background:radial-gradient(circle at 12% 14%,rgba(0,85,221,.12),transparent 28%),radial-gradient(circle at 88% 10%,rgba(0,85,221,.10),transparent 22%),linear-gradient(180deg,#F8FBFF 0%,#EEF4FF 52%,#FFFFFF 100%);
    }
    #passwordResetScreen .auth-card{
      position:relative;box-sizing:border-box;width:min(460px,100%);padding:30px 34px 28px;border:1px solid rgba(0,85,221,.16);border-radius:22px;background:rgba(255,255,255,.97);box-shadow:0 20px 55px rgba(0,85,221,.12),0 4px 14px rgba(15,23,42,.05);overflow:hidden;
    }
    #passwordResetScreen .auth-card::before{content:"";position:absolute;inset:0 0 auto;height:5px;background:linear-gradient(90deg,#0055DD 0%,#3E86FF 100%)}
    #passwordResetScreen .password-reset-brand{text-align:center;margin-bottom:22px}
    #passwordResetScreen .password-reset-rocket-lockup{display:inline-flex;align-items:center;justify-content:center;gap:12px;margin:0 auto 12px;text-align:left}
    #passwordResetScreen .password-reset-rocket-icon{width:56px;height:56px;object-fit:contain;flex:0 0 auto}
    #passwordResetScreen .password-reset-rocket-copy{min-width:0}
    #passwordResetScreen .password-reset-rocket-name-row{display:flex;align-items:baseline;gap:7px;flex-wrap:nowrap}
    #passwordResetScreen .password-reset-rocket-name{color:#0055DD;font-size:27px;font-weight:900;line-height:1;letter-spacing:1px}
    #passwordResetScreen .password-reset-rocket-product{color:#4A5F7A;font-size:17px;font-weight:800;line-height:1;letter-spacing:.4px}
    #passwordResetScreen .password-reset-rocket-slogan{margin:5px 0 0;color:#6B7A90;font-size:12px;line-height:1.35}
    #passwordResetScreen .password-reset-brand h1{margin:8px 0 5px;color:#12233D;font-size:29px;line-height:1.14;text-align:center}
    #passwordResetScreen .password-reset-brand>p{margin:0;color:#64748B;font-size:14px;line-height:1.45;text-align:center}
    #passwordResetScreen .field{gap:8px;margin-bottom:14px}
    #passwordResetScreen .field label{color:#0F172A}
    #passwordResetScreen .input{min-height:44px;padding:10px 12px;border:1px solid #C7D7F1;border-radius:10px;background:#FFF;color:#12233D}
    #passwordResetScreen .input:hover{border-color:#ABC5EE}
    #passwordResetScreen .input:focus{border-color:#0055DD;box-shadow:0 0 0 3px rgba(0,85,221,.13)}
    #passwordResetScreen .auth-actions{margin-top:18px}
    #passwordResetScreen #passwordResetSubmit{width:100%;min-height:46px;border-color:#0048BE;border-radius:10px;background:#0055DD;color:#FFF;box-shadow:0 10px 22px rgba(0,85,221,.16)}
    #passwordResetScreen #passwordResetSubmit:hover:not(:disabled){background:#004BC4;border-color:#003EA5}
    #passwordResetScreen #passwordResetSubmit:focus-visible{outline:0;box-shadow:0 0 0 3px rgba(0,85,221,.18),0 10px 22px rgba(0,85,221,.16)}
    #passwordResetScreen .auth-message{min-height:16px;margin-top:4px;font-size:12px;text-align:left}
    @media(max-width:620px){
      #passwordResetScreen{padding:16px}
      #passwordResetScreen .auth-card{width:100%;max-height:calc(100dvh - 32px);padding:24px 20px 22px;border-radius:18px}
      #passwordResetScreen .password-reset-rocket-icon{width:50px;height:50px}
      #passwordResetScreen .password-reset-rocket-name{font-size:24px}
      #passwordResetScreen .password-reset-rocket-product{font-size:15px}
      #passwordResetScreen .password-reset-rocket-slogan{font-size:11px}
      #passwordResetScreen .password-reset-brand h1{font-size:27px}
    }
    @media(max-height:650px) and (min-width:621px){
      #passwordResetScreen{padding:14px 22px}
      #passwordResetScreen .auth-card{max-height:calc(100dvh - 28px);padding:22px 30px 20px}
      #passwordResetScreen .password-reset-brand{margin-bottom:14px}
      #passwordResetScreen .password-reset-rocket-icon{width:48px;height:48px}
      #passwordResetScreen .password-reset-rocket-name{font-size:24px}
      #passwordResetScreen .password-reset-brand h1{font-size:26px;margin-top:5px}
      #passwordResetScreen .field{margin-bottom:10px}
    }

    .app-shell { min-height: 100vh; background: var(--page); }

    /* SIDEBAR */
    .sidebar {
      position: fixed; inset: 0 auto 0 0; z-index: 90; display: flex;
      width: var(--sidebar-width); height: 100vh; flex-direction: column;
      border-right: .8px solid var(--line); background: var(--surface); overflow: hidden;
    }
    .sidebar-header {
      display: flex; align-items: center; justify-content: space-between;
      flex: 0 0 64px; height: 64px; padding: 12px 8px;
    }
    .sidebar-logo { display: flex; align-items: center; gap: 7px; width: 124px; height: 40px; min-width: 0; text-decoration: none; color: var(--ink); }
    .sidebar-brand-icon { display: block; width: 40px; height: 40px; flex: 0 0 40px; object-fit: contain; }
    .sidebar-brand-copy { display: flex; min-width: 0; flex-direction: column; justify-content: center; line-height: 1; }
    .sidebar-brand-name { font-size: 13px; font-weight: 850; letter-spacing: .8px; color: var(--ink); }
    .sidebar-brand-product { margin-top: 4px; font-size: 10px; font-weight: 750; letter-spacing: .65px; color: var(--muted); }
    .sidebar-brand-product-row { display: flex; align-items: baseline; gap: 5px; margin-top: 4px; min-width: 0; }
    .sidebar-brand-product-row .sidebar-brand-product { margin-top: 0; }
    .sidebar-brand-version { color: var(--muted); font-size: 10px; font-weight: 750; letter-spacing: .65px; white-space: nowrap; }
    .sidebar-toggle, .icon-button {
      display: inline-grid; place-items: center; width: 40px; min-width: 40px; height: 40px;
      padding: 10px; border: 0; border-radius: 4px; background: transparent; color: var(--ink);
    }
    .sidebar-toggle:hover, .nav-link:hover, .profile-button:hover, .icon-button:hover, .quick-link:hover { background: var(--surface-hover); }
    .sidebar-toggle svg, .nav-icon { width: 20px; height: 20px; flex: 0 0 20px; }
    .sidebar-divider { flex: 0 0 1px; height: 1px; margin: 0 12px; border: 0; background: var(--line); }
    .sidebar-main { min-height: 0; flex: 1 1 auto; overflow-x: hidden; overflow-y: auto; scrollbar-width: none; }
    .sidebar-main::-webkit-scrollbar { width: 0; height: 0; }
    .nav-list { display: flex; flex-direction: column; margin: 0; padding: 16px 4px; list-style: none; }
    .nav-list.compact-top { padding-bottom: 0; }
    #brokerNav { padding-top: 0; }
    .nav-list.pinned-list {
      display: flex; flex-direction: column; margin: 0 4px; padding: 0;
    }
    .pinned-list .nav-item { width: 100%; height: 36px; }
    .pinned-list .nav-link {
      width: 100%; height: 36px; padding: 6px 14px;
      font-size: 14px; line-height: 18px; text-decoration: none !important;
    }
    .pinned-list a.nav-link,
    .pinned-list a.nav-link:link,
    .pinned-list a.nav-link:visited,
    .pinned-list a.nav-link:hover,
    .pinned-list a.nav-link:active { text-decoration: none !important; }
    .pinned-list .nav-label { display: block; margin-left: 8px; font-size: 14px; line-height: 18px; text-decoration: none; }
    .pinned-list .nav-icon { width: 20px; height: 20px; }
    .nav-item { min-width: 0; }
    .nav-link {
      display: flex; align-items: center; width: 100%; height: 36px; padding: 6px 14px;
      border: 0; border-radius: 4px; background: transparent; color: var(--ink);
      font-family: var(--font-ui); font-size: 15px; font-weight: 400; line-height: 20px;
      text-align: left; white-space: nowrap;
    }
    .nav-link[aria-current="page"] { background: var(--blue-soft); color: var(--blue-ink); font-weight: 700; }
    .nav-label { min-width: 0; margin-left: 8px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .nav-chevron { width: 20px; height: 20px; margin-left: auto; transition: transform .16s ease; }
    .nav-link[aria-expanded="true"] .nav-chevron { transform: rotate(90deg); }
    .sidebar-section-title {
      display: inline-block; margin: 12px 0 4px; padding: 0 12px;
      color: var(--muted); font-size: 13px; font-weight: 400; line-height: 15px;
    }
    .message-trays-divider { display: none; }
    .sidebar-lower { position: relative; flex: 0 0 auto; background: var(--surface); }
    .sidebar-lower::before {
      content: ""; position: absolute; z-index: 1; left: 0; right: 0; top: -10px;
      height: 10px; pointer-events: none;
      background: linear-gradient(0deg, rgba(0,0,0,.05), rgba(255,255,255,0) 99.99%);
    }
    .lower-nav { display: flex; flex-direction: column; margin: 0; padding: 16px 4px; list-style: none; }
    .lower-nav > li { min-width: 0; }
    /* AYUDA: flyout lateral tipo Kommo */
    .help-submenu {
      position: fixed; z-index: 185; display: flex; flex-direction: column;
      width: 214px; max-height: calc(100vh - var(--sidebar-flyout-gap) - var(--sidebar-flyout-gap));
      margin: 0; padding: 8px; overflow-x: hidden; overflow-y: auto;
      border: 1px solid var(--line); border-radius: 6px;
      background: var(--surface); box-shadow: 0 14px 30px rgba(0,0,0,.16);
      list-style: none;
    }
    .help-submenu::before {
      content: "Ayuda"; display: block; padding: 4px 10px 8px;
      color: var(--ink); font-size: 15px; font-weight: 700; line-height: 20px;
    }
    .help-submenu .nav-link {
      width: 100% !important; height: 36px; padding: 6px 10px !important;
      border-radius: 4px; font-size: 14px; line-height: 18px;
    }
    .help-submenu .nav-label {
      display: block !important; margin-left: 8px; font-size: 14px; line-height: 18px;
    }
    .help-submenu-spacer { display: none; }
    .broker-submenu { display:flex;flex-direction:column;width:auto;max-height:none;margin:2px 0 4px;padding:0 4px 0 36px;overflow:visible;border:0;border-radius:0;background:transparent;box-shadow:none;list-style:none; }
    .broker-submenu[hidden] { display: none; }
    .broker-submenu::before { content:none; }
    .broker-submenu .nav-link { width:100%;height:34px;padding:6px 10px;border-radius:4px;font-size:13px;line-height:18px; }
    .broker-submenu .nav-link::before { content: none; }
    .broker-submenu .nav-icon { width:18px;height:18px;flex:0 0 18px; }
    .broker-submenu .nav-label { display:block;margin-left:8px;font-size:13px;line-height:18px; }
    .broker-submenu .nav-link[aria-current="page"] .nav-icon { color: #ae8a47; }
    /* ASESORES · consolidado V3.298 */
    #advisorsView{display:flex;height:calc(100vh - 80px);min-height:0;flex-direction:column;overflow:hidden;background:var(--workspace-canvas)}
    .advisors-panel{display:flex;min-height:0;flex:1 1 auto;flex-direction:column;overflow:hidden;background:var(--surface)}
    .advisor-header-filter{width:148px;height:34px;padding:0 28px 0 10px;border:1px solid var(--line);border-radius:5px;background-color:var(--surface);color:var(--ink);font:600 12px var(--font-ui)}
    .advisor-header-filter:focus{outline:0;border-color:var(--gold);box-shadow:0 0 0 2px rgba(174,138,71,.14)}
    .advisors-summary{display:flex;align-items:center;gap:14px;min-height:34px;padding:0 15px;border-bottom:1px solid var(--line);background:var(--surface);flex:0 0 auto}
    .advisor-stat{display:inline-flex;align-items:baseline;gap:4px;color:var(--muted);font-size:11px;white-space:nowrap}
    .advisor-stat strong{color:var(--ink);font-size:13px}
    .advisors-table-wrap{min-height:0;flex:1 1 auto;overflow:auto;padding-left:15px;background:var(--workspace-canvas);scrollbar-width:thin}
    .advisors-table{width:calc(100% - 15px);min-width:0;border-collapse:collapse;table-layout:fixed;background:var(--surface);color:var(--ink)}
    .advisors-table th,.advisors-table td{height:39px;padding:0 7px;overflow:hidden;border-bottom:1px solid var(--line);text-align:left;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle}
    .advisors-table th{position:sticky;z-index:12;top:0;height:42px;border-right:1px solid var(--line);border-bottom:2px solid var(--line);background:var(--surface);color:var(--muted);font-size:12px;font-weight:700;line-height:18px;letter-spacing:.55px;text-transform:uppercase;box-shadow:none}
    .advisors-table th:last-child{border-right:0}
    .advisors-table td{font-size:13px;font-weight:400}
    .advisors-table td.advisor-muted{color:var(--ink)}
    .advisors-table tbody tr{cursor:pointer;background:var(--surface)}
    .advisors-table tbody tr:hover{background:var(--surface-hover);box-shadow:inset 3px 0 0 var(--gold)}
    .advisors-table tr[data-selected="true"]{background:var(--selection-row)}
    .advisor-name{font-weight:650;color:var(--ink)}
    .advisor-muted{color:var(--blue-ink)}
    .advisor-category,.advisor-status{display:inline-flex;align-items:center;min-height:23px;padding:0 8px;border-radius:5px;font-size:12px;font-weight:700}
    .advisor-category{background:#f1eadc;color:#806426}
    .advisor-category[data-category="gold"]{border:1px solid rgba(174,138,71,.48);background:rgba(174,138,71,.15);color:#d1ad60}
    .advisor-category[data-category="silver"]{border:1px solid rgba(155,166,180,.48);background:rgba(155,166,180,.16);color:#c8d0da}
    .advisor-category[data-category="bronce-ii"]{border:1px solid rgba(193,116,57,.52);background:rgba(193,116,57,.17);color:#dc8d50}
    .advisor-category[data-category="bronce"]{border:1px solid rgba(155,91,47,.5);background:rgba(155,91,47,.16);color:#c67845}
    .advisor-status[data-active="true"]{border:1px solid rgba(35,160,91,.48);background:rgba(35,160,91,.14);color:#45ce83}
    .advisor-status[data-active="false"]{border:1px solid rgba(204,72,72,.48);background:rgba(204,72,72,.14);color:#ef7777}
    .advisors-empty{padding:42px 20px;text-align:center;color:var(--muted)}
    .advisor-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
    .advisor-form-grid .wide{grid-column:1/-1}
    .advisor-lifetime-field{justify-content:flex-end}
    .advisor-lifetime-field>span{display:block;margin-bottom:8px;color:var(--ink);font-size:12px;font-weight:700}
    .advisor-lifetime-control{display:flex;align-items:center;height:38px;padding:0 12px;border:1px solid var(--line);border-radius:5px;background:var(--surface)}
    .advisor-lifetime-control .row-check{width:100%}
    .advisor-modal-card{width:min(650px,calc(100vw - 32px))}
    #advisorSearchZone{gap:10px}
    #advisorSearchZone .advisor-header-filter:first-child{width:176px;min-width:176px}
    #advisorSearchZone .search-input-wrap{min-width:180px;max-width:none}
    .advisor-sort-button{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;height:42px;padding:0 10px;border:0;background:transparent;color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;text-align:left}
    .advisor-sort-button:hover{background:var(--surface-hover);color:var(--ink)}
    .advisor-sort-button[data-active="true"],.advisor-sort-button[data-active="true"] .sort-indicator{color:var(--blue-ink)}
    .advisor-sort-button:hover .sort-indicator,.advisor-sort-button[data-active="true"] .sort-indicator{opacity:1}
    .advisors-table th.sortable-cell{padding:0}
    .advisor-select-cell{width:44px!important;padding:0!important;text-align:center!important}
    .advisor-select-cell .row-check{margin:auto}
    .advisor-pagination-summary{display:flex;align-items:center;gap:9px;color:var(--muted);font-size:11px;white-space:nowrap}
    .advisor-pagination-summary strong{color:var(--ink);font-size:12px}
    .advisor-pagination-summary span+span:before{content:"·";margin-right:9px;color:var(--muted)}
    @media(max-width:920px){.advisor-header-filter{width:126px}.advisors-summary{overflow:auto}}
    @media(max-width:720px){.advisor-header-filter{display:none}.advisor-form-grid{grid-template-columns:1fr}.advisor-form-grid .wide{grid-column:auto}}

    /* CONTACTOS C21 PARAGUAY · V3.318 */
    #contactsView{display:flex;height:calc(100vh - 80px);min-height:0;flex-direction:column;overflow:hidden;background:var(--workspace-canvas)}
    #contactsView[hidden]{display:none!important}
    .contacts-panel{display:flex;min-height:0;flex:1 1 auto;flex-direction:column;overflow:hidden;background:var(--surface)}
    #contactsSearchZone{gap:10px}
    #contactsSearchZone .contacts-office-filter{width:218px;min-width:218px}
    html[data-theme="light"][data-brand-theme="rocket"] #contactsOfficeFilter,html[data-theme="dark"][data-brand-theme="rocket"] #contactsOfficeFilter{border-color:#0048BE!important;background-color:#0055DD!important;color:#fff!important;font-weight:700;text-transform:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='m1 1 5 5 5-5' fill='none' stroke='%23ffffff' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important}
    html[data-theme="light"][data-brand-theme="rocket"] #contactsOfficeFilter:hover,html[data-theme="dark"][data-brand-theme="rocket"] #contactsOfficeFilter:hover{border-color:#003FAF!important;background-color:#0048BE!important;color:#fff!important}
    html[data-theme="light"][data-brand-theme="rocket"] #contactsOfficeFilter:focus,html[data-theme="dark"][data-brand-theme="rocket"] #contactsOfficeFilter:focus{outline:0!important;border-color:#003FAF!important;box-shadow:0 0 0 3px rgba(0,85,221,.20)!important}
    #contactsOfficeFilter option{background:var(--surface);color:var(--ink);font-weight:600}
    #contactsSearchZone .search-input-wrap{min-width:220px;max-width:none}
    .contacts-notice{flex:0 0 auto;margin:8px 15px 0;padding:8px 10px;border:1px solid var(--line);border-radius:5px;background:var(--surface-soft);color:var(--muted);font-size:12px;line-height:1.35}
    .contacts-notice[data-kind="error"]{border-color:rgba(204,72,72,.38);background:rgba(204,72,72,.08);color:#d95d5d}
    .contacts-notice[data-kind="info"]{border-color:rgba(0,85,221,.24);background:rgba(0,85,221,.06);color:var(--blue-ink)}
    .contacts-table-wrap{min-height:0;flex:1 1 auto;overflow:auto;padding-left:15px;background:var(--workspace-canvas);scrollbar-width:thin}
    .contacts-table{width:calc(100% - 15px);min-width:1120px;border-collapse:collapse;table-layout:fixed;background:var(--surface);color:var(--ink)}
    .contacts-table th,.contacts-table td{height:39px;padding:0 8px;overflow:hidden;border-bottom:1px solid var(--line);text-align:left;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle}
    .contacts-table th{position:sticky;z-index:12;top:0;height:42px;border-right:1px solid var(--line);border-bottom:2px solid var(--line);background:var(--surface);color:var(--muted);font-size:12px;font-weight:700;line-height:18px;letter-spacing:.55px;text-transform:uppercase}
    .contacts-table th:last-child{border-right:0}
    .contacts-table td{font-size:13px;font-weight:400}
    .contacts-table tbody tr{background:var(--surface)}
    .contacts-table tbody tr:hover{background:var(--surface-hover);box-shadow:inset 3px 0 0 var(--blue)}
    .contacts-table .contacts-number-head,.contacts-table td.contacts-number-cell{text-align:center;font-variant-numeric:tabular-nums}
    .contacts-table td.contacts-number-cell{color:var(--muted);font-weight:700}
    .contacts-table td.contacts-name-cell{font-weight:650;color:var(--ink)}
    .contacts-table a.contacts-data-link{color:var(--blue-ink);text-decoration:none}
    .contacts-table a.contacts-data-link:hover{text-decoration:underline}
    .contacts-action-link{display:inline-flex;align-items:center;justify-content:center;min-width:86px;height:28px;padding:0 10px;border:1px solid var(--line);border-radius:4px;background:var(--surface);color:var(--blue-ink);font:700 11px var(--font-ui);text-decoration:none;white-space:nowrap}
    .contacts-action-link:hover{border-color:var(--blue);background:var(--blue-soft);color:var(--blue-ink)}
    .contacts-action-link[data-kind="whatsapp"]{border-color:rgba(37,211,102,.42);color:#128c4a}
    .contacts-action-link[data-kind="whatsapp"]:hover{border-color:#25d366;background:rgba(37,211,102,.10);color:#0f7d41}
    html[data-theme="dark"] .contacts-action-link[data-kind="whatsapp"]{color:#61df91}
    .contacts-sort-button{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;height:42px;padding:0 8px;border:0;background:transparent;color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;text-align:left}
    .contacts-sort-button:hover{background:var(--surface-hover);color:var(--ink)}
    .contacts-sort-button[data-active="true"],.contacts-sort-button[data-active="true"] .sort-indicator{color:var(--blue-ink)}
    .contacts-sort-button .sort-indicator{flex:0 0 auto;opacity:1}
    .contacts-table th.sortable-cell{padding:0}
    .contacts-empty{padding:42px 20px;text-align:center;color:var(--muted)}
    .contacts-col-number{width:54px}.contacts-col-name{width:20%}.contacts-col-office{width:20%}.contacts-col-email{width:24%}.contacts-col-phone{width:150px}.contacts-col-profile{width:142px}.contacts-col-whatsapp{width:126px}
    .contacts-fixed-page-size{display:inline-grid;place-items:center;min-width:42px;height:30px;padding:0 8px;border:1px solid var(--line);border-radius:4px;background:var(--surface);color:var(--ink);font-size:13px;font-weight:700;font-variant-numeric:tabular-nums}
    
    
    .contacts-pagination-counts span+span:before{content:"·";margin-right:9px;color:var(--muted)}
    
    .contacts-pagination[data-loading="true"]{opacity:.72}
    @media(max-width:940px){.contacts-pagination-summary{display:none}}
    @media(max-width:720px){#contactsSearchZone .contacts-office-filter{display:none}.contacts-table-wrap{padding-left:10px}.contacts-table{width:calc(100% - 10px)}}

    #productivityView{display:flex;height:calc(100vh - 80px);min-height:0;flex-direction:column;overflow:hidden;background:var(--workspace-canvas)}#productivityView[hidden]{display:none!important}
    .productivity-panel{display:flex;min-height:0;flex:1 1 auto;flex-direction:column;overflow:hidden;background:var(--surface)}
    #productivitySearchZone{gap:10px}#productivitySearchZone .search-reset-button{margin-right:0}#productivitySearchZone .advisor-header-filter{width:138px;min-width:138px}#productivitySearchZone .advisor-header-filter:nth-child(2){width:176px;min-width:176px}#productivitySearchZone .search-input-wrap{min-width:180px;max-width:none}
    .productivity-table-wrap{min-height:0;flex:1 1 auto;overflow:auto;padding-left:15px;background:var(--workspace-canvas);scrollbar-width:thin}
    .productivity-table{width:max-content;min-width:calc(100% - 15px);border-collapse:collapse;table-layout:fixed;background:var(--surface);color:var(--ink)}
    .productivity-table th,.productivity-table td{height:39px;padding:0 10px;overflow:hidden;border-bottom:1px solid var(--line);text-align:left;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle}
    .productivity-table th{position:sticky;z-index:12;top:0;height:42px;padding:0;border-right:1px solid var(--line);border-bottom:2px solid var(--line);background:var(--surface);color:var(--muted);font-size:12px;font-weight:700;line-height:18px;letter-spacing:.55px;text-transform:uppercase}
    .productivity-table td{font-size:13px}.productivity-table tbody tr{background:var(--surface)}.productivity-table tbody tr:hover{background:var(--surface-hover);box-shadow:inset 3px 0 0 var(--gold)}.productivity-table tr[data-selected="true"]{background:var(--selection-row)}
    .productivity-sort-button{display:flex;align-items:center;justify-content:space-between;gap:4px;width:100%;height:42px;padding:0 8px;border:0;background:transparent;color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;text-align:left}.productivity-sort-button>span:first-child{min-width:0;white-space:normal;line-height:14px}.productivity-sort-button .sort-indicator{flex:0 0 auto}.productivity-sort-button:hover{background:var(--surface-hover);color:var(--ink)}.productivity-sort-button[data-active="true"],.productivity-sort-button[data-active="true"] .sort-indicator{color:var(--blue-ink)}
    .productivity-select-cell{width:44px!important;padding:0!important;text-align:center!important}.productivity-select-cell .row-check{margin:auto}.productivity-name{font-weight:650}.productivity-money{font-variant-numeric:tabular-nums}.productivity-progress{position:relative;width:128px;height:23px;overflow:hidden;border:1px solid rgba(174,138,71,.42);border-radius:5px;background:rgba(174,138,71,.08)}.productivity-progress-bar{height:100%;background:rgba(174,138,71,.34)}.productivity-progress-label{position:absolute;inset:0;display:grid;place-items:center;font-size:11px;font-weight:700;color:var(--ink)}
    .productivity-table th:nth-child(2),.productivity-table td:nth-child(2){width:180px}.productivity-table th:nth-child(3),.productivity-table td:nth-child(3){width:106px}.productivity-table th:nth-child(4),.productivity-table td:nth-child(4),.productivity-table th:nth-child(5),.productivity-table td:nth-child(5){width:72px}.productivity-table th:nth-child(6),.productivity-table td:nth-child(6),.productivity-table th:nth-child(7),.productivity-table td:nth-child(7){width:122px}.productivity-table th:nth-child(8),.productivity-table td:nth-child(8){width:92px}.productivity-table th:nth-child(9),.productivity-table td:nth-child(9){width:136px}.productivity-table th:nth-child(10),.productivity-table td:nth-child(10){width:124px}.productivity-table th:nth-child(11),.productivity-table td:nth-child(11),.productivity-table th:nth-child(12),.productivity-table td:nth-child(12){width:92px}.productivity-table th:nth-child(13),.productivity-table td:nth-child(13){width:86px}
    /* Regla universal V3: títulos extensos ajustados en hasta dos líneas */
    .closing-sort-button,.advisor-sort-button{white-space:normal!important}
    .closing-sort-button>span:first-child,.advisor-sort-button>span:first-child{min-width:0;white-space:normal!important;line-height:14px}
    .closing-sort-button .sort-indicator,.advisor-sort-button .sort-indicator{flex:0 0 auto}
    #topsView{display:flex;height:calc(100vh - 80px);min-height:0;flex-direction:column;overflow:hidden;background:var(--workspace-canvas)}#topsView[hidden]{display:none!important}
    #topsSearchZone{gap:10px}#topsSearchZone .search-reset-button{margin-right:0}#topsSearchZone .advisor-header-filter{width:150px;min-width:150px}#topsSearchZone .advisor-header-filter:nth-child(2){width:138px;min-width:138px}
    .tops-board{display:grid;grid-template-columns:repeat(3,minmax(250px,1fr));gap:15px;min-height:0;flex:1 1 auto;padding:0 15px;overflow:auto}
    .tops-card{display:flex;min-height:0;flex-direction:column;overflow:hidden;border:1px solid var(--line);border-radius:0;background:var(--surface)}
    .tops-card-title{display:flex;align-items:center;justify-content:space-between;gap:10px;height:42px;padding:0 10px;border-bottom:2px solid var(--line);color:var(--muted);font-size:12px;font-weight:700;letter-spacing:.55px;text-transform:uppercase}
    .tops-card-title span:first-child{min-width:0;white-space:normal;line-height:14px}.tops-period-note{font-size:12px;font-weight:700;letter-spacing:.55px;text-transform:uppercase;white-space:nowrap}
    .tops-column-head,.tops-row{display:grid;grid-template-columns:42px minmax(0,1fr) 150px;align-items:center}.tops-sort-button:first-child{position:relative;justify-content:center;padding:0 5px}.tops-sort-button:first-child .sort-indicator{position:absolute;right:6px}
    .tops-column-head{height:42px;border-bottom:2px solid var(--line);background:var(--surface);color:var(--muted);font-size:12px;font-weight:700;letter-spacing:.55px;text-transform:uppercase}.tops-sort-button{display:flex;align-items:center;justify-content:space-between;gap:4px;width:100%;height:42px;padding:0 10px;border:0;border-right:1px solid var(--line);background:transparent;color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;text-align:left}.tops-sort-button:last-child{border-right:0;text-align:right}.tops-sort-button:hover{background:var(--surface-hover);color:var(--ink)}.tops-sort-button[data-active="true"],.tops-sort-button[data-active="true"] .sort-indicator{color:var(--blue-ink)}.tops-sort-button:hover .sort-indicator,.tops-sort-button[data-active="true"] .sort-indicator{opacity:1}
    .tops-list{display:flex;min-height:0;flex-direction:column}.tops-row{min-height:39px;border-bottom:1px solid var(--line);font-size:13px}.tops-row:last-child{border-bottom:0}.tops-row:hover{background:var(--surface-hover)}
    .tops-position{display:grid;place-items:center;width:28px;height:23px;margin:auto;border:1px solid transparent;border-radius:5px;font-weight:800}.tops-position[data-rank="1"]{border-color:rgba(174,138,71,.48);background:rgba(174,138,71,.15);color:#d1ad60}.tops-position[data-rank="2"]{border-color:rgba(155,166,180,.48);background:rgba(155,166,180,.16);color:#c8d0da}.tops-position[data-rank="3"]{border-color:rgba(193,116,57,.52);background:rgba(193,116,57,.17);color:#dc8d50}.tops-advisor{min-width:0;overflow:hidden;padding:0 10px;text-overflow:ellipsis;white-space:nowrap}.tops-value{padding:0 10px;text-align:right;font-variant-numeric:tabular-nums;font-weight:700;white-space:nowrap}.tops-empty{padding:42px 15px;color:var(--muted);font-size:13px;text-align:center}
    .tops-footer{display:flex;align-items:center;gap:16px;min-height:50px;padding:0 15px;border-top:1px solid var(--line);background:var(--surface);color:var(--muted);font-size:12px}.tops-footer strong{color:var(--ink)}.tops-footer #topsPeriodSummary{flex:1 1 auto}.tops-footer .pagination-range{margin-left:0}
    @media(max-width:1050px){.tops-board{grid-template-columns:1fr}.tops-card{min-height:250px}}
    #sepreladView{display:flex;height:calc(100vh - 80px);min-height:0;flex-direction:column;overflow:hidden;background:var(--workspace-canvas)}#sepreladView[hidden]{display:none!important}
    #sepreladSearchZone{gap:10px}#sepreladSearchZone .advisor-header-filter{width:142px;min-width:142px}#sepreladSearchZone .advisor-header-filter:first-child{width:122px;min-width:122px}#sepreladSearchZone .search-reset-button{margin-right:0}#sepreladSearchZone .search-input-wrap{min-width:180px;max-width:none}
    #commissionsSearchZone{gap:10px;padding-left:10px}#commissionsSearchZone .advisor-header-filter{width:142px;min-width:142px}#commissionsSearchZone .search-reset-button{margin-right:0}#commissionsSearchZone .search-input-wrap{min-width:180px;max-width:none}
    #commissionsView{display:flex;height:calc(100vh - 80px);min-height:0;flex-direction:column;overflow:hidden;background:var(--workspace-canvas)}#commissionsView[hidden]{display:none!important}.commissions-table-wrap{min-height:0;flex:1 1 auto;overflow:auto;padding-left:15px;background:var(--workspace-canvas);scrollbar-width:thin}.commissions-table{width:max-content;min-width:calc(100% - 15px);border-collapse:collapse;table-layout:fixed;background:var(--surface);color:var(--ink)}.commissions-table th,.commissions-table td{height:39px;padding:0 10px;overflow:hidden;border-bottom:1px solid var(--line);font-size:13px;text-align:left;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle}.commissions-table th{position:sticky;z-index:12;top:0;height:42px;padding:0;border-right:1px solid var(--line);border-bottom:2px solid var(--line);background:var(--surface);color:var(--muted);font-size:12px;font-weight:700;line-height:18px;letter-spacing:.55px;text-transform:uppercase}.commissions-table th:last-child{border-right:0}.commissions-table tbody tr{background:var(--surface)}.commissions-table tbody tr:hover{background:var(--surface-hover);box-shadow:inset 3px 0 0 var(--gold)}.commissions-table tr[data-selected="true"]{background:var(--selection-row)}.commissions-select-cell{width:44px!important;padding:0!important;text-align:center!important}.commissions-select-cell .row-check{margin:auto}.commissions-table th:nth-child(2),.commissions-table td:nth-child(2){width:112px}.commissions-table th:nth-child(3),.commissions-table td:nth-child(3){width:118px}.commissions-table th:nth-child(4),.commissions-table td:nth-child(4),.commissions-table th:nth-child(5),.commissions-table td:nth-child(5){width:190px}.commissions-table th:nth-child(6),.commissions-table td:nth-child(6),.commissions-table th:nth-child(7),.commissions-table td:nth-child(7),.commissions-table th:nth-child(8),.commissions-table td:nth-child(8){width:160px}.commissions-sort-button{display:flex;align-items:center;justify-content:space-between;gap:4px;width:100%;height:42px;padding:0 10px;border:0;background:transparent;color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;text-align:left;cursor:pointer}.commissions-sort-button>span:first-child{min-width:0;white-space:normal;line-height:14px}.commissions-sort-button:hover{background:var(--surface-hover);color:var(--ink)}.commissions-sort-button[data-active="true"],.commissions-sort-button[data-active="true"] .sort-indicator{color:var(--blue-ink)}.commissions-money{font-variant-numeric:tabular-nums}.commissions-total{display:flex;align-items:center;gap:18px}.commissions-total strong{color:var(--gold)}
    #royaltiesView{display:flex;height:calc(100vh - 80px);min-height:0;overflow:auto;padding:0 15px 15px;background:var(--workspace-canvas)}#royaltiesView[hidden]{display:none!important}
    .royalties-board{display:grid;grid-template-columns:repeat(2,minmax(440px,1fr));gap:15px;width:100%;min-width:900px;align-items:start}
    .royalties-year-card{overflow:hidden;border:1px solid var(--line);background:var(--surface)}
    .royalties-year-title{display:flex;align-items:center;justify-content:center;height:42px;border-bottom:2px solid var(--line);color:var(--ink);font-size:13px;font-weight:700;letter-spacing:.45px;text-transform:uppercase}
    .royalties-table{width:100%;border-collapse:collapse;table-layout:fixed;color:var(--ink)}
    .royalties-table th,.royalties-table td{height:39px;padding:0 9px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);text-align:center;vertical-align:middle;font-size:13px}.royalties-table th:last-child,.royalties-table td:last-child{border-right:0}
    .royalties-table thead th{height:42px;border-bottom:2px solid var(--line);color:var(--muted);font-size:12px;font-weight:700;line-height:14px;letter-spacing:.45px;text-transform:uppercase;white-space:normal}.royalties-table tbody tr:hover{background:var(--surface-hover);box-shadow:inset 3px 0 0 var(--gold)}
    .royalties-table th:nth-child(1),.royalties-table td:nth-child(1){width:22%}.royalties-table th:nth-child(2),.royalties-table td:nth-child(2){width:25%}.royalties-table th:nth-child(3),.royalties-table td:nth-child(3){width:22%}.royalties-table th:nth-child(4),.royalties-table td:nth-child(4){width:31%}
    .royalties-money{font-variant-numeric:tabular-nums;font-weight:700}.royalties-action{border:0;background:transparent;color:var(--blue-ink);font:inherit;font-weight:700;text-decoration:underline;cursor:pointer}.royalties-action:hover{color:var(--gold)}.royalties-empty{color:var(--muted)}.royalties-total-row th{height:42px!important;background:var(--surface-hover);color:var(--ink)!important}.royalties-total-row th:nth-child(2){font-variant-numeric:tabular-nums}
    .royalties-modal-overlay{position:fixed;inset:0;z-index:1200;display:flex;align-items:center;justify-content:center;padding:28px;background:rgba(10,15,20,.62);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.royalties-modal{display:flex;flex-direction:column;width:min(1040px,calc(100vw - 56px));max-height:calc(100vh - 56px);overflow:hidden;border:1px solid var(--line);border-radius:12px;background:var(--surface);box-shadow:0 24px 70px rgba(0,0,0,.35)}
    .royalties-modal-header{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:58px;padding:0 15px;border-bottom:2px solid var(--line)}.royalties-modal-header h2{margin:0;font-size:18px}.royalties-modal-close{display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--danger);border-radius:8px;background:transparent;color:var(--danger);font-size:19px;cursor:pointer}.royalties-modal-body{overflow:auto;padding:15px}.royalties-detail-frame{min-width:850px;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.royalties-detail-table{width:100%;border-collapse:collapse;table-layout:fixed}.royalties-detail-table th,.royalties-detail-table td{height:39px;padding:0 9px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);text-align:center;vertical-align:middle;font-size:13px}.royalties-detail-table th{height:42px;border-bottom:2px solid var(--line);color:var(--muted);font-size:12px;text-transform:uppercase}.royalties-detail-table th:last-child,.royalties-detail-table td:last-child{border-right:0}.royalties-detail-sort{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;height:42px;border:0;background:transparent;color:inherit;font:inherit;text-transform:inherit;cursor:pointer}.royalties-detail-money{text-align:center!important;font-variant-numeric:tabular-nums}.royalties-detail-total th{border-bottom:0;background:var(--surface-hover);color:var(--ink);text-align:center!important}.royalties-detail-pagination{display:flex;align-items:center;justify-content:center;gap:12px;min-height:50px;padding:6px 15px;background:var(--surface)}.royalties-detail-pagination.is-hidden{display:none}.royalties-detail-pagination .pagination-range{min-width:120px}.royalties-modal-footer{display:flex;justify-content:center;padding:0 15px 15px}.royalties-modal-footer button{min-width:92px;height:36px;border:1px solid var(--line);border-radius:8px;background:var(--ink);color:var(--surface);cursor:pointer}
    @media(max-width:1050px){.royalties-board{grid-template-columns:1fr;min-width:520px}}
    .seprelad-table-wrap{min-height:0;flex:1 1 auto;overflow:auto;padding-left:15px;background:var(--workspace-canvas);scrollbar-width:thin}
    .seprelad-table{width:max-content;min-width:calc(100% - 15px);border-collapse:collapse;table-layout:fixed;background:var(--surface);color:var(--ink)}
    .seprelad-table th,.seprelad-table td{height:39px;padding:0 9px;overflow:hidden;border-bottom:1px solid var(--line);text-align:left;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle}
    .seprelad-table th{position:sticky;z-index:12;top:0;height:42px;padding:0;border-right:1px solid var(--line);border-bottom:2px solid var(--line);background:var(--surface);color:var(--muted);font-size:12px;font-weight:700;line-height:18px;letter-spacing:.55px;text-transform:uppercase}
    .seprelad-table td{font-size:13px}.seprelad-table tbody tr{background:var(--surface)}.seprelad-table tbody tr:hover{background:var(--surface-hover);box-shadow:inset 3px 0 0 var(--gold)}.seprelad-table tr[data-selected="true"]{background:var(--selection-row)}
    .seprelad-sort-button{display:flex;align-items:center;justify-content:space-between;gap:4px;width:100%;height:42px;padding:0 9px;border:0;background:transparent;color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;text-align:left}.seprelad-sort-button>span:first-child{min-width:0;white-space:normal;line-height:14px}.seprelad-sort-button .sort-indicator{flex:0 0 auto;opacity:1}.seprelad-sort-button:hover{background:var(--surface-hover);color:var(--ink)}.seprelad-sort-button[data-active="true"],.seprelad-sort-button[data-active="true"] .sort-indicator{color:var(--blue-ink)}
    .seprelad-header-label{display:flex;align-items:center;height:42px;padding:0 9px;white-space:normal;line-height:14px}
    .seprelad-select-cell{width:44px!important;padding:0!important;text-align:center!important}.seprelad-select-cell .row-check{margin:auto}.seprelad-table th:nth-child(2),.seprelad-table td:nth-child(2){width:88px}.seprelad-table th:nth-child(3),.seprelad-table td:nth-child(3),.seprelad-table th:nth-child(4),.seprelad-table td:nth-child(4){width:154px}.seprelad-table th:nth-child(5),.seprelad-table td:nth-child(5){width:100px}.seprelad-table th:nth-child(6),.seprelad-table td:nth-child(6){width:136px}.seprelad-table th:nth-child(7),.seprelad-table td:nth-child(7){width:174px}.seprelad-table th:nth-child(n+8),.seprelad-table td:nth-child(n+8){width:142px}.seprelad-table th:last-child,.seprelad-table td:last-child{width:118px}
    .seprelad-edit{width:100%;height:29px;padding:0 7px;border:1px solid transparent;border-radius:5px;background:transparent;color:var(--ink);font:inherit}.seprelad-edit:hover,.seprelad-edit:focus{outline:0;border-color:var(--line);background:var(--surface-soft)}
    .seprelad-doc{display:flex;align-items:center;gap:7px}.seprelad-doc input[type="checkbox"]{width:15px;height:15px;accent-color:var(--gold)}.seprelad-doc-link{min-width:0;overflow:hidden;color:var(--blue-ink);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.seprelad-doc-link[hidden]{display:none}.seprelad-status{display:inline-flex;align-items:center;min-height:23px;padding:0 8px;border:1px solid rgba(204,72,72,.48);border-radius:5px;background:rgba(204,72,72,.14);color:#ef7777;font-size:12px;font-weight:700}.seprelad-status[data-complete="true"]{border-color:rgba(35,160,91,.48);background:rgba(35,160,91,.14);color:#45ce83}
    #helpButton[aria-expanded="true"] { background: var(--surface-hover); }
    #helpButton[aria-expanded="true"] .nav-chevron { transform: none; }
    #settingsButton[aria-expanded="true"] .nav-chevron { transform: none; }
    #notificationsButton { position: relative; overflow: visible; }
    .notification-badge {
      position: absolute; z-index: 3; top: 0; left: 19px;
      display: inline-grid; place-items: center; min-width: 19px; height: 19px;
      padding: 0 4px; border: 2px solid var(--surface); border-radius: 999px;
      background: #d94343; color: #fff; font-size: 10px; font-weight: 800; line-height: 15px;
      pointer-events: none;
    }
    .profile-button {
      display: flex; align-items: center; width: 100%; height: 67px; min-height: 67px; padding: 16px;
      border: 0; background: transparent; color: var(--ink); text-align: left;
    }
    .profile-avatar {
      display: grid; place-items: center; width: 32px; height: 32px; flex: 0 0 32px;
      border-radius: 50%; background: var(--blue-soft); color: var(--blue-ink); font-weight: 700; overflow: hidden;
    }
    .profile-copy { position: relative; display: grid; min-width: 0; margin-left: 8px; padding-right: 0; }
    .profile-name-line{display:block;width:100%;min-width:0}.profile-name-line strong{display:block;min-width:0}.profile-version{position:absolute;right:0;top:50%;display:inline-flex;align-items:center;justify-content:center;min-width:58px;height:23px;padding:0 8px;border:1px solid rgba(174,138,71,.44);border-radius:5px;background:rgba(174,138,71,.14);color:var(--gold);font-size:12px;font-weight:700;line-height:21px;text-align:center;transform:translateY(-50%)}
    .profile-copy strong, .profile-copy span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .profile-copy strong { font-size: 15px; line-height: 20px; }
    .profile-copy span { color: var(--muted); font-size: 13px; line-height: 15px; }

    html[data-sidebar="collapsed"] .sidebar-logo,
    html[data-sidebar="collapsed"] .nav-label,
    html[data-sidebar="collapsed"] .nav-chevron,
    html[data-sidebar="collapsed"] .sidebar-section-title,
    html[data-sidebar="collapsed"] .profile-copy { display: none; }
    html[data-sidebar="collapsed"] .sidebar-header { justify-content: center; }
    html[data-sidebar="collapsed"] .nav-list,
    html[data-sidebar="collapsed"] .lower-nav { padding-inline: 8px; }
    html[data-sidebar="collapsed"] .nav-link { width: 39.2px; padding: 6px 10px; }
    html[data-sidebar="collapsed"] .sidebar-divider { margin-inline: 8px; }
    html[data-sidebar="collapsed"] .message-trays-divider {
      display: block; width: auto; height: 1px; margin: 8px 8px 4px;
      border: 0; background: var(--line);
    }
    html[data-sidebar="collapsed"] .profile-button { height: 64px; min-height: 64px; padding: 16px 12px; }
    html[data-sidebar="collapsed"] .pinned-list {
      display: flex; align-items: center; margin: 0; padding: 4px 8px;
    }
    html[data-sidebar="collapsed"] .pinned-list .nav-item,
    html[data-sidebar="collapsed"] .pinned-list .nav-link { width: 39.2px; }
    html[data-sidebar="collapsed"] .pinned-list .nav-link { justify-content: center; padding: 6px 10px; }
    html[data-sidebar="collapsed"] .broker-submenu { position:fixed;z-index:190;display:flex;width:250px;max-height:calc(100vh - 30px);margin:0;padding:8px;overflow-x:hidden;overflow-y:auto;border:1px solid var(--line);border-radius:6px;background:var(--surface);box-shadow:0 14px 30px rgba(0,0,0,.16); }
    html[data-sidebar="collapsed"] .broker-submenu::before { content:"Menú Broker";display:block;padding:5px 10px 10px;color:var(--ink);font-size:15px;font-weight:700;line-height:20px; }
    html[data-sidebar="collapsed"] .broker-submenu .nav-link { width:100%;height:38px;padding:7px 10px;font-size:14px;line-height:20px; }
    html[data-sidebar="collapsed"] .broker-submenu .nav-icon { width:20px;height:20px;flex-basis:20px; }
    html[data-sidebar="collapsed"] .broker-submenu .nav-label { display:block;margin-left:9px;font-size:14px;line-height:20px; }

    /* TOOLTIP LATERAL TIPO KOMMO */
    .sidebar-tooltip {
      position: fixed; z-index: 360; max-width: 240px; min-height: 28px;
      padding: 5px 9px; border: 0; border-radius: 4px;
      background: #343a46; color: #fff; box-shadow: 0 4px 12px rgba(0,0,0,.18);
      font-size: 13px; font-weight: 400; line-height: 18px; white-space: nowrap;
      pointer-events: none; opacity: 0; transform: translateY(-50%) translateX(-2px);
      transition: opacity .1s ease, transform .1s ease;
    }
    .sidebar-tooltip[data-visible="true"] { opacity: 1; transform: translateY(-50%) translateX(0); }
    .sidebar-tooltip::before {
      content: ""; position: absolute; left: -5px; top: 50%; width: 10px; height: 10px;
      background: #343a46; transform: translateY(-50%) rotate(45deg); border-radius: 1px;
    }
    html[data-theme="dark"] .sidebar-tooltip,
    html[data-theme="dark"] .sidebar-tooltip::before { background: #eef1f5; color: #20242b; }

    /* WORKSPACE */
    .workspace { min-height: 100vh; margin-left: var(--sidebar-width); background: var(--surface); }
    .workspace-header {
      position: fixed; z-index: 70; top: 0; right: 0; left: var(--sidebar-width);
      display: flex; align-items: center; height: var(--header-height);
      border-bottom: 1px solid var(--line); background: var(--surface);
    }
    .workspace-title-zone {
      display: flex; align-items: center; width: 205px; min-width: 205px;
      height: 64px; padding: 0 8px 0 35px;
    }
    .workspace-title {
      margin: 0; font-family: var(--font-caption); font-size: 15px; font-weight: 700;
      letter-spacing: .7px; line-height: 19.2px; text-transform: uppercase; white-space: nowrap;
    }
    .workspace-title-controls {
      display: flex; align-items: center; flex: 0 0 auto; gap: 18px; margin-left: 22px;
    }
    .lead-view-button {
      display: inline-grid; place-items: center; width: 24px; min-width: 24px; height: 32px;
      padding: 0; border: 0; border-radius: 3px; background: transparent; color: #b8babb;
    }
    .lead-view-button:hover { background: var(--surface-hover); color: #8f9499; }
    .lead-view-button[aria-pressed="true"] { color: #377dff; }
    .lead-view-button svg { width: 20px; height: 20px; }
    .lead-view-button:focus-visible { outline: 2px solid rgba(55,125,255,.45); outline-offset: 1px; }
    .workspace-search-zone {
      display: flex; align-items: center; min-width: 0; height: 64px; flex: 1 1 auto;
      padding: 0 20px; overflow: hidden; background: var(--surface);
    }
    .search-preset {
      position: relative; flex: 0 0 auto; min-height: 29.2px; padding: 5px;
      margin-right: 5px; border: .8px solid #a2c45f; border-radius: 4px;
      background: #cfe3a7; color: #6b6d72; font-size: 15px;
    }
    .search-reset-button {
      display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; min-height: 30px;
      margin-right: 10px; padding: 5px 9px; border: 1px solid #d65a5a; border-radius: 4px;
      background: transparent; color: #c64747; font-size: 13px; font-weight: 700; white-space: nowrap;
    }
    .search-reset-button:hover { border-color: #b83d3d; background: transparent; color: #b83d3d; }
    .search-reset-button:focus-visible { outline: 2px solid rgba(198,71,71,.35); outline-offset: 1px; }
    .search-input-wrap {
      display: flex; align-items: center; min-width: 0; height: 38px; flex: 1 1 auto; overflow: hidden;
      padding: 0 11px; border: 1px solid #c7cbd1; border-radius: 4px; background: var(--surface);
      transition: border-color .14s ease, box-shadow .14s ease, background-color .14s ease;
    }
    .search-input-wrap:hover { border-color: #aeb4bc; }
    .search-input-wrap:focus-within { border-color: #c7cbd1; box-shadow: none; outline: none; }
    html[data-theme="dark"] .search-input-wrap { border-color: #555d68; background: #20242a; }
    html[data-theme="dark"] .search-input-wrap:hover { border-color: #6b7582; }
    html[data-theme="dark"] .search-input-wrap:focus-within { border-color: #555d68; box-shadow: none; outline: none; }
    /* Los buscadores que usan .input también conservan sólo el borde de foco, sin halo exterior. */
    input.input[type="search"]:focus { outline: 0; box-shadow: none; }
    .search-field-icon { display: inline-grid; place-items: center; flex: 0 0 auto; width: 18px; color: var(--muted); }
    .search-field-icon svg { width: 16px; height: 16px; }
    .search-input {
      min-width: 80px; height: 100%; flex: 1 1 auto; padding: 0 9px; border: 0; outline: 0;
      background: transparent; color: var(--ink); font-size: 15px; line-height: 17.25px;
    }
    .search-input::placeholder { color: var(--muted); opacity: .9; }
    .search-input::-webkit-search-cancel-button { display: none; }
    .search-summary { display: flex; align-items: center; flex: 0 0 auto; max-width: 180px; margin-left: 8px; white-space: nowrap; }
    .search-summary span { color: var(--muted); }
    .search-summary strong { margin-left: 5px; overflow: hidden; text-overflow: ellipsis; font-weight: 400; }
    /* Captaciones: el total ya vive en el footer; no duplicarlo dentro del buscador. */
    .captaciones-search-zone .search-summary { display: none; }
    .workspace-actions {
      display: flex; align-items: center; justify-content: flex-end; flex: 0 0 auto;
      min-width: 146px; height: 64px; padding: 0 30px 0 10px;
    }
    .header-more { display: inline-grid; place-items: center; width: 34px; height: 39px; margin-right: 10px; border: 0; border-radius: 4px; background: transparent; color: var(--ink); }
    .header-more svg { width: 13px; height: 3px; }
    .new-lead-button {
      display: inline-flex; align-items: center; justify-content: center; height: 38px; padding: 0 8px;
      border: .8px solid var(--blue-dark); border-radius: 4px; background: var(--blue); color: #f5f5f5;
      font-family: var(--font-caption); font-size: 12px; font-weight: 700; letter-spacing: .5px;
    }
    .new-lead-button svg { width: 9px; height: 9px; margin-right: 4px; }
    .bulk-delete-reminders-button {
      position: relative; display: inline-flex; align-items: center; justify-content: center;
      width: 38px; min-width: 38px; height: 38px; margin-right: 8px; padding: 0;
      border: 1px solid #d58f87; border-radius: 4px; background: var(--surface); color: #a53b31;
      font-family: var(--font-caption); font-size: 11px; font-weight: 700; letter-spacing: .25px;
    }
    .bulk-delete-reminders-button svg {
      display: block; width: 18px; min-width: 18px; height: 18px; overflow: visible;
      fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round;
      pointer-events: none;
    }
    .bulk-delete-reminders-button:hover { background: #fff1ef; border-color: #c86d62; color: #8f2f27; }
    html[data-theme="dark"] .bulk-delete-reminders-button { background: #2b2424; color: #ffb8ae; border-color: #7d4842; }
    html[data-theme="dark"] .bulk-delete-reminders-button:hover { background: #3a2928; border-color: #a75a50; color: #ffd3cd; }
    .reminder-selection-count {
      position: absolute; top: -7px; right: -7px; display: grid; place-items: center;
      min-width: 18px; height: 18px; padding: 0 4px; border: 2px solid var(--surface); border-radius: 999px;
      background: #b7463b; color: #fff; font-family: var(--font-ui); font-size: 10px; line-height: 1;
    }
    #authSubmit, #newLeadButton, #newReminderButton, #newClosingButton, #newLeadSave, #generalReminderSave, #closingSave, #calculatorCalculate, #applyFiltersButton, #applyReminderFiltersButton, #applyClosingFiltersButton {
      border-color: var(--gold-dark); background: var(--gold); color: #fff;
      transition: background-color .14s ease, border-color .14s ease, box-shadow .14s ease;
    }
    #authSubmit:hover:not(:disabled), #newLeadButton:hover:not(:disabled), #newReminderButton:hover:not(:disabled), #newClosingButton:hover:not(:disabled), #newLeadSave:hover:not(:disabled), #generalReminderSave:hover:not(:disabled), #closingSave:hover:not(:disabled), #calculatorCalculate:hover:not(:disabled),
    #applyFiltersButton:hover:not(:disabled), #applyReminderFiltersButton:hover:not(:disabled), #applyClosingFiltersButton:hover:not(:disabled) {
      border-color: var(--gold-dark); background: var(--gold-hover);
    }
    #authSubmit:active:not(:disabled), #newLeadButton:active:not(:disabled), #newReminderButton:active:not(:disabled), #newClosingButton:active:not(:disabled), #newLeadSave:active:not(:disabled), #generalReminderSave:active:not(:disabled), #closingSave:active:not(:disabled), #calculatorCalculate:active:not(:disabled),
    #applyFiltersButton:active:not(:disabled), #applyReminderFiltersButton:active:not(:disabled), #applyClosingFiltersButton:active:not(:disabled) {
      border-color: var(--gold-dark); background: var(--gold-dark);
    }
    #authSubmit:focus-visible, #newLeadButton:focus-visible, #newReminderButton:focus-visible, #newClosingButton:focus-visible, #newLeadSave:focus-visible, #generalReminderSave:focus-visible, #closingSave:focus-visible, #calculatorCalculate:focus-visible,
    #applyFiltersButton:focus-visible, #applyReminderFiltersButton:focus-visible, #applyClosingFiltersButton:focus-visible {
      outline: none; box-shadow: 0 0 0 3px rgba(174,138,71,.24);
    }
    .new-lead-short { display: none; }
    .workspace-body { min-height: 100vh; padding-top: 80px; padding-bottom: 0; background: var(--workspace-canvas); }
    .view { min-height: calc(100vh - 80px); }
    #leadsView {
      display: flex; height: calc(100vh - 80px); min-height: 0;
      flex-direction: column; overflow: hidden;
    }
    .leads-list-view, .kanban-view { min-height: 0; flex: 1 1 auto; }

    /* LEADS GRID */
    .table-scroller {
      width: 100%; height: 100%; min-height: 0; overflow: auto; padding-left: 15px;
      background: var(--workspace-canvas); scrollbar-width: thin;
    }
    .leads-grid {
      --lead-columns: 46px 92px 150px 180px 120px 58px 240px 185px 125px 105px 145px 220px 128px;
      width: max-content; min-width: calc(100% - 15px); color: var(--ink);
    }
    .lead-row {
      position: relative; display: grid; grid-template-columns: var(--lead-columns);
      width: max-content; min-width: 100%; height: 39px; background: var(--surface);
    }
    .lead-row:hover { background: var(--surface-hover); }
    #leadsRows .lead-row[data-editable="true"] { cursor: pointer; }
    #leadsRows .lead-row[data-editable="true"]:hover { box-shadow: inset 3px 0 0 var(--gold); }
    #leadsRows .lead-row[data-editable="false"] { cursor: default; }
    .lead-row[data-selected="true"] { background: var(--surface-hover); }
    .lead-row[data-selected="true"]::before {
      content: ""; position: absolute; z-index: 4; left: 0; top: 0; width: 3px; height: 39px; background: #158fd2;
    }
    .lead-header {
      position: sticky; z-index: 12; top: 0;
      height: 42px; color: var(--muted); background: var(--surface);
      border-bottom: 1px solid var(--line); box-shadow: 0 1px 0 var(--line);
    }
    .lead-header:hover { background: var(--surface); }
    .lead-header .lead-cell:not(:last-child) { border-right: 1px solid var(--line); }
    .lead-header .lead-cell.select-cell { border-right: 1px solid var(--line); }
    html[data-team-columns="false"] .leads-grid {
      --lead-columns: 46px 92px 180px 120px 58px 240px 185px 125px 105px 145px 220px 128px;
    }
    html[data-team-columns="false"] .lead-advisor-column { display: none; }
    #leadsRows .lead-row:not(:last-child) { border-bottom: 1px solid var(--line); }
    .lead-cell {
      display: flex; align-items: center; min-width: 0; height: 39px; padding: 0 10px;
      overflow: hidden; color: var(--ink); font-size: 15px; font-weight: 400; line-height: 19px;
      white-space: nowrap;
    }
    .lead-header .lead-cell {
      height: 42px; color: var(--muted); font-size: 13px; font-weight: 700;
      letter-spacing: .55px; text-transform: uppercase;
    }
    .lead-header .lead-cell.sortable-cell { padding: 0; }
    .lead-sort-button {
      display: flex; align-items: center; width: 100%; height: 42px; min-width: 0;
      padding: 0 10px; border: 0; outline: 0; background: transparent; color: inherit;
      font-size: inherit; font-weight: inherit; letter-spacing: inherit; text-align: left;
      text-transform: inherit; white-space: nowrap;
    }
    .lead-sort-button:hover { color: var(--ink); background: var(--surface-hover); }
    .lead-sort-button:focus-visible { box-shadow: inset 0 0 0 2px rgba(76,139,247,.3); }
    .lead-sort-label { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .sort-indicator {
      display: inline-grid; place-items: center; width: 14px; min-width: 14px; height: 16px;
      margin-left: 5px; color: var(--muted); font-size: 11px; line-height: 1; opacity: 0;
    }
    .lead-sort-button:hover .sort-indicator, .lead-sort-button[data-active="true"] .sort-indicator { opacity: 1; }
    .lead-sort-button[data-active="true"] { color: var(--blue-ink); }
    .lead-sort-button[data-active="true"] .sort-indicator { color: var(--blue-ink); }
    .lead-cell > span, .lead-cell > a { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .lead-cell.select-cell { justify-content: center; padding: 0; }
    .lead-cell:last-child { padding-right: 15px; }
    .row-check {
      position: relative; display: inline-flex; align-items: center; justify-content: center;
      width: 19.6px; height: 19.6px; flex: 0 0 19.6px; margin: 0;
      border: .8px solid var(--line); border-radius: 4px; background: var(--surface); cursor: pointer;
    }
    .row-check input { position: absolute; width: 34px; height: 34px; margin: 0; opacity: 0; cursor: pointer; }
    .row-check svg { width: 12px; height: 11px; opacity: 0; }
    .row-check input:checked + svg { opacity: 1; }
    .row-check-indeterminate {
      position: absolute; width: 10px; height: 2px; border-radius: 2px;
      background: currentColor; opacity: 0; pointer-events: none;
    }
    .row-check input:indeterminate + svg { opacity: 0; }
    .row-check input:indeterminate ~ .row-check-indeterminate { opacity: 1; }
    .row-check:has(input:disabled) { cursor: default; opacity: .45; }
    .row-check input:disabled { cursor: default; }
    .country-cell { justify-content: center; padding-inline: 0; }
    .country-flag {
      display: inline-flex; align-items: center; justify-content: center;
      width: 24px; min-width: 24px; height: 16px; line-height: 1;
      overflow: hidden; border-radius: 1.5px; box-shadow: 0 0 0 1px rgba(0,0,0,.08);
    }
    .country-flag svg { width: 24px; height: 16px; display: block; }
    .status-pill, .funnel-pill {
      display: inline-flex; align-items: center; max-width: 100%; min-height: 24px;
      padding: 3px 6px; border-radius: 4px; font-size: 13px; line-height: 18px;
    }
    .status-pill { background: #99ccff; }
    .status-pill.status-hot { background: #ffd9a8; }
    .status-pill.status-follow { background: #f2e2ff; }
    .status-pill.status-closed { background: #ccebdc; }
    .status-pill.status-lost, .status-pill.status-blocked { background: #ffd7d2; }
    .funnel-pill { background: var(--surface-soft); }
    .funnel-caliente { background: #ffe2bf; }
    .funnel-ganado { background: #ccebdc; }
    .funnel-perdido, .funnel-bloqueado { background: #ffd7d2; }

    /* CONTRASTE DE ESTADOS Y EMBUDOS EN MODO OSCURO */
    html[data-theme="dark"] .status-pill,
    html[data-theme="dark"] .funnel-pill {
      color: #f4f7fb; box-shadow: inset 0 0 0 1px rgba(255,255,255,.12);
    }
    html[data-theme="dark"] .status-pill { background: #214a68; color: #e1f2ff; }
    html[data-theme="dark"] .status-pill.status-hot { background: #5b3d1c; color: #ffe3b5; }
    html[data-theme="dark"] .status-pill.status-follow { background: #4a3159; color: #f2dcff; }
    html[data-theme="dark"] .status-pill.status-closed { background: #1d513c; color: #d5f6e3; }
    html[data-theme="dark"] .status-pill.status-lost { background: #643129; color: #ffe0da; }
    html[data-theme="dark"] .status-pill.status-blocked { background: #5b2730; color: #ffd9df; }
    html[data-theme="dark"] .funnel-frio { background: #263f55; color: #dceeff; }
    html[data-theme="dark"] .funnel-tibio { background: #4a4530; color: #fff0b5; }
    html[data-theme="dark"] .funnel-caliente { background: #66401f; color: #ffe0ad; }
    html[data-theme="dark"] .funnel-ganado { background: #1d513c; color: #d5f6e3; }
    html[data-theme="dark"] .funnel-perdido { background: #643129; color: #ffe0da; }
    html[data-theme="dark"] .funnel-bloqueado { background: #5b2730; color: #ffd9df; }
    .loading-row, .empty-row, .error-row {
      display: flex; align-items: center; width: 100%; min-height: 52px; padding: 0 30px; color: var(--muted);
    }
    .row-mass-actions {
      position: absolute; z-index: 3; left: -6px; top: 0; display: flex; align-items: center;
      width: min(1180px, calc(100vw - var(--sidebar-width) - 30px)); height: 39px;
      padding: 0 12px 0 55px; overflow-x: auto; overflow-y: hidden; background: #f1f5f9; scrollbar-width: thin;
    }
    html[data-theme="dark"] .row-mass-actions { background: #27303a; }
    .row-mass-action {
      display: inline-flex; align-items: center; height: 39px; padding: 0 8px;
      border: 0; background: transparent; color: var(--muted); font-size: 13px; white-space: nowrap;
    }
    .row-mass-action svg { width: 15px; height: 15px; margin-right: 5px; }
    .row-mass-action:not(:disabled) { color: var(--ink); cursor: pointer; }
    .row-mass-action:not(:disabled):hover { background: rgba(76,139,247,.10); color: var(--blue-ink); }
    .row-mass-action.danger:not(:disabled) { color: #9f3d34; }
    .row-mass-action.danger:not(:disabled):hover { background: rgba(185,74,62,.12); color: #b94a3e; }
    html[data-theme="dark"] .row-mass-action.danger:not(:disabled) { color: #ffb5ac; }
    .row-mass-count { flex: 0 0 auto; margin-right: 4px; color: var(--muted); font-size: 12px; font-weight: 700; }
    /* Leads: el checkbox del primer seleccionado permanece visible sobre la cinta masiva. */
    .lead-row[data-selected="true"] > .lead-cell.select-cell{
      position:relative;
      z-index:5;
    }
    .lead-row[data-selected="true"] > .lead-cell.select-cell .row-check{
      z-index:6;
      color:var(--blue-ink);
    }
    .bulk-lead-fields { display: grid; gap: 14px; }
    .bulk-lead-fields[hidden] { display: none !important; }
    .bulk-lead-help { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.45; }
    .bulk-lead-repeat { grid-column: 1 / -1; }
    .bulk-lead-tags-preview { min-height: 22px; color: var(--muted); font-size: 12px; }
    .bulk-delete-leads-button[hidden] { display: none !important; }
    .lead-name-with-tags { display: flex; align-items: center; gap: 6px; min-width: 0; width: 100%; }
    .lead-name-primary { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .lead-tags { display: inline-flex; align-items: center; gap: 3px; flex: 0 1 auto; min-width: 0; overflow: hidden; }
    .lead-tag { display: inline-flex; align-items: center; max-width: 86px; height: 18px; padding: 0 5px; border: 1px solid rgba(174,138,71,.42); border-radius: 9px; background: rgba(174,138,71,.12); color: #765c2d; font-size: 9px; font-weight: 700; line-height: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    html[data-theme="dark"] .lead-tag { border-color: rgba(229,190,111,.46); background: rgba(174,138,71,.18); color: #f3d99b; }
    .kanban-card-tags { display: flex; gap: 4px; min-height: 18px; margin-top: 5px; overflow: hidden; }
    .kanban-card-tags:empty { display: none; }
    .lead-reminder-clock {
      display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto;
      width: 19px; height: 19px; border: 1px solid rgba(196,55,49,.48); border-radius: 50%;
      background: rgba(214,63,55,.12); color: #c43b34;
    }
    .lead-reminder-clock svg { width: 12px; height: 12px; stroke: currentColor; }
    html[data-theme="dark"] .lead-reminder-clock { border-color: rgba(255,130,119,.62); background: rgba(196,55,49,.22); color: #ff958b; }
    .lead-trash-card { width: min(1080px,100%); }
    .lead-trash-toolbar { display: grid; grid-template-columns: minmax(240px,1fr) auto; gap: 12px; align-items: center; margin-bottom: 12px; }
    .lead-trash-search { position: relative; min-width: 0; }
    .lead-trash-search svg { position: absolute; left: 12px; top: 50%; width: 17px; height: 17px; color: var(--muted); transform: translateY(-50%); pointer-events: none; }
    .lead-trash-search .input { width: 100%; padding-left: 38px; }
    .lead-trash-toolbar-actions { display: flex; align-items: center; justify-content: flex-end; gap: 8px; flex-wrap: wrap; }
    .lead-trash-select-all { display: inline-flex; align-items: center; gap: 7px; min-height: 36px; padding: 0 9px; color: var(--muted); font-size: 12px; white-space: nowrap; }
    .lead-trash-action { display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-height: 36px; padding: 0 12px; border: 1px solid var(--line); border-radius: 7px; background: var(--surface); color: var(--ink); font-weight: 700; }
    .lead-trash-action:hover:not(:disabled) { background: var(--surface-hover); }
    .lead-trash-action:disabled { opacity: .45; cursor: not-allowed; }
    .lead-trash-action svg { width: 16px; height: 16px; }
    .lead-trash-action-danger { border-color: rgba(185,74,62,.68); background: rgba(185,74,62,.10); color: #a83f35; }
    html[data-theme="dark"] .lead-trash-action-danger { color: #ff9b91; }
    .lead-trash-summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 14px; color: var(--muted); font-size: 12px; }
    .lead-trash-summary strong { color: var(--ink); font-family: var(--font-caption); font-size: 13px; letter-spacing: .35px; }
    .lead-trash-summary span:last-child { text-align: right; }
    .lead-trash-list { display: grid; gap: 8px; max-height: min(46vh,430px); overflow-y: auto; }
    .lead-trash-pagination {
      display: flex; align-items: center; justify-content: space-between; gap: 12px;
      min-height: 48px; margin-top: 14px; padding: 8px 0 0; border-top: 1px solid var(--line);
      color: var(--muted); font-size: 12px;
    }
    .lead-trash-pagination .pagination-range { min-width: 130px; }
    .lead-trash-pagination[data-loading="true"] { opacity: .65; pointer-events: none; }
    @media (max-width: 720px) {
      .lead-trash-pagination { flex-wrap: wrap; justify-content: center; }
      .lead-trash-pagination .pagination-range { order: 3; width: 100%; }
    }
    .lead-trash-empty { padding: 34px 18px; border: 1px dashed var(--line); border-radius: 8px; color: var(--muted); text-align: center; }
    .lead-trash-row {
      display: grid; grid-template-columns: 26px minmax(170px,1.45fr) minmax(120px,.85fr) minmax(92px,.62fr) minmax(125px,.86fr) minmax(130px,.9fr) auto;
      align-items: center; gap: 10px; min-height: 54px; padding: 8px 10px;
      border: 1px solid var(--line); border-radius: 8px; background: var(--surface);
    }
    .lead-trash-row[data-selected="true"] { border-color: rgba(174,138,71,.72); background: rgba(174,138,71,.08); }
    .lead-trash-checkbox { display: grid; place-items: center; }
    .lead-trash-name { min-width: 0; }
    .lead-trash-name strong, .lead-trash-name span { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .lead-trash-name span, .lead-trash-meta { color: var(--muted); font-size: 11px; }
    .lead-trash-meta strong { display: block; color: var(--ink); font-size: 11px; font-weight: 700; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .lead-trash-restore { display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-height: 34px; padding: 0 11px; border: 1px solid rgba(174,138,71,.55); border-radius: 7px; background: rgba(174,138,71,.10); color: var(--ink); font-weight: 700; }
    .lead-trash-restore:hover { background: rgba(174,138,71,.20); }
    .lead-trash-restore svg { width: 16px; height: 16px; }
    .lead-trash-delete-card { width: min(500px,100%); }
    @media (max-width: 900px) {
      .lead-trash-toolbar { grid-template-columns: 1fr; }
      .lead-trash-toolbar-actions { justify-content: flex-start; }
      .lead-trash-row { grid-template-columns: 26px minmax(0,1fr) minmax(120px,.8fr) auto; }
      .lead-trash-row > .lead-trash-meta:nth-of-type(2), .lead-trash-row > .lead-trash-meta:nth-of-type(3) { display: none; }
    }
    @media (max-width: 620px) {
      .lead-trash-row { grid-template-columns: 26px minmax(0,1fr) auto; }
      .lead-trash-row > .lead-trash-meta { display: none; }
      .lead-trash-action span { display: none; }
    }


    /* PAGINACIÓN DE LEADS */
    .leads-pagination {
      display: flex; align-items: center; justify-content: space-between; flex: 0 0 50px;
      min-height: 50px; padding: 0 15px 0 18px; border-top: 1px solid var(--line);
      background: var(--surface); color: var(--muted); font-size: 13px;
    }
    .pagination-size, .pagination-navigation { display: flex; align-items: center; gap: 7px; }
    .pagination-size { flex: 0 0 auto; }
    .pagination-size-select {
      width: 76px; min-width: 76px; height: 32px; box-sizing: border-box;
      padding: 0 28px 0 11px; border: 1px solid var(--line); border-radius: 4px;
      outline: 0; background-color: var(--surface); color: var(--ink);
      font-variant-numeric: tabular-nums; line-height: 30px;
    }
    .pagination-size-select:focus { border-color: var(--blue); box-shadow: 0 0 0 2px rgba(76,139,247,.14); }
    .pagination-range { min-width: 150px; color: var(--ink); text-align: center; }
    .pagination-button, .pagination-page-button {
      display: inline-grid; place-items: center; height: 30px; min-width: 30px; padding: 0 8px;
      border: 1px solid transparent; border-radius: 4px; background: transparent; color: var(--ink);
      font-size: 13px; line-height: 1;
    }
    .pagination-button:hover:not(:disabled), .pagination-page-button:hover:not(:disabled) { background: var(--surface-hover); }
    .pagination-button:disabled, .pagination-page-button:disabled { color: var(--muted); opacity: .45; }
    .pagination-page-button[aria-current="page"] {
      border-color: var(--blue); background: var(--blue-soft); color: var(--blue-ink); font-weight: 700;
    }
    .pagination-pages { display: flex; align-items: center; gap: 2px; }
    .pagination-ellipsis { display: inline-grid; place-items: center; width: 24px; height: 30px; color: var(--muted); }
    .leads-pagination[data-loading="true"] { opacity: .72; }

    /* LEADS KANBAN */
    .kanban-view { width: 100%; min-height: 0; flex: 1 1 auto; overflow: hidden; }
    .kanban-scroller {
      width: 100%; height: 100%; min-height: 0; overflow-x: auto; overflow-y: hidden;
      padding: 0 15px 20px; scrollbar-width: thin; background: var(--workspace-canvas);
    }
    .kanban-board {
      display: flex; align-items: flex-start; gap: 8px; width: max-content;
      min-width: calc(100vw - var(--sidebar-width) - 30px); min-height: 100%;
    }
    .kanban-column {
      display: flex; flex: 0 0 274px; width: 274px; max-height: calc(100vh - 102px);
      flex-direction: column; border: 1px solid var(--line); border-top: 3px solid #99ccff;
      border-radius: 5px 5px 3px 3px; background: var(--page); overflow: hidden;
    }
    .kanban-column[data-funnel="frio"] { border-top-color: #8fc8ff; }
    .kanban-column[data-funnel="tibio"] { border-top-color: #c9d59c; }
    .kanban-column[data-funnel="caliente"] { border-top-color: #ffb760; }
    .kanban-column[data-funnel="ganado"] { border-top-color: #67bd91; }
    .kanban-column[data-funnel="perdido"],
    .kanban-column[data-funnel="bloqueado"] { border-top-color: #e28d84; }
    .kanban-column-header {
      display: flex; align-items: center; justify-content: space-between; min-height: 44px;
      padding: 9px 11px; border-bottom: 1px solid var(--line); background: var(--surface);
    }
    .kanban-column-title {
      min-width: 0; margin: 0; overflow: hidden; color: var(--ink); font-size: 13px;
      font-weight: 700; line-height: 17px; text-overflow: ellipsis; white-space: nowrap;
    }
    .kanban-column-count {
      display: inline-grid; place-items: center; min-width: 22px; height: 22px; margin-left: 8px;
      padding: 0 6px; border-radius: 11px; background: var(--surface-soft); color: var(--muted);
      font-size: 12px; font-weight: 700;
    }
    .kanban-column-body {
      display: flex; min-height: 76px; flex: 1 1 auto; flex-direction: column; gap: 8px;
      padding: 8px; overflow-x: hidden; overflow-y: auto; scrollbar-width: thin;
    }
    .kanban-card[data-editable="true"] { cursor: pointer; }
    .kanban-card[data-editable="true"]:hover { box-shadow: inset 3px 0 0 var(--gold), 0 4px 14px rgba(0,0,0,.08); }
    .kanban-card {
      display: grid; gap: 7px; width: 100%; padding: 11px; border: 1px solid var(--line);
      border-radius: 4px; background: var(--surface); box-shadow: 0 1px 2px rgba(0,0,0,.04);
    }
    .kanban-card:hover { border-color: #cbd5e1; box-shadow: 0 3px 9px rgba(0,0,0,.07); }
    .kanban-card-name {
      overflow: hidden; color: var(--ink); font-size: 15px; font-weight: 700; line-height: 19px;
      text-overflow: ellipsis; white-space: nowrap;
    }
    .kanban-card-project {
      overflow: hidden; color: var(--ink); font-size: 13px; line-height: 17px;
      text-overflow: ellipsis; white-space: nowrap;
    }
    .kanban-card-meta {
      display: flex; align-items: center; justify-content: space-between; gap: 8px;
      color: var(--muted); font-size: 12px; line-height: 16px;
    }
    .kanban-card-meta span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .kanban-card-advisor { max-width: 154px; }
    .kanban-card-phone { color: var(--blue-ink); }
    .kanban-empty { padding: 14px 9px; color: var(--muted); font-size: 13px; text-align: center; }
    .kanban-message {
      display: flex; align-items: center; min-width: 100%; min-height: 56px; padding: 0 15px;
      color: var(--muted);
    }


    /* CIERRES V3 — FASE 2 */
    #closingsView {
      display: flex; height: calc(100vh - 80px); min-height: 0;
      flex-direction: column; overflow: hidden;
    }
    .closings-table-wrap { min-height: 0; flex: 1 1 auto; overflow: auto; padding-left: 15px; background: var(--workspace-canvas); scrollbar-width: thin; }
    .closings-grid {
      --closing-columns: 44px 88px 104px 150px 112px 154px 112px 108px 98px 96px 124px 96px 76px 126px 132px 132px 130px 104px 112px 112px;
      width: max-content; min-width: calc(100% - 15px); color: var(--ink);
    }
    .closing-row {
      display: grid; grid-template-columns: var(--closing-columns); width: max-content; min-width: 100%;
      height: 39px; background: var(--surface); border-bottom: 1px solid var(--line);
    }
    .closing-row:not(.closing-header):hover { background: var(--surface-hover); }
    .closing-row[data-selected="true"] { background: var(--selected-row); }
    .closing-row[data-editable="true"] { cursor: default; }
    .closing-select-cell { justify-content: center; padding: 0 6px; }
    .closing-header { position: sticky; z-index: 12; top: 0; min-height: 42px; color: var(--muted); background: var(--surface); box-shadow: 0 1px 0 var(--line); }
    .closing-cell {
      display: flex; align-items: center; min-width: 0; min-height: 39px; padding: 0 10px;
      overflow: hidden; color: var(--ink); font-size: 13px; line-height: 18px; white-space: nowrap;
      text-overflow: ellipsis;
    }
    .closing-cell > span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .closing-header .closing-cell {
      min-height: 42px; color: var(--muted); font-size: 12px; font-weight: 700; letter-spacing: .55px;
      text-transform: uppercase; border-right: 1px solid var(--line);
    }
    .closing-header .closing-cell.sortable-cell { padding: 0; }
    .closing-sort-button {
      display: flex; align-items: center; width: 100%; height: 42px; min-width: 0; padding: 0 10px;
      border: 0; outline: 0; background: transparent; color: inherit; font-size: inherit; font-weight: inherit;
      letter-spacing: inherit; text-align: left; text-transform: inherit; white-space: nowrap;
    }
    .closing-sort-button:hover { color: var(--ink); background: var(--surface-hover); }
    .closing-sort-button:focus-visible { box-shadow: inset 0 0 0 2px rgba(76,139,247,.3); }
    .closing-sort-button:hover .sort-indicator,
    .closing-sort-button[data-active="true"] .sort-indicator { opacity: 1; }
    .closing-sort-button[data-active="true"],
    .closing-sort-button[data-active="true"] .sort-indicator { color: var(--blue-ink); }
    .closing-money { justify-content: flex-end; font-variant-numeric: tabular-nums; }
    .closing-type-chip { display: inline-flex; align-items: center; min-height: 23px; padding: 0 8px; border: 1px solid var(--line); border-radius: 5px; background: var(--surface-soft); font-size: 12px; font-weight: 700; }
    .closing-type-chip[data-shared="true"] { border-color: rgba(174,138,71,.55); background: rgba(174,138,71,.14); color: var(--gold-ink); }
    /* Privacidad de Cierres: protege los valores, no las casillas ni la estructura. */
    html[data-private="true"] #closingsView .closing-row:not(.closing-header) .closing-cell:not(.closing-select-cell) > * {
      filter: blur(7px); user-select: none; pointer-events: none;
    }
    .closing-filter-panel { grid-template-columns: minmax(0,1fr); width: min(760px,calc(100vw - var(--sidebar-width) - 24px)); height: min(430px,calc(100vh - var(--header-height) - 28px)); }
    .closing-filter-panel .filter-content { grid-column: 1; }
    .closing-filter-panel .filter-scroll { padding: 22px 24px 18px; }
    .closing-filter-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 15px 14px; }
    .closing-filter-grid .span-2 { grid-column: span 2; }
    .closing-filter-panel .filter-actions { justify-content: flex-start; padding: 0 78px 0 24px; }
    #bulkDeleteClosingsButton { border-color: #d58f87; background: var(--surface); color: #a53b31; }
    #bulkDeleteClosingsButton:hover { background: #fff1ef; border-color: #c86d62; color: #8f2f27; }
    html[data-theme="dark"] #bulkDeleteClosingsButton { background: #2b2424; color: #ffb8ae; border-color: #7d4842; }
    html[data-theme="dark"] #bulkDeleteClosingsButton:hover { background: #3a2928; border-color: #a75a50; color: #ffd3cd; }
    .closing-trash-row { grid-template-columns: 26px minmax(165px,1.35fr) minmax(120px,.9fr) minmax(95px,.7fr) minmax(120px,.85fr) minmax(130px,.95fr) minmax(125px,.9fr) auto; }
    @media (max-width: 820px) { .closing-filter-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } .closing-filter-grid .span-2 { grid-column: span 2; } }
    @media (max-width: 720px) { .closing-filter-panel { width: calc(100vw - 20px); left: 50%; grid-template-columns: 1fr; height: min(560px,calc(100vh - 20px)); } .closing-filter-grid { grid-template-columns: 1fr; } .closing-filter-grid .span-2 { grid-column: auto; } }
    @media (max-width: 640px) { .closing-trash-row { grid-template-columns: 26px minmax(0,1fr) auto; } .closing-trash-row > .lead-trash-meta { display: none; } }

    .closing-modal-card { width: min(940px,100%); }
    .closing-form-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; }
    .closing-form-grid .span-2 { grid-column: span 2; }
    .closing-form-grid .wide { grid-column: 1 / -1; }
    .closing-form-section { grid-column: 1 / -1; display: grid; gap: 12px; padding: 15px; border: 1px solid var(--line); border-radius: 8px; background: var(--surface-soft); }
    .closing-form-section-title { margin: 0; font-family: var(--font-caption); font-size: 13px; letter-spacing: .45px; text-transform: uppercase; }
    .closing-calculation-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; }
    .closing-calculation-item { min-width: 0; padding: 10px 11px; border: 1px solid var(--line); border-radius: 6px; background: var(--surface); }
    .closing-calculation-item span { display: block; margin-bottom: 5px; color: var(--muted); font-size: 11px; line-height: 1.2; }
    .closing-calculation-item strong { display: block; overflow: hidden; color: var(--ink); font-size: 14px; font-variant-numeric: tabular-nums; text-overflow: ellipsis; white-space: nowrap; }
    .closing-form-note { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.45; }
    .closing-advisor-field { position: relative; }
    .closing-advisor-suggestions { position: absolute; z-index: 245; top: calc(100% + 3px); left: 0; right: 0; max-height: 230px; overflow-y: auto; border: 1px solid var(--line); border-radius: 6px; background: var(--surface); box-shadow: var(--shadow-panel); }
    .closing-advisor-suggestion { display: flex; align-items: center; justify-content: space-between; gap: 12px; width: 100%; min-height: 39px; padding: 8px 11px; border: 0; border-bottom: 1px solid var(--line); background: transparent; color: var(--ink); text-align: left; }
    .closing-advisor-suggestion:last-child { border-bottom: 0; }
    .closing-advisor-suggestion:hover, .closing-advisor-suggestion[aria-selected="true"] { background: var(--surface-hover); }
    .closing-advisor-suggestion strong { min-width: 0; overflow: hidden; font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
    .closing-advisor-suggestion small { flex: 0 0 auto; color: var(--muted); font-size: 11px; }
    .closing-advisor-empty { padding: 11px; color: var(--muted); font-size: 12px; }
    @media (max-width: 800px) { .closing-form-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } .closing-calculation-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }

    /* FILTER PANEL CENTRADO */
    .filter-scrim { position: fixed; z-index: 115; inset: var(--header-height) 0 0 var(--sidebar-width); background: rgba(0,0,0,.02); }
    .filter-panel {
      position: fixed; z-index: 120; top: var(--header-height);
      left: calc(var(--sidebar-width) + (100vw - var(--sidebar-width)) / 2);
      transform: translateX(-50%);
      display: grid; grid-template-columns: 190px minmax(360px, 450px);
      width: min(648px, calc(100vw - var(--sidebar-width) - 24px));
      height: min(634px, calc(100vh - var(--header-height) - 28px));
      overflow: hidden; background: #fbfbfb; box-shadow: var(--shadow-panel);
    }
    html[data-theme="dark"] .filter-panel { background: var(--surface); }
    .filter-presets { display: flex; flex-direction: column; padding: 0 20px; border-right: .8px solid var(--line); background: var(--surface); }
    .filter-preset-button {
      height: 48.8px; padding: 0 5px; border: 0; background: transparent; color: var(--ink);
      font-size: 15px; line-height: 50px; text-align: left; white-space: nowrap;
    }
    .filter-preset-button[aria-current="true"] { color: var(--blue-ink); font-weight: 700; }
    .filter-advisor-shortcut {
      display: grid; gap: 7px; margin-top: 10px; padding: 16px 5px 18px;
      border-top: 1px solid var(--line);
    }
    .filter-advisor-shortcut[hidden] { display: none !important; }
    .filter-advisor-shortcut label {
      color: var(--muted); font-size: 12px; font-weight: 700; letter-spacing: .15px;
    }
    .filter-advisor-shortcut .select { width: 100%; min-width: 0; }
    .filter-advisor-shortcut small { color: var(--muted); font-size: 11px; line-height: 1.35; }
    .filter-field-advisor-mobile { display: none; }
    .filter-content { display: grid; grid-template-rows: 1fr 65px; min-width: 0; min-height: 0; }
    .filter-scroll { min-height: 0; padding: 18px 20px 24px; overflow-y: auto; background: #fbfbfb; }
    html[data-theme="dark"] .filter-scroll { background: var(--surface); }
    .filter-title { margin: 0 0 16px; font-family: var(--font-caption); font-size: 15px; font-weight: 700; letter-spacing: .4px; }
    .filter-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 13px 12px; }
    .filter-field { display: grid; gap: 6px; }
    .filter-field.wide { grid-column: 1 / -1; }
    .filter-field label { color: var(--muted); font-size: 13px; }
    .filter-actions { position: relative; display: flex; align-items: center; justify-content: center; gap: 8px; height: 65px; padding: 0 72px; background: #fbfbfb; }
    html[data-theme="dark"] .filter-actions { background: var(--surface); }
    .filter-actions .button-primary { min-width: 83px; }
    .filter-actions .button-link { min-width: 116px; margin-left: 0; border-color: var(--line); background: transparent; color: var(--ink); }
    .filter-actions .button-link:hover { background: var(--surface-hover); }
    .modal-actions .button-link { min-width: 110px; border-color: var(--line); background: transparent; color: var(--ink); }
    .modal-actions .button-link:hover { background: var(--surface-hover); }
    .filter-actions .button-close { position: absolute; right: 20px; top: 50%; transform: translateY(-50%); display: grid; place-items: center; min-width: 42px; width: 42px; height: 42px; padding: 0; border: 1px solid var(--line); border-radius: 8px; background: var(--surface); color: var(--muted); }
    .filter-actions .button-close:hover { background: var(--surface-hover); color: var(--ink); }
    .filter-actions .button-close svg { display: block; width: 18px; height: 18px; margin: 0; }


    /* RECORDATORIOS V3 */
    #remindersView {
      display: flex; height: calc(100vh - 80px); min-height: 0;
      flex-direction: column; overflow: hidden;
    }
    .reminders-table-wrap { min-height: 0; flex: 1 1 auto; overflow: auto; padding-left: 15px; background: var(--workspace-canvas); scrollbar-width: thin; }
    .reminders-grid {
      --reminder-columns: 46px 104px 112px 230px 155px 190px 185px 120px 110px 145px 210px 92px;
      width: max-content; min-width: calc(100% - 15px); color: var(--ink);
    }
    html[data-team-columns="false"] .reminders-grid {
      --reminder-columns: 46px 104px 112px 230px 190px 185px 120px 110px 145px 210px 92px;
    }
    html[data-team-columns="false"] .reminder-advisor-column { display: none; }
    .reminder-row {
      display: grid; grid-template-columns: var(--reminder-columns); width: max-content; min-width: 100%;
      height: 39px; min-height: 39px; background: var(--surface); border-bottom: 1px solid var(--line);
    }
    .reminder-row:not(.reminder-header):hover { background: var(--surface-hover); }
    .reminder-row[data-selected="true"] { background: rgba(76,139,247,.09); box-shadow: inset 3px 0 0 var(--blue-ink); }
    html[data-theme="dark"] .reminder-row[data-selected="true"] { background: rgba(95,158,255,.14); }
    .reminder-select-cell { justify-content: center; padding: 0; }
    .reminder-select-cell .row-check { margin: 0; }
    .reminder-row[data-editable="true"] { cursor: pointer; }
    .reminder-row[data-editable="true"]:hover { box-shadow: inset 3px 0 0 var(--gold); }
    .reminder-header { position: sticky; z-index: 12; top: 0; height: 42px; color: var(--muted); background: var(--surface); box-shadow: 0 1px 0 var(--line); }
    .reminder-cell {
      display: flex; align-items: center; min-width: 0; height: 39px; padding: 0 10px;
      overflow: hidden; color: var(--ink); font-size: 14px; line-height: 18px; white-space: nowrap;
    }
    .reminder-header .reminder-cell {
      height: 42px; color: var(--muted); font-size: 12px; font-weight: 700; letter-spacing: .55px; text-transform: uppercase;
      border-right: 1px solid var(--line);
    }
    
    .reminder-header .reminder-cell.sortable-cell { padding: 0; }
    .reminder-sort-button {
      display: flex; align-items: center; width: 100%; height: 42px; min-width: 0;
      padding: 0 10px; border: 0; outline: 0; background: transparent; color: inherit;
      font-size: inherit; font-weight: inherit; letter-spacing: inherit; text-align: left;
      text-transform: inherit; white-space: nowrap;
    }
    .reminder-sort-button:hover { color: var(--ink); background: var(--surface-hover); }
    .reminder-sort-button:focus-visible { box-shadow: inset 0 0 0 2px rgba(76,139,247,.3); }
    .reminder-sort-button:hover .sort-indicator,
    .reminder-sort-button[data-active="true"] .sort-indicator { opacity: 1; }
    .reminder-sort-button[data-active="true"],
    .reminder-sort-button[data-active="true"] .sort-indicator { color: var(--blue-ink); }
    .reminder-time-cell { justify-content: center; text-align: center; }
    .reminder-time-cell > span { display: flex; width: 100%; justify-content: center; overflow: visible; }
    .reminder-time-cell .reminder-datetime { width: 98px; min-width: 98px; box-sizing: border-box; border-radius: 8px; overflow: hidden; font-variant-numeric: tabular-nums; }
    .reminder-sort-button[data-reminder-sort="time"] { justify-content: center; text-align: center; }
    .reminder-source-pill {
      display: inline-flex; align-items: center; min-height: 24px; padding: 2px 8px;
      border: 1px solid var(--line); border-radius: 999px; background: var(--surface-soft);
      color: var(--muted); font-size: 11px; font-weight: 700; text-transform: uppercase;
    }
    .general-reminder-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
    .general-reminder-grid .wide { grid-column: 1 / -1; }
    .general-reminder-assignment { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; align-items:start; }
    .general-reminder-assignment > .field { margin-bottom:0; align-self:start; }
    .general-reminder-assignment > .field > label { display:flex; align-items:center; min-height:16px; line-height:16px; }
    .general-reminder-assignment .select,
    .general-reminder-assignment .reminder-multi-toggle { height:42px; min-height:42px; box-sizing:border-box; border-radius:8px; }
    .general-reminder-assignment .select { padding-top:0; padding-bottom:0; }
    .reminder-multi-select { position:relative; min-width:0; }
    .reminder-multi-toggle { width:100%; min-height:42px; display:flex; align-items:center; justify-content:space-between; gap:10px; padding:0 12px; border:1px solid var(--line); border-radius:8px; background:var(--surface); color:var(--ink); font:inherit; text-align:left; cursor:pointer; }
    .reminder-multi-toggle:hover,.reminder-multi-toggle[data-active="true"] { border-color:color-mix(in srgb,var(--blue) 58%,var(--line)); background:var(--surface-hover); }
    .reminder-multi-toggle svg { width:17px; height:17px; flex:0 0 auto; color:var(--muted); }
    .reminder-multi-menu { position:absolute; z-index:42; left:0; right:0; top:calc(100% + 6px); max-height:260px; overflow:auto; padding:6px; border:1px solid var(--line); border-radius:10px; background:var(--surface); box-shadow:0 16px 38px rgba(0,0,0,.18); }
    .reminder-multi-list { display:grid; gap:3px; }
    .reminder-multi-option { min-height:36px; display:flex; align-items:center; gap:9px; padding:7px 9px; border-radius:7px; color:var(--ink); cursor:pointer; }
    .reminder-multi-option:hover,.reminder-multi-option[data-selected="true"] { background:var(--blue-soft); }
    .reminder-multi-option input { width:16px; height:16px; accent-color:var(--blue); flex:0 0 auto; }
    .reminder-multi-option span { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
    .reminder-multi-empty { padding:10px; color:var(--muted); font-size:12px; text-align:center; }
    .reminder-multi-chips { display:flex; flex-wrap:wrap; gap:6px; margin-top:7px; }
    .reminder-multi-chip { display:inline-flex; align-items:center; gap:6px; max-width:100%; min-height:26px; padding:3px 7px 3px 9px; border:1px solid color-mix(in srgb,var(--blue) 35%,var(--line)); border-radius:999px; background:var(--blue-soft); color:var(--blue-ink); font:inherit; font-size:11px; font-weight:700; cursor:pointer; }
    .reminder-multi-chip span { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
    .reminder-multi-chip b { font-size:15px; line-height:1; font-weight:700; }
    .general-reminder-note { min-height: 88px; resize: vertical; }
    @media (max-width: 680px) {
      .general-reminder-grid { grid-template-columns: 1fr; }
      .general-reminder-grid .wide { grid-column: 1; }
      .general-reminder-assignment { grid-template-columns:1fr; }
    }
    .reminder-cell > span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .reminder-datetime {
      display: inline-flex; align-items: center; justify-content: center; min-width: 68px; min-height: 25px;
      padding: 3px 7px; border-radius: 8px; background: #e7f0ff; color: #285d9e; font-weight: 700;
    }
    .reminder-datetime.is-today { background: #fff0c8; color: #795100; }
    .reminder-datetime.is-overdue { background: #ffe0dc; color: #9d2f22; }
    html[data-theme="dark"] .reminder-datetime { background: #233e60; color: #dcecff; }
    html[data-theme="dark"] .reminder-datetime.is-today { background: #5a461b; color: #ffe7a1; }
    html[data-theme="dark"] .reminder-datetime.is-overdue { background: #643129; color: #ffe0da; }
    .reminder-actions { display: flex; align-items: center; justify-content: center; gap: 5px; }
    .reminder-action-button {
      display: inline-grid; place-items: center; width: 30px; height: 30px; padding: 0; border: 1px solid var(--line);
      border-radius: 5px; background: var(--surface); color: var(--muted);
    }
    .reminder-action-button:hover { background: var(--surface-hover); color: var(--ink); }
    .reminder-action-button.danger:hover { border-color: #d58f87; color: #b33d30; }
    .reminder-action-button svg { width: 15px; height: 15px; }
    .reminder-form-section {
      grid-column: 1 / -1; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px;
      margin-top: -6px; padding: 6px 16px 16px; border: 1px solid var(--line); border-radius: 8px; background: var(--surface-soft);
    }
    .reminder-form-title { grid-column: 1 / -1; margin: 0; font-family: var(--font-caption); font-size: 13px; letter-spacing: .5px; }
    .reminder-repeat { grid-column: 1 / -1; display: grid; gap: 8px; }
    .reminder-repeat-label { color: var(--muted); font-size: 13px; }
    .reminder-repeat-buttons { display: flex; flex-wrap: wrap; gap: 7px; }
    .reminder-repeat-button {
      min-height: 34px; padding: 0 12px; border: 1px solid var(--line); border-radius: 6px;
      background: var(--surface); color: var(--ink); font-size: 12px;
    }
    .reminder-repeat-button[aria-pressed="true"] { border-color: var(--gold-dark); background: var(--gold); color: #fff; }
    .reminder-filter-note { grid-column: 1 / -1; margin: 0; color: var(--muted); font-size: 11px; line-height: 1.45; }
    @media (max-width: 760px) {
      .reminder-form-section { grid-template-columns: 1fr; }
      .reminder-form-title, .reminder-repeat, .reminder-filter-note { grid-column: 1; }
    }

    /* CALCULAR COMISIÓN */
    .calculator-view { min-height: calc(100vh - var(--header-height)); padding: 0 15px 15px; overflow-y: auto; background: var(--page); }
    .calculator-shell { display: grid; grid-template-columns: minmax(420px,1.05fr) minmax(360px,.95fr); gap: 15px; width: 100%; margin: 0; }
    .calculator-card { min-width: 0; border: 1px solid var(--line); border-radius: 0; background: var(--surface); box-shadow: 0 8px 28px rgba(26,31,38,.05); }
    .calculator-card-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; padding: 20px 22px 16px; border-bottom: 1px solid var(--line); }
    .calculator-card-header h2 { margin: 0 0 5px; font-family: var(--font-caption); font-size: 17px; letter-spacing: .45px; }
    .calculator-card-header p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.45; }
    .calculator-independent-badge { display: inline-flex; align-items: center; min-height: 25px; padding: 3px 9px; border: 1px solid rgba(174,138,71,.55); border-radius: 0; background: rgba(174,138,71,.12); color: var(--gold-ink); font-size: 10px; font-weight: 800; letter-spacing: .45px; white-space: nowrap; }
    .calculator-form { padding: 20px 22px 22px; }
    .calculator-form-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
    .calculator-form-grid .wide { grid-column: 1 / -1; }
    .calculator-field-note { margin: -2px 0 0; color: var(--muted); font-size: 11px; line-height: 1.4; }
    .calculator-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 9px; margin-top: 20px; padding-top: 18px; border-top: 1px solid var(--line); }
    .calculator-actions .button { min-width: 118px; }
    .calculator-actions .button-link { border-color: var(--line); background: transparent; }
    .calculator-actions .button-link:hover { background: var(--surface-hover); }
    .calculator-result-card { overflow: hidden; }
    .calculator-result-context { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 13px 18px; border-bottom: 1px solid var(--line); background: var(--surface-soft); color: var(--muted); font-size: 12px; }
    .calculator-result-context strong { color: var(--ink); font-family: var(--font-caption); font-size: 11px; letter-spacing: .45px; text-transform: uppercase; }
    .calculator-result-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; padding: 18px; }
    .calculator-result-item { min-width: 0; padding: 13px 14px; border: 1px solid var(--line); border-radius: 0; background: var(--surface); }
    .calculator-result-item.wide { grid-column: 1 / -1; }
    .calculator-result-item[data-highlight="true"] { border-color: rgba(174,138,71,.6); background: rgba(174,138,71,.08); }
    .calculator-result-item span { display: block; margin-bottom: 6px; color: var(--muted); font-size: 11px; line-height: 1.25; }
    .calculator-result-item strong { display: block; overflow: hidden; color: var(--ink); font-size: 17px; font-variant-numeric: tabular-nums; text-overflow: ellipsis; white-space: nowrap; }
    .calculator-result-detail { margin: 0 18px 18px; padding: 12px 13px; border-left: 3px solid var(--gold); background: var(--surface-soft); color: var(--muted); font-size: 12px; line-height: 1.5; }
    .calculator-result-tools { display: flex; gap: 8px; padding: 0 18px 18px; }
    .calculator-result-tools .button { flex: 1 1 0; }
    .calculator-result-tools .button:disabled { opacity: .55; cursor: not-allowed; }
    .calculator-history-card { grid-column: 1 / -1; }
    .calculator-history-header { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 18px 20px 14px; border-bottom: 1px solid var(--line); }
    .calculator-history-header h2 { margin: 0 0 4px; font-family: var(--font-caption); font-size: 16px; letter-spacing: .4px; }
    .calculator-history-header p { margin: 0; color: var(--muted); font-size: 12px; }
    .calculator-history-header .button { min-width: 116px; border-color: var(--line); background: transparent; }
    .calculator-history-list { display: grid; gap: 10px; padding: 16px 18px 20px; }
    .calculator-history-empty { padding: 30px 18px; color: var(--muted); text-align: center; }
    .calculator-history-item { display: grid; grid-template-columns: minmax(180px,1.3fr) repeat(3,minmax(115px,.75fr)) auto; align-items: center; gap: 12px; padding: 12px 13px; border: 1px solid var(--line); border-radius: 0; background: var(--surface); }
    .calculator-history-main { min-width: 0; }
    .calculator-history-main strong { display: block; overflow: hidden; margin-bottom: 4px; font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
    .calculator-history-main span, .calculator-history-metric span { display: block; color: var(--muted); font-size: 10px; line-height: 1.25; }
    .calculator-history-metric { min-width: 0; }
    .calculator-history-metric strong { display: block; overflow: hidden; margin-bottom: 3px; font-size: 12px; font-variant-numeric: tabular-nums; text-overflow: ellipsis; white-space: nowrap; }
    .calculator-history-actions { display: flex; align-items: center; gap: 6px; }
    .calculator-history-action { display: inline-grid; place-items: center; min-width: 36px; width: 36px; height: 36px; padding: 0; border: 1px solid var(--line); border-radius: 5px; background: transparent; color: var(--muted); }
    .calculator-history-action:hover { background: var(--surface-hover); color: var(--ink); }
    .calculator-history-action[data-kind="delete"] { color: #a53b31; border-color: #d58f87; }
    .calculator-history-action svg { width: 17px; height: 17px; }
    html[data-private="true"] #calculatorView .calculator-sensitive { filter: blur(7px); user-select: none; }
    @media (max-width: 980px) { .calculator-shell { grid-template-columns: 1fr; } .calculator-history-card { grid-column: 1; } }
    @media (max-width: 760px) { .calculator-view { padding: 0 15px 15px; } .calculator-form-grid, .calculator-result-grid { grid-template-columns: 1fr; } .calculator-form-grid .wide { grid-column: auto; } .calculator-history-item { grid-template-columns: minmax(0,1fr) auto; } .calculator-history-metric { display: none; } }

    /* POPOVERS */
    .popover {
      position: fixed; z-index: 190; width: 260px; padding: 8px; border: 1px solid var(--line);
      border-radius: 7px; background: var(--surface); box-shadow: var(--shadow-panel);
    }
    .popover-title { margin: 4px 8px 8px; font-family: var(--font-caption); font-size: 14px; letter-spacing: .4px; }
    .popover-item {
      display: flex; align-items: center; width: 100%; min-height: 38px; padding: 8px 10px;
      border: 0; border-radius: 4px; background: transparent; color: var(--ink); text-align: left;
    }
    .popover-item:hover { background: var(--surface-hover); }
    .popover-item svg { width: 18px; height: 18px; margin-right: 9px; }
    .popover-note { padding: 12px; color: var(--muted); line-height: 1.45; }
    .header-actions-popover { width: 286px; }
    .header-actions-popover .popover-item { gap: 0; }
    .header-actions-popover .popover-item svg { flex: 0 0 auto; }
    .header-actions-popover .popover-note { padding: 8px 10px 10px; font-size: 11px; }

    #notificationsPopover { width: 344px; max-height: min(520px, calc(100vh - 24px)); overflow: hidden; }
    .notification-center-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 4px 8px 8px; }
    .notification-center-head .popover-title { margin: 0; }
    .notification-center-status { color: var(--muted); font-size: 11px; }
    .notification-list { display: grid; gap: 6px; max-height: 340px; overflow-y: auto; padding: 0; }
    .notification-item {
      display: grid; grid-template-columns: 34px minmax(0,1fr); gap: 9px; width: 100%; padding: 10px;
      border: 1px solid var(--line); border-radius: 7px; background: var(--surface); color: var(--ink); text-align: left;
    }
    .notification-item:hover { background: var(--surface-hover); }
    .notification-item-icon { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: #ffe0dc; color: #9d2f22; }
    html[data-theme="dark"] .notification-item-icon { background: #643129; color: #ffe0da; }
    .notification-item-icon svg { width: 17px; height: 17px; }
    .notification-item-body { min-width: 0; }
    .notification-item-title { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: 700; font-size: 12px; }
    .notification-item-meta { display: block; margin-top: 3px; color: var(--muted); font-size: 11px; line-height: 1.35; }
    .notification-summary-item { grid-template-columns: 36px minmax(0,1fr); min-height: 66px; gap: 8px; padding: 9px; }
    .notification-summary-item .notification-item-icon { width: 36px; height: 36px; border: 1px solid rgba(174,138,71,.46); background: rgba(174,138,71,.12); color: var(--gold); }
    .notification-summary-item[data-kind="overdue"] .notification-item-icon { border-color: rgba(217,67,67,.45); background: rgba(217,67,67,.12); color: #d94343; }
    .notification-summary-item .notification-item-icon svg { width: 17px; height: 17px; }
    .notification-summary-item .notification-item-title { font-size: 13px; white-space: normal; }
    .notification-summary-item .notification-item-meta { font-size: 12px; line-height: 1.4; }
    .notification-empty { padding: 18px 12px; border: 1px dashed var(--line); border-radius: 7px; color: var(--muted); font-size: 12px; line-height: 1.45; text-align: center; }
    .notification-center-action { width: 100%; margin-top: 7px; }

    /* ALERTA CENTRAL DE RECORDATORIOS */
    .reminder-alert-backdrop { z-index: 360; background: rgba(10,12,16,.72); backdrop-filter: blur(4px); }
    .reminder-alert-card { width: min(880px,100%); overflow: hidden; border: 1px solid rgba(184,145,70,.72); box-shadow: 0 28px 90px rgba(0,0,0,.48),0 0 0 4px rgba(184,145,70,.12); }
    .reminder-alert-hero { display: grid; justify-items: center; gap: 10px; padding: 28px 26px 18px; text-align: center; }
    .reminder-alert-bell { display: grid; place-items: center; width: 68px; height: 68px; border-radius: 50%; background: var(--gold); color: #fff; box-shadow: 0 0 0 9px rgba(184,145,70,.15); animation: reminderBellPulse 1.25s ease-in-out infinite; }
    .reminder-alert-bell svg { width: 32px; height: 32px; }
    .reminder-alert-hero h2 { margin: 8px 0 0; font-family: var(--font-caption); font-size: 22px; letter-spacing: .3px; }
    .reminder-alert-hero p { margin: 0; color: var(--muted); line-height: 1.45; }
    .reminder-alert-list { display: grid; gap: 9px; max-height: 250px; overflow-y: auto; padding: 0 22px 8px; }
    .reminder-alert-entry { display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;padding:13px 15px; border: 1px solid var(--line); border-left: 4px solid var(--gold); border-radius: 7px; background: var(--surface-hover); }
    .reminder-alert-entry-copy{min-width:0}.reminder-alert-entry-title{display:flex;align-items:baseline;gap:8px;min-width:0;margin-bottom:4px}.reminder-alert-entry-title strong{flex:0 0 auto;margin:0}.reminder-alert-entry-note{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink)!important;font-size:14px!important}.reminder-alert-entry-note::before{content:"—";margin-right:8px;color:var(--gold)}.reminder-alert-entry-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
    .reminder-alert-entry strong { display: block; margin-bottom: 4px; font-size: 14px; }
    .reminder-alert-entry span { color: var(--muted); font-size: 12px; }
    .reminder-alert-action,.reminder-alert-actions .button{border:1px solid var(--gold)!important;background:transparent!important;color:var(--ink)!important;font-weight:700}.reminder-alert-action:hover,.reminder-alert-actions .button:hover{background:rgba(184,145,70,.12)!important}
    .reminder-alert-action{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:7px 11px;border-radius:4px;cursor:pointer;white-space:nowrap}.reminder-alert-action-icon{width:36px;min-width:36px;padding:0}.reminder-alert-action svg{display:block;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.reminder-alert-action[disabled]{cursor:not-allowed;opacity:.42}
    .reminder-alert-actions { justify-content:center!important;padding-top:14px; }
    @media(max-width:760px){.reminder-alert-entry{grid-template-columns:1fr}.reminder-alert-entry-actions{justify-content:flex-start}.reminder-alert-card{width:min(560px,100%)}}
    @keyframes reminderBellPulse { 0%,100% { transform: rotate(0) scale(1); } 20% { transform: rotate(-8deg) scale(1.04); } 40% { transform: rotate(8deg) scale(1.04); } 60% { transform: rotate(-4deg); } 80% { transform: rotate(4deg); } }
    @media (prefers-reduced-motion:reduce) { .reminder-alert-bell { animation: none; } }

    /* PERFIL PERSONAL · consolidado V3.297 */
    .profile-view{height:calc(100vh - 80px);padding:0 15px 15px;overflow:hidden}
    .profile-panel{display:flex;width:100%;height:100%;margin:0;flex-direction:column;border:1px solid var(--line);border-radius:10px;background:var(--surface);box-shadow:0 12px 34px rgba(0,0,0,.08);overflow:hidden}
    .profile-panel-head{display:flex;align-items:center;gap:14px;min-height:96px;padding:14px 15px;border-bottom:1px solid var(--line)}
    .profile-avatar-picker{position:relative;display:grid;place-items:center;width:70px;height:70px;flex:0 0 70px;padding:0;border:2px solid var(--gold);border-radius:50%;background:rgba(174,138,71,.14);color:var(--gold);overflow:hidden;cursor:pointer}
    .profile-panel-avatar{display:grid;place-items:center;width:100%;height:100%;font-family:var(--font-caption);font-size:24px;font-weight:800}
    .profile-panel-avatar img,.profile-avatar img{width:100%;height:100%;display:block;object-fit:cover}
    .profile-avatar-edit{position:absolute;inset:auto 0 0;display:flex;align-items:center;justify-content:center;height:21px;background:rgba(0,0,0,.72);color:#fff;font-size:9px;font-weight:800;letter-spacing:.2px}
    .profile-avatar-picker:focus-visible{outline:3px solid rgba(174,138,71,.3);outline-offset:3px}
    .profile-panel-identity{min-width:0}
    .profile-panel-identity h2{margin:0 0 5px;font-family:var(--font-caption);font-size:21px}
    .profile-panel-identity p{margin:0;color:var(--muted)}
    .profile-form{display:flex;min-height:0;flex:1 1 auto;flex-direction:column;padding:15px}
    .profile-columns{display:grid;min-height:0;grid-template-columns:minmax(0,1.12fr) minmax(340px,.88fr);align-items:stretch;gap:15px}
    .profile-card{align-self:stretch;padding:15px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2)}
    .profile-card-title{margin:0 0 12px;font-family:var(--font-caption);font-size:17px;letter-spacing:.3px}
    .profile-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px 15px}
    .profile-social-grid{display:grid;grid-template-columns:1fr;gap:9px}
    .profile-social-grid .field label{display:flex;align-items:center;justify-content:space-between}
    .profile-social-hint{color:var(--muted);font-size:11px;font-weight:500}
    .profile-form .field.wide{grid-column:1/-1}
    .profile-readonly{background:var(--surface-hover)!important;color:var(--muted)!important;cursor:not-allowed}
    .profile-section-title{grid-column:1/-1;margin:3px 0 0;padding-top:13px;border-top:1px solid var(--line);font-family:var(--font-caption);font-size:14px;letter-spacing:.35px}
    .profile-section-note{grid-column:1/-1;margin:-5px 0 0;color:var(--muted);font-size:12px;line-height:1.3}
    .profile-password-wrap{position:relative}
    .profile-password-wrap .input{padding-right:44px}
    .profile-password-toggle{position:absolute;right:7px;top:50%;display:grid;place-items:center;width:32px;height:32px;padding:0;border:0;background:transparent;color:var(--muted);transform:translateY(-50%);cursor:pointer}
    .profile-password-toggle svg{width:18px;height:18px}
    .profile-form-actions{display:flex;justify-content:flex-end;padding-top:15px}
    .profile-form-actions .button{min-height:38px;background:var(--gold);border-color:var(--gold);color:#fff}

    @media(max-width:900px),(max-height:760px){
      .profile-view{height:calc(100vh - 80px);overflow:auto}
      .profile-panel{height:auto;min-height:100%}
      .profile-form{overflow:visible}
      .profile-columns{grid-template-columns:1fr}
    }
    @media(max-width:720px){
      .profile-view{padding:0 15px 15px}
      .profile-panel-head,.profile-form{padding:15px}
      .profile-form-grid{grid-template-columns:1fr}
      .profile-form .field.wide{grid-column:auto}
      .profile-card{padding:15px}
    }
    @media(min-width:901px) and (min-height:761px){
      .profile-card{display:flex;min-height:0;flex-direction:column}
      .profile-form-grid,.profile-social-grid{min-height:0;flex:1 1 auto;grid-template-rows:repeat(5,minmax(0,1fr));gap:0 15px}
      .profile-form-grid>.field,.profile-social-grid>.field{align-self:start}
      .profile-form-grid>.field:nth-child(1),.profile-form-grid>.field:nth-child(2),.profile-social-grid>.field:nth-child(1){grid-row:1}
      .profile-form-grid>.field:nth-child(3),.profile-form-grid>.field:nth-child(4),.profile-social-grid>.field:nth-child(2){grid-row:2}
      .profile-form-grid>.field:nth-child(5),.profile-form-grid>.field:nth-child(6),.profile-social-grid>.field:nth-child(3){grid-row:3}
      .profile-form-grid>.profile-section-title{grid-row:4;align-self:start;margin:0;padding-top:10px}
      .profile-form-grid>.profile-section-note{grid-row:4;align-self:center;margin:26px 0 0}
      .profile-social-grid>.field:nth-child(4){grid-row:4}
      .profile-form-grid>.field:nth-child(9){grid-row:5;grid-column:1}
      .profile-form-grid>.field:nth-child(10){grid-row:5;grid-column:2}
      .profile-social-grid>.field:nth-child(5){grid-row:5}
    }

    /* MODAL NUEVO LEAD */
    .modal-backdrop { position: fixed; z-index: 210; inset: 0; display: grid; place-items: center; padding: 24px; background: rgba(22,25,30,.38); -webkit-backdrop-filter: blur(5px); backdrop-filter: blur(5px); }
    .modal-card { width: min(720px, 100%); max-height: calc(100vh - 48px); overflow-y: auto; border-radius: 10px; background: var(--surface); box-shadow: 0 24px 70px rgba(0,0,0,.24); }
    .modal-header { display: flex; align-items: center; justify-content: space-between; min-height: 64px; padding: 0 22px; border-bottom: 1px solid var(--line); }
    .modal-header h2 { margin: 0; font-family: var(--font-caption); font-size: 16px; letter-spacing: .5px; }
    .modal-close { display: grid; place-items: center; width: 36px; height: 36px; border: 1px solid var(--line); border-radius: 4px; background: transparent; color: var(--ink); cursor: pointer; }
    .modal-close:hover { background: var(--surface-hover); }
    .modal-close,
    .royalties-modal-close { display:grid!important;place-items:center!important;width:36px!important;min-width:36px!important;height:36px!important;padding:0!important;border:1px solid var(--line)!important;border-radius:4px!important;background:transparent!important;color:var(--ink)!important;font-size:initial!important;line-height:1!important;cursor:pointer!important; }
    .modal-close svg,
    .royalties-modal-close svg { display:block;width:18px!important;height:18px!important;margin:0!important;stroke-width:1.7; }
    .modal-body { padding: 22px; }
    .new-lead-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 14px; }
    .new-lead-grid .wide { grid-column: 1 / -1; }
    .modal-actions { display: flex; justify-content: flex-end; gap: 9px; padding: 16px 22px 22px; }
    .compact-modal-card { width: min(500px, 100%); }
    .security-warning { margin: 0 0 16px; padding: 12px 14px; border: 1px solid #e3b3ad; border-radius: 7px; background: #fff4f2; color: #76362f; line-height: 1.5; }
    html[data-theme="dark"] .security-warning { border-color: #70433e; background: #322524; color: #ffc9c1; }
    .security-note { margin: 10px 0 0; color: var(--muted); font-size: 12px; line-height: 1.45; }
    .button-danger { border-color: #a84035; background: #b94a3e; color: #fff; }
    .button-danger:hover:not(:disabled) { border-color: #8f332a; background: #a33d33; }
    /* ROCKET CRM · V3.272 · Centro de Invitaciones con footer fijo */
    .invitations-view{padding:0;overflow:hidden;background:var(--surface-soft,#f6f7f9)}
    #invitationsView{height:calc(100vh - 80px);min-height:0;flex-direction:column;overflow:hidden}
    #invitationsView:not([hidden]){display:flex}
    .invitations-shell{display:flex;min-height:0;flex:1 1 auto;overflow:auto;flex-direction:column;gap:14px;padding:0 15px 15px}
    .invitation-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
    .invitation-kpi{min-height:84px;padding:15px 16px;border:1px solid var(--line);border-radius:9px;background:var(--surface);box-shadow:0 2px 8px rgba(15,23,42,.035)}
    .invitation-kpi span{display:block;color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.35px;text-transform:uppercase}
    .invitation-kpi strong{display:block;margin-top:8px;color:var(--ink);font-size:26px;line-height:1}
    .invitation-panel{min-height:0;border:1px solid var(--line);border-radius:9px;background:var(--surface);overflow:hidden}
    .invitation-toolbar{display:flex;align-items:center;gap:10px;padding:12px;border-bottom:1px solid var(--line);background:var(--surface)}
    .invitation-status-filters{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
    .invitation-filter{min-height:34px;padding:6px 11px;border:1px solid var(--line);border-radius:7px;background:var(--surface);color:var(--muted);font-size:12px;font-weight:700;cursor:pointer}
    .invitation-filter[aria-pressed="true"]{border-color:var(--gold);background:rgba(174,138,71,.10);color:var(--gold-dark)}
    .invitation-search{min-width:180px;max-width:320px;flex:1;margin-left:auto}
    .invitation-toolbar-actions{display:flex;align-items:center;gap:8px}
    .invitation-toolbar-actions .button{min-height:36px;white-space:nowrap}
    .invitation-table-wrap{overflow:auto}
    .invitation-table{width:100%;min-width:1040px;border-collapse:collapse;table-layout:fixed}
    .invitation-col-status{width:110px}.invitation-col-type{width:105px}.invitation-col-recipient{width:220px}.invitation-col-office{width:175px}.invitation-col-created{width:120px}.invitation-col-expiry{width:125px}.invitation-col-accepted{width:125px}.invitation-col-actions{width:190px}
    .invitation-actions-head{text-align:right!important}
    .invitation-table th,.invitation-table td{padding:11px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle;font-size:12px}
    .invitation-table th{position:sticky;top:0;z-index:1;background:var(--surface);color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.38px;text-transform:uppercase}
    .invitation-table tbody tr:hover{background:var(--surface-hover)}
    .invitation-table tbody tr:last-child td{border-bottom:0}
    .invitation-recipient strong,.invitation-office strong{display:block;color:var(--ink);font-size:12px;line-height:1.35}
    .invitation-recipient span,.invitation-office span,.invitation-date-sub{display:block;margin-top:3px;color:var(--muted);font-size:10px;line-height:1.35}
    .invitation-code-inline{display:inline-flex;max-width:100%;padding:5px 7px;border:1px solid var(--line);border-radius:6px;background:var(--surface-hover);font:700 11px/1.2 ui-monospace,SFMono-Regular,Consolas,monospace;overflow-wrap:anywhere}
    .invitation-status{display:inline-flex;align-items:center;min-height:25px;padding:4px 8px;border-radius:999px;font-size:10px;font-weight:800;white-space:nowrap}
    .invitation-status[data-status="pending"]{background:rgba(0,85,221,.10);color:#0055DD}
    .invitation-status[data-status="accepted"]{background:rgba(35,150,88,.12);color:#1F7A4D}
    .invitation-status[data-status="expired"]{background:rgba(100,116,139,.13);color:#53657A}
    .invitation-status[data-status="cancelled"],.invitation-status[data-status="error"]{background:rgba(190,55,55,.11);color:#B42323}
    .invitation-type{display:inline-flex;align-items:center;gap:5px;color:var(--ink);font-weight:700}
    .invitation-row-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap}
    .invitation-row-action{min-height:29px;padding:5px 8px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--ink);font-size:10px;font-weight:700;cursor:pointer}
    .invitation-row-action:hover{background:var(--surface-hover)}
    .invitation-row-action[data-action="cancel"]{color:var(--red)}
    .invitation-empty{padding:44px 18px;text-align:center;color:var(--muted);font-size:13px;line-height:1.55}
    /* ROCKET CRM · V3.272 · Paginación del Centro de Invitaciones */
    .invitation-access-note{padding:8px 12px;color:var(--muted);font-size:11px;line-height:1.4}
    #invitationPagination{width:100%;flex:0 0 50px}
    #invitationPagination .advisor-pagination-summary{display:none}
    .email-invite-modal-card{width:min(560px,100%)}
    .email-invite-modal-card .modal-header{min-height:0;align-items:flex-start;padding:22px 22px 18px}
    .email-invite-modal-card .modal-body{padding:22px 22px 0}
    .email-invite-modal-card .modal-actions{padding:22px}
    .email-invite-note{margin:2px 0 0;padding:10px 12px;border-radius:7px;background:var(--surface-hover);color:var(--muted);font-size:11px;line-height:1.5}
    .email-invite-message{margin:12px 0 0;color:var(--muted);font-size:12px}.email-invite-message:empty{display:none}.email-invite-message[data-kind="error"]{color:var(--red)}
    .invitation-cancel-card{width:min(470px,100%)}
    .invitation-cancel-copy{margin:0;color:var(--muted);font-size:13px;line-height:1.6}
    .invitation-cancel-copy strong{color:var(--ink)}
    @media(max-width:980px){.invitation-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.invitation-toolbar{align-items:stretch;flex-direction:column}.invitation-search{width:100%;max-width:none;margin-left:0}.invitation-toolbar-actions{justify-content:flex-end}}
    @media(max-width:560px){.invitation-kpis{grid-template-columns:1fr 1fr}.invitation-shell{padding:0 10px 10px}.invitation-toolbar-actions{display:grid;grid-template-columns:1fr 1fr}.invitation-toolbar-actions .button{width:100%}}
    html[data-theme="light"][data-brand-theme="rocket"] .invitation-filter[aria-pressed="true"]{border-color:#0055DD;background:#EAF1FF;color:#0055DD}
    html[data-theme="light"][data-brand-theme="rocket"] #refreshInvitationsButton,
    html[data-theme="light"][data-brand-theme="rocket"] #newCodeInvitationButton{border-color:#0055DD;background:#FFFFFF;color:#0055DD;box-shadow:inset 0 0 0 1px rgba(0,85,221,.05)}
    html[data-theme="light"][data-brand-theme="rocket"] #refreshInvitationsButton:hover:not(:disabled),
    html[data-theme="light"][data-brand-theme="rocket"] #newCodeInvitationButton:hover:not(:disabled){border-color:#004BC4;background:#EAF1FF;color:#004BC4}
    html[data-theme="light"][data-brand-theme="rocket"] #refreshInvitationsButton:focus-visible,
    html[data-theme="light"][data-brand-theme="rocket"] #newCodeInvitationButton:focus-visible{outline:0;box-shadow:0 0 0 3px rgba(0,85,221,.16)}
    html[data-theme="light"][data-brand-theme="rocket"] .invitation-kpi{border-color:#D7E4F7}
    html[data-theme="light"][data-brand-theme="rocket"] .invitation-kpi strong{color:#0055DD}
    html[data-theme="light"][data-brand-theme="rocket"] .invite-result{border-color:rgba(0,85,221,.35);background:#EAF1FF}
    .invite-modal-card{width:min(520px,100%)}
    .invite-form-grid{display:grid;grid-template-columns:1fr 180px;gap:14px}
    .invite-result{margin-top:18px;padding:15px;border:1px solid rgba(174,138,71,.55);border-radius:7px;background:rgba(174,138,71,.08)}
    .invite-result-label{display:block;margin-bottom:7px;color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.45px;text-transform:uppercase}
    .invite-code-row{display:flex;align-items:center;gap:9px}.invite-code{min-width:0;flex:1;font:800 16px/1.2 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.7px;overflow-wrap:anywhere}
    .invite-result-meta{display:block;margin-top:9px;color:var(--muted);font-size:12px;line-height:1.45}
    .invite-message{min-height:18px;margin:12px 0 0;color:var(--muted);font-size:12px}.invite-message[data-kind="error"]{color:var(--red)}
    #inviteGenerate{border-color:var(--gold-dark);background:var(--gold);color:#fff}#inviteGenerate:hover:not(:disabled){filter:brightness(.96)}
    @media(max-width:560px){.invite-form-grid{grid-template-columns:1fr}.invite-code-row{align-items:stretch;flex-direction:column}}

    /* TEMAS · familia visual aislada por usuario */
    .themes-modal-card{width:min(940px,calc(100vw - 32px));overflow:hidden}
    .themes-modal-card .modal-header>div{min-width:0}
    .themes-modal-card .modal-subtitle{margin:4px 0 0;color:var(--muted);font-size:12px;font-weight:400;line-height:1.35}
    .themes-intro{margin:0 0 16px;color:var(--muted);font-size:13px;line-height:1.5}
    .themes-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
    .theme-option{display:flex;min-width:0;min-height:190px;padding:0;overflow:hidden;flex-direction:column;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--ink);text-align:left;transition:border-color .15s,box-shadow .15s,transform .15s}
    .theme-option:hover{border-color:#c8ccd2;box-shadow:0 10px 24px rgba(0,0,0,.08);transform:translateY(-1px)}
    .theme-option[aria-pressed="true"]{border-color:var(--gold);box-shadow:0 0 0 2px rgba(174,138,71,.16)}
    .theme-option[data-brand-theme-option="rocket"][aria-pressed="true"],.theme-option[data-brand-theme-option="dark-rocket"][aria-pressed="true"]{border-color:#0055DD;box-shadow:0 0 0 2px rgba(0,85,221,.18)}
    .theme-preview{position:relative;height:92px;border-bottom:1px solid var(--line);overflow:hidden}
    .theme-preview-century{background:#f5f5f5}
    .theme-preview-century:before,.theme-preview-dark-century:before,.theme-preview-rocket:before{content:"";position:absolute;left:0;top:0;width:24%;height:100%}
    .theme-preview-century:before{background:#ffffff}
    .theme-preview-century:after{content:"";position:absolute;left:31%;right:8%;top:21px;height:12px;border-radius:3px;background:#ae8a47;box-shadow:0 23px 0 #fff,0 46px 0 #fff}
    .theme-preview-dark-century{background:#111318}
    .theme-preview-dark-century:before{background:#1b1e23}
    .theme-preview-dark-century:after{content:"";position:absolute;left:31%;right:8%;top:21px;height:12px;border-radius:3px;background:#ae8a47;box-shadow:0 23px 0 #24282f,0 46px 0 #24282f}
    .theme-preview-rocket{background:#fff}
    .theme-preview-rocket:before{background:#0055DD}
    .theme-preview-rocket:after{content:"";position:absolute;left:31%;right:8%;top:21px;height:12px;border-radius:3px;background:#0055DD;box-shadow:0 23px 0 #eef4ff,0 46px 0 #eef4ff}
    .theme-preview-dark-rocket{background:#0B0F17}
    .theme-preview-dark-rocket:before{content:"";position:absolute;left:0;top:0;width:24%;height:100%;background:#0055DD}
    .theme-preview-dark-rocket:after{content:"";position:absolute;left:31%;right:8%;top:21px;height:12px;border-radius:3px;background:#0055DD;box-shadow:0 23px 0 #151D2A,0 46px 0 #151D2A}
    .theme-option-copy{display:flex;min-height:97px;padding:14px;flex:1;flex-direction:column;gap:5px}
    .theme-option-title-row{display:flex;align-items:center;justify-content:space-between;gap:10px}
    .theme-option-title{font-family:var(--font-caption);font-size:15px;font-weight:800}
    .theme-option-badge{display:inline-flex;align-items:center;min-height:20px;padding:2px 7px;border-radius:999px;background:var(--surface-hover);color:var(--muted);font-size:10px;font-weight:800;white-space:nowrap}
    .theme-option[aria-pressed="true"] .theme-option-badge{background:rgba(174,138,71,.13);color:var(--gold-dark)}
    .theme-option[data-brand-theme-option="rocket"][aria-pressed="true"] .theme-option-badge,.theme-option[data-brand-theme-option="dark-rocket"][aria-pressed="true"] .theme-option-badge{background:rgba(0,85,221,.13);color:#6FA5FF}
    .theme-option-description{color:var(--muted);font-size:12px;line-height:1.45}
    .themes-status{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px;padding:11px 12px;border:1px solid var(--line);border-radius:7px;background:var(--surface-2);font-size:12px}
    .themes-status strong{color:var(--ink)}
    .themes-pilot-note{color:var(--muted);text-align:right}
    @media(max-width:820px){.themes-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.themes-grid{grid-template-columns:1fr}.theme-option{min-height:170px}.themes-pilot-note{display:none}}

    /* ROCKET · identidad visual piloto (modo claro).
       Sólo acciones visuales: no modifica estados semánticos como Gold, éxito, alerta o peligro. */
    html[data-theme="light"][data-brand-theme="rocket"] .sidebar,
    html[data-theme="light"][data-brand-theme="rocket"] .sidebar-lower{
      background:#0055DD;
      border-right-color:#0048BE;
    }
    html[data-theme="light"][data-brand-theme="rocket"] .sidebar-lower::before{
      background:linear-gradient(0deg, rgba(0,0,0,.12), rgba(255,255,255,0) 99.99%);
    }
    html[data-theme="light"][data-brand-theme="rocket"] .sidebar-divider,
    html[data-theme="light"][data-brand-theme="rocket"] .message-trays-divider{
      background:rgba(255,255,255,.16);
    }
    html[data-theme="light"][data-brand-theme="rocket"] .sidebar-logo,
    html[data-theme="light"][data-brand-theme="rocket"] .sidebar-brand-name,
    html[data-theme="light"][data-brand-theme="rocket"] .sidebar-brand-product,
    html[data-theme="light"][data-brand-theme="rocket"] .sidebar-section-title,
    html[data-theme="light"][data-brand-theme="rocket"] .sidebar .nav-link,
    html[data-theme="light"][data-brand-theme="rocket"] .sidebar .sidebar-toggle,
    html[data-theme="light"][data-brand-theme="rocket"] .sidebar .icon-button,
    html[data-theme="light"][data-brand-theme="rocket"] .sidebar .profile-button,
    html[data-theme="light"][data-brand-theme="rocket"] .sidebar .quick-link,
    html[data-theme="light"][data-brand-theme="rocket"] .sidebar .profile-copy strong{
      color:#fff;
    }
    html[data-theme="light"][data-brand-theme="rocket"] .sidebar-brand-name{font-size:16px;font-weight:900;letter-spacing:.9px}
    /* V3.270 · Regla universal: el bloque de marca respeta el mismo margen izquierdo que los iconos del menú en el sidebar expandido. */
    html:not([data-sidebar="collapsed"]) .sidebar-logo{margin-left:10px}
    html[data-theme="light"][data-brand-theme="rocket"] .sidebar-brand-product,
    html[data-theme="light"][data-brand-theme="rocket"] .sidebar-section-title,
    html[data-theme="light"][data-brand-theme="rocket"] .sidebar .profile-copy span{
      color:rgba(255,255,255,.82);
      opacity:1;
      font-weight:700;
    }
    html[data-theme="light"][data-brand-theme="rocket"] .sidebar-brand-icon{
      width:40px;height:40px;object-fit:contain;filter:brightness(0) invert(1);
    }
    html[data-theme="light"][data-brand-theme="rocket"] .sidebar .nav-link[aria-current="page"]{
      background:rgba(255,255,255,.16);
      color:#fff;
      font-weight:700;
    }
    html[data-theme="light"][data-brand-theme="rocket"] .sidebar :is(.nav-link:hover,.profile-button:hover,.sidebar-toggle:hover,.icon-button:hover,.quick-link:hover),
    html[data-theme="light"][data-brand-theme="rocket"] .sidebar .nav-link[aria-expanded="true"]{
      background:rgba(255,255,255,.10);
      color:#fff;
    }
    html[data-theme="light"][data-brand-theme="rocket"] .sidebar .profile-avatar{
      background:rgba(255,255,255,.16);
      color:#fff;
    }
    html[data-theme="light"][data-brand-theme="rocket"] .sidebar .profile-version{
      border-color:rgba(255,255,255,.28);
      background:rgba(255,255,255,.12);
      color:#fff;
    }

    html[data-theme="light"][data-brand-theme="rocket"] :is(
      #authSubmit,#registrationSubmit,#onboardingSubmit,#newLeadButton,#newReminderButton,#newClosingButton,
      #newLeadSave,#generalReminderSave,#closingSave,#calculatorCalculate,#applyFiltersButton,
      #applyReminderFiltersButton,#applyClosingFiltersButton,#inviteGenerate,#newAdvisorButton,#newExpenseButton,
      #advisorSave,#expenseSave,#newFlyerButton,#flyerSave,#whatsappSend,.profile-form-actions .button,
      .calendar-primary-button,.reminder-repeat-button[aria-pressed="true"]
    ){border-color:#0048BE!important;background:#0055DD!important;color:#fff!important}
    html[data-theme="light"][data-brand-theme="rocket"] :is(
      #authSubmit,#registrationSubmit,#onboardingSubmit,#newLeadButton,#newReminderButton,#newClosingButton,
      #newLeadSave,#generalReminderSave,#closingSave,#calculatorCalculate,#applyFiltersButton,
      #applyReminderFiltersButton,#applyClosingFiltersButton,#inviteGenerate,#newAdvisorButton,#newExpenseButton,
      #advisorSave,#expenseSave,#newFlyerButton,#flyerSave,#whatsappSend,.profile-form-actions .button,
      .calendar-primary-button,.reminder-repeat-button[aria-pressed="true"]
    ):hover:not(:disabled){border-color:#003FAF!important;background:#0048BE!important}
    html[data-theme="light"][data-brand-theme="rocket"] :is(
      #authSubmit,#registrationSubmit,#onboardingSubmit,#newLeadButton,#newReminderButton,#newClosingButton,
      #newLeadSave,#generalReminderSave,#closingSave,#calculatorCalculate,#applyFiltersButton,
      #applyReminderFiltersButton,#applyClosingFiltersButton,#inviteGenerate,#newAdvisorButton,#newExpenseButton,
      #advisorSave,#expenseSave,#newFlyerButton,#flyerSave,#whatsappSend,.profile-form-actions .button,
      .calendar-primary-button,.reminder-repeat-button[aria-pressed="true"]
    ):active:not(:disabled){border-color:#00399E!important;background:#003FAF!important}
    html[data-theme="light"][data-brand-theme="rocket"] :is(
      #authSubmit,#registrationSubmit,#onboardingSubmit,#newLeadButton,#newReminderButton,#newClosingButton,
      #newLeadSave,#generalReminderSave,#closingSave,#calculatorCalculate,#applyFiltersButton,
      #applyReminderFiltersButton,#applyClosingFiltersButton,#inviteGenerate,#newAdvisorButton,#newExpenseButton,
      #advisorSave,#expenseSave,#newFlyerButton,#flyerSave,#whatsappSend,.profile-form-actions .button,
      .calendar-primary-button,.reminder-repeat-button[aria-pressed="true"]
    ):focus-visible{outline:0!important;box-shadow:0 0 0 3px rgba(0,85,221,.24)!important}
    html[data-theme="light"][data-brand-theme="rocket"] :is(.calendar-secondary-button,.reminder-alert-action,.reminder-alert-actions .button){border-color:#0055DD!important;color:#0055DD!important}
    html[data-theme="light"][data-brand-theme="rocket"] :is(.calendar-secondary-button,.reminder-alert-action,.reminder-alert-actions .button):hover:not(:disabled){background:#EAF1FF!important;border-color:#0048BE!important;color:#0048BE!important}


    /* ROCKET · refinamiento visual V3.232 (modo claro). */
    html[data-theme="light"][data-brand-theme="rocket"] :is(#filterToggle,#reminderFilterToggle,#closingFilterToggle){
      border-color:#0048BE!important;background:#0055DD!important;color:#fff!important;
    }
    html[data-theme="light"][data-brand-theme="rocket"] :is(#filterToggle,#reminderFilterToggle,#closingFilterToggle):hover{
      border-color:#003FAF!important;background:#0048BE!important;color:#fff!important;
    }

    html[data-theme="light"][data-brand-theme="rocket"] .manual-toc-button{
      border-color:rgba(0,85,221,.42);background:var(--surface);
    }
    html[data-theme="light"][data-brand-theme="rocket"] .manual-toc-button:hover{
      border-color:#0055DD;background:var(--surface-hover);
    }
    html[data-theme="light"][data-brand-theme="rocket"] .manual-toc-button > span,
    html[data-theme="light"][data-brand-theme="rocket"] .manual-module-number{
      background:#0055DD;
    }
    html[data-theme="light"][data-brand-theme="rocket"] .manual-details,
    html[data-theme="light"][data-brand-theme="rocket"] .manual-action-grid article{
      border-color:rgba(0,85,221,.34);
    }
    html[data-theme="light"][data-brand-theme="rocket"] .manual-details[open]{
      border-color:rgba(0,85,221,.62);
    }
    .toast[data-kind="rocket"]{
      width:max-content;max-width:calc(100vw - 44px);white-space:nowrap;
      border-color:#0055DD;background:var(--surface);color:#0055DD;
      box-shadow:0 10px 30px rgba(0,0,0,.18),inset 4px 0 0 #0055DD,0 0 0 1px rgba(0,85,221,.14);
    }

    @media(max-width:720px){
      .toast[data-kind="rocket"],
    html[data-theme="light"][data-brand-theme="rocket"] .toast[data-kind="pending"]{
      width:max-content;max-width:calc(100vw - 44px);white-space:nowrap;
      border-color:#0055DD;background:#EAF1FF;color:var(--ink);
      box-shadow:0 10px 30px rgba(0,0,0,.18),inset 4px 0 0 #0055DD,0 0 0 1px rgba(0,85,221,.14);
    }
      html[data-theme="light"][data-brand-theme="rocket"] .toast[data-kind="pending"]{left:12px;right:12px;width:auto;max-width:none;white-space:normal}
    }

    /* PLACEHOLDER */
    .placeholder-view { display: grid; place-items: center; min-height: calc(100vh - 80px); padding: 40px; background: var(--page); }
    .placeholder-card { width: min(640px,100%); padding: 32px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface); text-align: center; }
    .placeholder-card h2 { margin: 0 0 8px; font-family: var(--font-caption); font-size: 18px; letter-spacing: .5px; }
    .placeholder-card p { margin: 0; color: var(--muted); line-height: 1.5; }
    .placeholder-view[data-mode="updates"] { position:relative; display:block; height:calc(100vh - 80px); min-height:0; padding:0; overflow:hidden; background:var(--workspace-canvas); }
    .placeholder-view[data-mode="updates"] .placeholder-card { position:absolute; inset:0; display:block; width:100%; height:100%; padding:0; overflow:hidden; border:0; border-radius:0; background:transparent; text-align:left; box-shadow:none; }
    .placeholder-view[data-mode="updates"] .placeholder-card>h2 { display:none; }
    .updates-content { position:absolute; inset:0; display:flex; height:100%; min-height:0; flex-direction:column; overflow:hidden; }
    .updates-summary { display:flex; align-items:center; justify-content:space-between; gap:16px; height:42px; min-height:42px; margin:0 26px 0 15px; padding:0 14px; border:1px solid var(--line); border-bottom-width:2px; border-radius:0; background:var(--surface); flex:0 0 42px; }
    .updates-summary strong { font-family: var(--font-caption); font-size: 12px; letter-spacing: .7px; }
    .updates-summary span { color: var(--muted); font-size: 12px; }
    .updates-list { display:grid; min-height:0; flex:1 1 auto; align-content:start; gap:12px; padding:12px 15px; overflow:auto; scrollbar-width:thin; scrollbar-gutter:stable; }
    .updates-list::-webkit-scrollbar { width:10px; }
    .update-entry { padding: 16px 18px; border: 1px solid var(--line); border-radius: 7px; background: var(--surface); }
    .update-entry[data-current="true"] { border-color: rgba(174,138,71,.65); box-shadow: inset 3px 0 0 var(--gold); }
    .update-entry-header { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin-bottom: 8px; }
    .update-entry-version { font-family: var(--font-caption); font-size: 13px; letter-spacing: .55px; }
    .update-entry-date { color: var(--muted); font-size: 12px; white-space: nowrap; }
    .update-entry ul { margin: 0; padding-left: 18px; color: var(--ink); line-height: 1.55; }
    .update-entry li + li { margin-top: 3px; }
    html[data-theme="dark"] .update-entry[data-current="true"] { border-color: rgba(211,178,103,.7); }
    .updates-pagination { flex:0 0 50px; min-height:50px; border:0; border-top:1px solid var(--line); border-radius:0; }
    @media (max-width: 640px) { .placeholder-view[data-mode="updates"] { padding:0; } .updates-summary, .update-entry-header { align-items:flex-start; flex-direction:column; gap:5px; } .updates-summary{height:auto;min-height:42px;margin:12px 12px 0;padding:8px 12px;justify-content:center;flex-basis:auto}.updates-list{gap:10px;padding:10px 12px}.update-entry{padding:14px}.updates-pagination{border-inline:0} }


    /* MANUAL DE USO */
    .placeholder-view[data-mode="manual"] { place-items: start center; padding: 24px 20px 48px; }
    .placeholder-view[data-mode="manual"] .placeholder-card { width: min(1160px,100%); padding: 28px 30px 42px; text-align: left; }
    .manual-content { margin-top: 20px; }
    .manual-intro { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; padding: 18px 20px; border: 1px solid rgba(174,138,71,.48); border-radius: 9px; background: rgba(174,138,71,.08); scroll-margin-top: 88px; }
    .manual-intro strong { display: block; margin-bottom: 6px; font-family: var(--font-caption); font-size: 13px; letter-spacing: .7px; }
    .manual-intro p { margin: 0; color: var(--ink); line-height: 1.55; }
    .manual-intro > span { flex: 0 0 auto; color: var(--muted); font-size: 12px; white-space: nowrap; }
    /* ROCKET CRM · V3.261 · Tarjetas intro de Manuales y Asistencia Remota */
    html[data-theme="light"][data-brand-theme="rocket"] .manual-intro {
      border-color:#0055DD;
      background:#EAF1FF;
    }
    /* ROCKET CRM · V3.262 · Recarga / restauración en Rocket claro */
    html[data-theme="light"][data-brand-theme="rocket"] #bootScreen {
      background:
        radial-gradient(circle at 12% 14%, rgba(0,85,221,.12), transparent 28%),
        radial-gradient(circle at 88% 10%, rgba(0,85,221,.10), transparent 22%),
        linear-gradient(180deg, #F8FBFF 0%, #EEF4FF 52%, #FFFFFF 100%);
    }
    html[data-theme="light"][data-brand-theme="rocket"] #bootScreen .boot-card {
      position:relative;
      border-color:rgba(0,85,221,.16);
      border-radius:22px;
      background:rgba(255,255,255,.97);
      color:#12233D;
      box-shadow:0 20px 55px rgba(0,85,221,.12), 0 4px 14px rgba(15,23,42,.05);
      overflow:hidden;
    }
    html[data-theme="light"][data-brand-theme="rocket"] #bootScreen .boot-card::before {
      content:"";
      position:absolute;
      inset:0 0 auto 0;
      height:5px;
      background:linear-gradient(90deg, #0055DD 0%, #3E86FF 100%);
    }
    html[data-theme="light"][data-brand-theme="rocket"] #bootScreen .boot-card h1 { color:#12233D; }
    html[data-theme="light"][data-brand-theme="rocket"] #bootScreen .boot-card p { color:#64748B; }

    /* ROCKET CRM · V3.263 · Reserva visual Dark Rocket
       Conserva exactamente la pantalla oscura de recarga validada antes del modo claro. */





    .manual-toc { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; margin: 18px 0; }
    .manual-toc-button { display: grid; grid-template-columns: 38px 1fr; align-items: start; gap: 2px 10px; min-height: 104px; padding: 15px; border: 1px solid var(--line); border-radius: 8px; background: var(--surface); color: var(--ink); text-align: left; }
    .manual-toc-button:hover { border-color: rgba(174,138,71,.65); background: var(--surface-hover); }
    .manual-toc-button > span { grid-row: 1 / span 2; display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; background: var(--gold); color: #fff; font-family: var(--font-caption); font-size: 12px; }
    .manual-toc-button strong { font-family: var(--font-caption); font-size: 14px; letter-spacing: .45px; }
    .manual-toc-button small { color: var(--muted); font-size: 12px; line-height: 1.4; }
    .manual-module { margin-top: 28px; padding-top: 4px; scroll-margin-top: 82px; }
    .manual-module + .manual-module { margin-top: 42px; padding-top: 28px; border-top: 1px solid var(--line); }
    .manual-module-header { display: flex; align-items: center; gap: 14px; margin-bottom: 15px; }
    .manual-module-number { display: grid; place-items: center; flex: 0 0 46px; width: 46px; height: 46px; border-radius: 10px; background: var(--gold); color: #fff; font-family: var(--font-caption); font-size: 15px; }
    .manual-module-header h3 { margin: 0 0 4px; font-family: var(--font-caption); font-size: 19px; letter-spacing: .55px; }
    .manual-module-header p { margin: 0; color: var(--muted); line-height: 1.45; }
    .manual-details { margin-bottom: 10px; border: 1px solid var(--line); border-radius: 8px; background: var(--surface); overflow: hidden; }
    .manual-details[open] { border-color: rgba(174,138,71,.42); }
    .manual-details summary { position: relative; padding: 14px 44px 14px 16px; cursor: pointer; list-style: none; font-weight: 700; line-height: 1.4; }
    .manual-details summary::-webkit-details-marker { display: none; }
    .manual-details summary::after { content: "+"; position: absolute; right: 16px; top: 50%; transform: translateY(-50%); color: var(--muted); font-size: 20px; font-weight: 400; }
    .manual-details[open] summary::after { content: "−"; }
    .manual-details[open] summary { border-bottom: 1px solid var(--line); background: var(--surface-soft); }
    .manual-details-body { padding: 16px 18px 18px; line-height: 1.58; }
    .manual-details-body > :first-child { margin-top: 0; }
    .manual-details-body > :last-child { margin-bottom: 0; }
    .manual-details-body h4 { margin: 18px 0 8px; font-family: var(--font-caption); font-size: 13px; letter-spacing: .45px; }
    .manual-steps { margin: 0; padding-left: 24px; }
    .manual-steps li { padding-left: 5px; }
    .manual-steps li + li { margin-top: 8px; }
    .manual-list { margin: 0; padding-left: 20px; }
    .manual-list li + li { margin-top: 7px; }
    .manual-action-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; margin: 12px 0; }
    .manual-action-grid article { padding: 12px 14px; border: 1px solid var(--line); border-radius: 7px; background: var(--surface-soft); }
    .manual-action-grid strong { display: block; margin-bottom: 4px; }
    .manual-action-grid p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.45; }
    .manual-note { margin: 16px 0; padding: 13px 15px; border: 1px solid var(--line); border-radius: 7px; background: var(--surface-soft); line-height: 1.5; }
    .manual-note strong { display: block; margin-bottom: 3px; }
    .manual-note p { margin: 0; }
    .manual-note-info { border-left: 4px solid var(--blue); }
    .manual-note-tip { border-left: 4px solid var(--gold); }
    .manual-note-warning { border-left: 4px solid var(--red); }
    .manual-back-top { display: inline-flex; align-items: center; min-height: 36px; margin-top: 8px; padding: 0 13px; border: 1px solid var(--line); border-radius: 5px; background: transparent; color: var(--ink); font-weight: 700; }
    .manual-back-top:hover { background: var(--surface-hover); }
    .manual-ending { margin-top: 34px; }
    @media (max-width: 820px) { .manual-toc { grid-template-columns: 1fr; } .manual-action-grid { grid-template-columns: 1fr; } .manual-intro { flex-direction: column; gap: 8px; } .manual-intro > span { white-space: normal; } }
    @media (max-width: 640px) { .placeholder-view[data-mode="manual"] { padding: 14px 10px 34px; } .placeholder-view[data-mode="manual"] .placeholder-card { padding: 20px 15px 28px; } .manual-module-header { align-items: flex-start; } }

    .toast {
      position: fixed; z-index: 420; right: 22px; bottom: 22px; max-width: 380px;
      padding: 11px 14px; border: 1px solid var(--gold); border-radius: 6px;
      background: var(--surface); box-shadow: 0 10px 30px rgba(0,0,0,.18), 0 0 0 1px rgba(174,138,71,.12); line-height: 1.4;
    }

    /* V3.647 · publicación social no bloqueante: indicador persistente y cierre garantizado del modal. */
    .toast[data-kind="processing"]{
      display:flex;align-items:center;gap:10px;width:max-content;max-width:calc(100vw - 44px);white-space:nowrap;
      border-color:#0055DD;background:var(--surface);color:var(--ink);
      box-shadow:0 10px 30px rgba(0,0,0,.18),inset 4px 0 0 #0055DD,0 0 0 1px rgba(0,85,221,.14);
    }
    .toast[data-kind="processing"] .rocket-process-spinner{flex:0 0 auto;width:16px;height:16px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:rocket-toast-processing-spin .72s linear infinite;}
    .toast[data-kind="processing"] .rocket-process-label{min-width:0;}
    #flyerShareModal.is-background-publishing-hidden{display:none !important;}
    @keyframes rocket-toast-processing-spin{to{transform:rotate(360deg)}}
    @media (prefers-reduced-motion:reduce){.toast[data-kind="processing"] .rocket-process-spinner{animation-duration:1.5s}}
    @media(max-width:520px){.toast[data-kind="processing"]{left:12px;right:12px;width:auto;max-width:none;white-space:normal}}

    /* V3.649 · Instagram: toast final compacto en WEB, responsive en MOBILE. */
    .toast[data-kind="instagram-success"]{
      width:max-content;
      max-width:calc(100vw - 44px);
      white-space:nowrap;
    }
    @media(max-width:720px){
      .toast[data-kind="instagram-success"]{
        left:12px;
        right:12px;
        width:auto;
        max-width:none;
        white-space:normal;
      }
    }

    /* V3.707 · Importar asesores: toast final en una sola línea en WEB. */
    .toast[data-kind="advisor-import-success"] {
      width: max-content;
      max-width: calc(100vw - 44px);
      white-space: nowrap;
    }
    @media (max-width: 720px) {
      .toast[data-kind="advisor-import-success"] {
        left: 12px;
        right: 12px;
        width: auto;
        max-width: none;
        white-space: normal;
      }
    }

    .toast[data-kind="error"] { border-color: var(--gold); color: var(--red); }
    .toast[data-kind="reminder"] { border-color: var(--gold); box-shadow: 0 10px 32px rgba(0,0,0,.2), inset 4px 0 0 var(--gold); }
    .toast[data-kind="messenger"], .toast[data-kind="whatsapp"] { width: max-content; max-width: calc(100vw - 44px); white-space: nowrap; }
    @media (max-width: 520px) { .toast[data-kind="messenger"], .toast[data-kind="whatsapp"] { left: 12px; right: 12px; max-width: none; white-space: normal; } }
    .app-footer {
      position: fixed; z-index: 50; right: 168px; bottom: 58px; display: inline-flex; align-items: center; gap: 7px;
      min-height: 24px; padding: 3px 8px; border: 1px solid #d8b45a; border-radius: 999px;
      background: #fff6d7; color: #735700; font-size: 10px; line-height: 16px; pointer-events: none;
      box-shadow: 0 3px 10px rgba(0,0,0,.06);
    }
    .app-footer strong { font-family: var(--font-caption); font-size: 9px; letter-spacing: .55px; }
    .app-footer span { color: #806b38; }
    html[data-theme="dark"] .app-footer { background: #40371b; color: #ffe49a; border-color: #806c30; }
    html[data-theme="dark"] .app-footer span { color: #d7c48c; }
    html[data-private="true"] [data-sensitive="true"] { color: transparent !important; text-shadow: 0 0 9px var(--ink); user-select: none; }
    /* La identidad del usuario activo permanece visible en el acceso a Perfil. */
    html[data-private="true"] .profile-button [data-sensitive="true"] {
      color: inherit !important; text-shadow: none; user-select: auto;
    }
    /* Privacidad de Leads: oculta únicamente valores cargados, sin afectar estructura, encabezados ni controles. */
    html[data-private="true"] #leadsListView .lead-row:not(.lead-header) .lead-cell:not(.select-cell) > *,
    html[data-private="true"] #leadsKanbanView .kanban-card > .kanban-card-name,
    html[data-private="true"] #leadsKanbanView .kanban-card > .kanban-card-project,
    html[data-private="true"] #leadsKanbanView .kanban-card > .kanban-card-tags,
    html[data-private="true"] #leadsKanbanView .kanban-card > .kanban-card-meta {
      filter: blur(7px); user-select: none; pointer-events: none;
    }
    /* Privacidad de Recordatorios: protege todos los datos, manteniendo controles operativos visibles. */
    html[data-private="true"] #reminderRows .reminder-row .reminder-cell:not(.reminder-select-cell):not(.reminder-actions) > * {
      filter: blur(7px); user-select: none; pointer-events: none;
    }
    /* Privacidad de Contactos: protege PII sin deformar encabezados ni acciones genéricas. */
    html[data-private="true"] #contactsRows .contacts-sensitive-value {
      filter: blur(7px); user-select: none; pointer-events: none;
    }

    @media (max-width: 760px) {
      .app-footer { right: 8px; bottom: 58px; }
      .app-footer span { display: none; }
      .leads-pagination { padding-inline: 8px; }
      .pagination-size > span, .pagination-range { display: none; }
      .pagination-pages .pagination-page-button:not([aria-current="page"]) { display: none; }
      .pagination-pages .pagination-ellipsis { display: none; }
    }

    @media (max-width: 1100px) {
      .workspace-actions { padding-right: 12px; }
      .new-lead-long { display: none; }
      .new-lead-short { display: inline; }
      .search-summary { display: none; }
    }
    @media (max-width: 900px) {
      html:not([data-sidebar="collapsed"]) { --sidebar-width: var(--sidebar-collapsed); }
      html:not([data-sidebar="collapsed"]) .sidebar-logo,
      html:not([data-sidebar="collapsed"]) .nav-label,
      html:not([data-sidebar="collapsed"]) .nav-chevron,
      html:not([data-sidebar="collapsed"]) .sidebar-section-title,
      html:not([data-sidebar="collapsed"]) .profile-copy { display: none; }
      html:not([data-sidebar="collapsed"]) .sidebar-header { justify-content: center; }
      html:not([data-sidebar="collapsed"]) .nav-list,
      html:not([data-sidebar="collapsed"]) .lower-nav { padding-inline: 8px; }
      html:not([data-sidebar="collapsed"]) .nav-link { width: 39.2px; padding: 6px 10px; }
      html:not([data-sidebar="collapsed"]) .sidebar-divider { margin-inline: 8px; }
      html:not([data-sidebar="collapsed"]) .message-trays-divider {
        display: block; width: auto; height: 1px; margin: 8px 8px 4px;
        border: 0; background: var(--line);
      }
      html:not([data-sidebar="collapsed"]) .profile-button { height: 64px; min-height: 64px; padding: 16px 12px; }
      html:not([data-sidebar="collapsed"]) .pinned-list {
        display: flex; align-items: center; margin: 0; padding: 4px 8px;
      }
      html:not([data-sidebar="collapsed"]) .pinned-list .nav-item,
      html:not([data-sidebar="collapsed"]) .pinned-list .nav-link { width: 39.2px; }
      html:not([data-sidebar="collapsed"]) .pinned-list .nav-link { justify-content: center; padding: 6px 10px; }
      html:not([data-sidebar="collapsed"]) .broker-submenu { position:fixed;z-index:190;display:flex;width:250px;max-height:calc(100vh - 30px);margin:0;padding:8px;overflow-x:hidden;overflow-y:auto;border:1px solid var(--line);border-radius:6px;background:var(--surface);box-shadow:0 14px 30px rgba(0,0,0,.16); }
      html:not([data-sidebar="collapsed"]) .broker-submenu::before { content:"Menú Broker";display:block;padding:5px 10px 10px;color:var(--ink);font-size:15px;font-weight:700;line-height:20px; }
      html:not([data-sidebar="collapsed"]) .broker-submenu .nav-link { width:100%;height:38px;padding:7px 10px;font-size:14px;line-height:20px; }
      html:not([data-sidebar="collapsed"]) .broker-submenu .nav-icon { width:20px;height:20px;flex-basis:20px; }
      html:not([data-sidebar="collapsed"]) .broker-submenu .nav-label { display:block;margin-left:9px;font-size:14px;line-height:20px; }
      .workspace-title-zone { width: 190px; min-width: 190px; padding-left: 20px; }
      .workspace-title-controls { gap: 12px; margin-left: 16px; }
    }
    @media (max-width: 720px) {
      .workspace-title-zone { width: 170px; min-width: 170px; padding: 0 5px 0 14px; }
      .workspace-title-controls { gap: 6px; margin-left: 10px; }
      .lead-view-button { width: 22px; min-width: 22px; }
      .workspace-search-zone { padding: 0 8px; }
      .search-preset { max-width: 96px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
      .search-reset-button { max-width: 92px; overflow: hidden; text-overflow: ellipsis; }
      .workspace-actions { min-width: 104px; padding-left: 4px; }
      .filter-panel { grid-template-columns: 150px minmax(0,1fr); }
      .filter-presets { padding: 0 10px; }
      .filter-grid { grid-template-columns: 1fr; }
      .filter-field.wide { grid-column: auto; }
      .new-lead-grid { grid-template-columns: 1fr; }
      .new-lead-grid .wide { grid-column: auto; }
    }
    @media (max-width: 560px) {
      .filter-panel { grid-template-columns: 1fr; }
      .filter-presets { display: none; }
      .filter-field-advisor-mobile:not([hidden]) { display: grid; }
      .header-more { display: none; }
      .workspace-actions { min-width: 62px; padding-right: 6px; }
      .search-preset, .search-reset-button { display: none; }
    }


    /* WHATSAPP CLOUD API · BANDEJA FASE 1 */
    .whatsapp-view { height: calc(100dvh - 80px); min-height: 0; padding: 0; overflow: hidden; background: var(--page); }
    .whatsapp-shell { display: grid; grid-template-columns: minmax(280px, 340px) minmax(0, 1fr); height: 100%; min-height: 0; overflow: hidden; background: var(--surface); }
    .whatsapp-sidebar { display: grid; grid-template-rows: auto auto minmax(0,1fr); min-width: 0; min-height: 0; overflow: hidden; border-right: 1px solid var(--line); background: var(--surface); }
    .whatsapp-sidebar-header { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 66px; padding: 12px 15px; border-bottom: 1px solid var(--line); }
    .whatsapp-sidebar-header h2 { margin: 0; font-family: var(--font-caption); font-size: 15px; letter-spacing: .35px; }
    .whatsapp-sidebar-header p { margin: 4px 0 0; color: var(--muted); font-size: 11px; }
    .whatsapp-refresh { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 38px; width: 38px; height: 38px; padding: 0; border: 1px solid var(--line); border-radius: 7px; background: transparent; color: var(--muted); line-height: 0; }
    .whatsapp-refresh:hover { background: var(--surface-hover); color: var(--ink); }
    .whatsapp-refresh svg { display: block; flex: 0 0 19px; width: 19px; height: 19px; margin: 0; }
    .whatsapp-search-wrap { padding: 10px 12px; border-bottom: 1px solid var(--line); }
    .whatsapp-search-box { position: relative; }
    .whatsapp-search-box svg { position: absolute; left: 11px; top: 50%; width: 17px; height: 17px; transform: translateY(-50%); color: var(--muted); pointer-events: none; }
    .whatsapp-search-box .input { padding-left: 36px; border-radius: 7px; }
    .whatsapp-conversation-list { min-height: 0; overflow-y: auto; }
    .whatsapp-conversation { display: grid; grid-template-columns: 42px minmax(0,1fr) auto; gap: 10px; width: 100%; min-height: 68px; padding: 10px 12px; border: 0; border-bottom: 1px solid var(--line); background: transparent; color: var(--ink); text-align: left; }
    .whatsapp-conversation:hover { background: var(--surface-hover); }
    .whatsapp-conversation[aria-current="true"] { background: rgba(37,211,102,.10); box-shadow: inset 3px 0 0 #25d366; }
    .whatsapp-avatar { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 50%; background: rgba(37,211,102,.16); color: #128c4a; font-size: 13px; font-weight: 800; }
    html[data-theme="dark"] .whatsapp-avatar { color: #73e89a; }
    .whatsapp-conversation-main { min-width: 0; }
    .whatsapp-conversation-name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 13px; font-weight: 750; }
    .whatsapp-conversation-preview { display:block; margin-top: 5px; overflow: hidden; color: var(--muted); font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
    .whatsapp-conversation-meta { display: grid; justify-items: end; align-content:start; gap: 7px; color: var(--muted); font-size: 10px; }
    .whatsapp-unread { display: grid; place-items: center; min-width: 20px; height: 20px; padding: 0 5px; border-radius: 999px; background: #25d366; color: #fff; font-size: 10px; font-weight: 800; }
    .whatsapp-main { display: grid; grid-template-rows: auto auto minmax(0,1fr) auto; min-width: 0; min-height: 0; overflow: hidden; background: var(--page); }
    .whatsapp-chat-header { display: flex; align-items: center; justify-content: space-between; min-height: 66px; padding: 10px 18px; border-bottom: 1px solid var(--line); background: var(--surface); }
    .whatsapp-chat-person { display: flex; align-items: center; gap: 11px; min-width: 0; }
    .whatsapp-chat-person h3 { margin: 0; overflow: hidden; font-size: 14px; text-overflow: ellipsis; white-space: nowrap; }
    .whatsapp-chat-person p { margin: 4px 0 0; color: var(--muted); font-size: 11px; }
    .whatsapp-window-badge { display: inline-flex; align-items: center; min-height: 20px; margin-top: 5px; padding: 2px 7px; border-radius: 999px; background: rgba(37,211,102,.12); color: #128c4a; font-size: 9px; font-weight: 800; letter-spacing: .2px; }
    .whatsapp-window-badge[data-open="false"] { background: rgba(198,45,45,.09); color: var(--red); }
    .whatsapp-mode-badge { padding: 5px 9px; border: 1px solid rgba(174,138,71,.45); border-radius: 999px; background: rgba(174,138,71,.10); color: var(--gold); font-size: 10px; font-weight: 800; letter-spacing: .45px; }
    .whatsapp-lead-bar { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 50px; padding: 8px 18px; border-bottom: 1px solid var(--line); background: var(--surface); }
    .whatsapp-lead-status { display: flex; align-items: center; gap: 9px; min-width: 0; color: var(--muted); font-size: 11px; }
    .whatsapp-lead-dot { flex: 0 0 9px; width: 9px; height: 9px; border-radius: 50%; background: #d19a32; box-shadow: 0 0 0 3px rgba(209,154,50,.13); }
    .whatsapp-lead-status[data-linked="true"] .whatsapp-lead-dot { background: #25d366; box-shadow: 0 0 0 3px rgba(37,211,102,.13); }
    .whatsapp-lead-status strong { display: block; overflow: hidden; color: var(--ink); font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
    .whatsapp-lead-actions { display: flex; align-items: center; gap: 7px; flex-wrap: wrap; justify-content: flex-end; }
    .whatsapp-lead-action { min-height: 32px; padding: 0 10px; border: 1px solid var(--line); border-radius: 7px; background: var(--surface); color: var(--ink); font-size: 10px; font-weight: 800; }
    .whatsapp-lead-action:hover { background: var(--surface-hover); }
    .whatsapp-lead-action-primary { border-color: rgba(174,138,71,.55); background: rgba(174,138,71,.11); }
    .whatsapp-link-list { display: grid; gap: 7px; max-height: 330px; overflow-y: auto; }
    .whatsapp-link-option { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 12px; align-items: center; width: 100%; padding: 10px 12px; border: 1px solid var(--line); border-radius: 8px; background: var(--surface); color: var(--ink); text-align: left; }
    .whatsapp-link-option:hover { border-color: rgba(174,138,71,.55); background: var(--surface-hover); }
    .whatsapp-link-option strong, .whatsapp-link-option span { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .whatsapp-link-option small { color: var(--muted); }
    .whatsapp-message-list { min-height: 0; padding: 20px; overflow-y: auto; background-image: radial-gradient(rgba(127,127,127,.08) 1px, transparent 1px); background-size: 18px 18px; }
    .whatsapp-message-stack { display: flex; flex-direction: column; gap: 8px; max-width: 860px; margin: 0 auto; }
    .whatsapp-message { align-self: flex-start; max-width: min(76%, 620px); padding: 9px 11px 7px; border: 1px solid var(--line); border-radius: 10px 10px 10px 3px; background: var(--surface); box-shadow: 0 1px 2px rgba(0,0,0,.04); }
    .whatsapp-message[data-direction="out"] { align-self: flex-end; border-color: rgba(37,211,102,.25); border-radius: 10px 10px 3px 10px; background: rgba(37,211,102,.12); }
    .whatsapp-message-body { color: var(--ink); font-size: 13px; line-height: 1.45; white-space: pre-wrap; overflow-wrap: anywhere; }
    .whatsapp-media { position: relative; min-width: 210px; max-width: 420px; overflow: hidden; border-radius: 8px; background: rgba(127,127,127,.08); }
    .whatsapp-media-loading, .whatsapp-media-error { display: grid; place-items: center; min-height: 150px; padding: 20px; color: var(--muted); font-size: 11px; text-align: center; }
    .whatsapp-media-loading::before { content: ""; width: 22px; height: 22px; margin-bottom: 9px; border: 2px solid var(--line); border-top-color: #25d366; border-radius: 50%; animation: spin .8s linear infinite; }
    .whatsapp-media-link { display: block; color: inherit; text-decoration: none; }
    .whatsapp-media-image { display: block; width: 100%; max-height: 440px; object-fit: contain; background: #111; cursor: zoom-in; }
    .whatsapp-media-image-shell { isolation: isolate; }
    .whatsapp-media-image-download { position:absolute; right:8px; bottom:8px; z-index:3; display:inline-flex; align-items:center; gap:6px; min-height:30px; padding:6px 9px; border:1px solid var(--line); border-radius:7px; background:rgba(255,255,255,.94); color:#12233D; box-shadow:0 2px 10px rgba(0,0,0,.16); font-size:10px; font-weight:850; text-decoration:none; backdrop-filter:blur(4px); }
    .whatsapp-media-image-download:hover { background:#fff; }
    .whatsapp-media-image-download svg { width:14px; height:14px; flex:0 0 14px; }
    html[data-theme="dark"] .whatsapp-media-image-download { background:rgba(21,29,42,.94); color:var(--ink); }
    html[data-theme="dark"] .whatsapp-media-image-download:hover { background:var(--surface); }
    .whatsapp-media-audio { display: block; width: min(360px, 100%); min-width: 260px; padding: 10px; }
    .whatsapp-media-document { display: grid; grid-template-columns: 38px minmax(0,1fr) auto; align-items: center; gap: 10px; min-width: 300px; padding: 12px; color: var(--ink); }
    .whatsapp-media-document-icon { display: grid; place-items: center; width: 38px; height: 44px; border-radius: 7px; background: rgba(174,138,71,.13); color: var(--gold); font-size: 11px; font-weight: 850; }
    .whatsapp-media-document-info { min-width: 0; }
    .whatsapp-media-document-name { overflow: hidden; font-size: 12px; font-weight: 750; text-overflow: ellipsis; white-space: nowrap; }
    .whatsapp-media-document-type { margin-top: 3px; color: var(--muted); font-size: 9px; text-transform: uppercase; }
    .whatsapp-media-download { padding: 6px 9px; border: 1px solid var(--line); border-radius: 6px; background: var(--surface); color: var(--gold); font-size: 10px; font-weight: 800; }
    .whatsapp-media-caption { margin-top: 7px; }
    .whatsapp-message-meta { display: flex; justify-content: flex-end; gap: 6px; margin-top: 5px; color: var(--muted); font-size: 9px; }
    .whatsapp-empty { display: grid; place-items: center; min-height: 100%; padding: 28px; color: var(--muted); text-align: center; }
    .whatsapp-empty-card { max-width: 480px; padding: 26px; border: 1px dashed var(--line); border-radius: 10px; background: var(--surface); }
    .whatsapp-empty-card svg { width: 44px; height: 44px; margin-bottom: 12px; color: #25d366; }
    .whatsapp-empty-card h3 { margin: 0 0 8px; color: var(--ink); font-size: 16px; }
    .whatsapp-empty-card p { margin: 0; line-height: 1.5; }
    .whatsapp-composer { position: relative; z-index: 2; display: grid; grid-template-columns: auto minmax(0,1fr) auto; flex: 0 0 auto; gap: 10px; padding: 12px 16px; border-top: 1px solid var(--line); background: var(--surface); box-shadow: 0 -3px 10px rgba(0,0,0,.06); }
    .whatsapp-composer .textarea { box-sizing: border-box; height: 42px; min-height: 42px; max-height: 92px; resize: none; }
    .whatsapp-composer .button { min-width: 92px; }
    .whatsapp-composer-note { grid-column: 1 / -1; margin: -3px 0 0; color: var(--muted); font-size: 10px; }
    .whatsapp-attach { align-self: start; box-sizing: border-box; display: grid !important; place-items: center; width: 42px; min-width: 42px !important; height: 42px; min-height: 42px; padding: 0 !important; line-height: 0; }
    .whatsapp-attach svg { display: block; width: 18px; height: 18px; margin: auto; }
    #whatsappSend { align-self: start; height: 42px; min-height: 42px; border-color: #AE8A47; background: #AE8A47; color: #fff; }
    #whatsappSend:hover:not(:disabled) { border-color: #98763b; background: #98763b; }
    .lead-phone-feedback { display: block; min-height: 15px; margin-top: 5px; color: var(--muted); font-size: 10px; line-height: 1.35; }
    .lead-phone-feedback[data-state="checking"] { color: var(--gold); }
    .lead-phone-feedback[data-state="duplicate"] { color: var(--red); font-weight: 750; }
    .lead-phone-feedback[data-state="available"] { color: #128c4a; }
    .new-lead-grid > .field { align-self: start; }
    .new-lead-grid > .field > .input,
    .new-lead-grid > .field > .select { height: 38px; min-height: 38px; }
    .input[data-duplicate="true"] { border-color: var(--red) !important; box-shadow: 0 0 0 2px rgba(198,45,45,.09); }
    .whatsapp-file-selection { grid-column: 1 / -1; display: flex; align-items: center; gap: 9px; min-width: 0; padding: 8px 10px; border: 1px solid var(--line); border-radius: 7px; background: var(--surface-2); font-size: 11px; }
    .whatsapp-file-selection[hidden] { display: none; }
    .whatsapp-file-selection strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .whatsapp-file-selection span { color: var(--muted); white-space: nowrap; }
    .whatsapp-file-remove { margin-left: auto; border: 0; background: transparent; color: var(--danger); font-weight: 850; cursor: pointer; }
    .whatsapp-status-error { padding: 10px 12px; border-bottom: 1px solid #f0b7b7; background: rgba(198,45,45,.08); color: var(--red); font-size: 11px; line-height: 1.4; }
    @media (max-width: 900px) { .whatsapp-shell { grid-template-columns: minmax(240px, 300px) minmax(0,1fr); } .whatsapp-message { max-width: 88%; } }
    @media (max-width: 720px) { .whatsapp-lead-bar { align-items: flex-start; flex-direction: column; } .whatsapp-lead-actions { justify-content: flex-start; } }
    /* Pago de Comisiones: legibilidad del header y ordenamiento universal */
    .workspace-header:has(#commissionsSearchZone:not([hidden])) .workspace-title-zone {
      width: 262px; min-width: 262px; padding-right: 18px;
    }
    
    .commissions-sort-button .sort-indicator { flex: 0 0 auto; opacity: 1; }
    /* Gastos: patrón universal de tabla Broker / Manual de Diseño */
    #expensesView { display: flex; height: calc(100vh - 80px); min-height: 0; flex-direction: column; overflow: hidden; background: var(--workspace-canvas); }
    #expensesView[hidden] { display: none !important; }
    .workspace-header:has(#expensesSearchZone:not([hidden])) .workspace-title-zone { width: 150px; min-width: 150px; padding-right: 15px; }
    #expensesSearchZone { gap: 8px; padding-left: 15px; }
    .expenses-table-wrap { min-height: 0; flex: 1 1 auto; overflow: auto; padding-left: 15px; background: var(--workspace-canvas); scrollbar-width: thin; }
    .expenses-table { width: calc(100% - 15px); min-width: 0; border-collapse: collapse; table-layout: fixed; background: var(--surface); color: var(--ink); }
    .expenses-table th, .expenses-table td { height: 39px; padding: 0 10px; overflow: hidden; border-bottom: 1px solid var(--line); color: var(--ink); font-size: 13px; font-weight: 400; text-align: left; text-overflow: ellipsis; white-space: nowrap; vertical-align: middle; }
    .expenses-table th { position: sticky; z-index: 12; top: 0; height: 42px; padding: 0; border-right: 1px solid var(--line); background: var(--surface); color: var(--muted); font-size: 13px; font-weight: 700; letter-spacing: .55px; text-transform: uppercase; box-shadow: 0 1px 0 var(--line); }
    .expenses-table th:last-child { border-right: 0; }
    .expenses-table tbody tr { background: var(--surface); }
    .expenses-table tbody tr:hover { background: var(--surface-hover); box-shadow: inset 3px 0 0 var(--gold); }
    .expenses-table th:nth-child(1), .expenses-table td:nth-child(1) { width: 44px; }
    .expenses-table th:nth-child(2), .expenses-table td:nth-child(2) { width: 96px; }
    .expenses-table th:nth-child(3), .expenses-table td:nth-child(3) { width: 175px; }
    .expenses-table th:nth-child(4), .expenses-table td:nth-child(4) { width: 160px; }
    .expenses-table th:nth-child(5), .expenses-table td:nth-child(5) { width: auto; }
    .expenses-table th:nth-child(6), .expenses-table td:nth-child(6) { width: 88px; }
    .expenses-table th:nth-child(7), .expenses-table td:nth-child(7) { width: 130px; }
    .expenses-table th:nth-child(8), .expenses-table td:nth-child(8) { width: 220px; }
    #newAdvisorButton,#newExpenseButton,#advisorSave,#expenseSave{border-color:#94743b;background:var(--gold);color:#fff}
    #newAdvisorButton:hover,#newExpenseButton:hover,#advisorSave:hover,#expenseSave:hover{border-color:#80632f;background:#9e7c40;color:#fff}
    .expenses-table tr[data-selected="true"] td { background: var(--selection-row); }
    .expenses-table th:first-child, .expenses-table td:first-child { padding: 0; text-align: center; }
    .expenses-table th:first-child .row-check, .expenses-table td:first-child .row-check { margin: auto; }
    .expenses-sort-button { display: flex; align-items: center; justify-content: space-between; gap: 5px; width: 100%; height: 42px; padding: 0 10px; border: 0; background: transparent; color: inherit; font: inherit; letter-spacing: inherit; text-align: left; text-transform: inherit; cursor: pointer; }
    .expenses-sort-button:hover { background: var(--surface-hover); color: var(--ink); }
    .expenses-sort-button .sort-indicator { flex: 0 0 auto; opacity: 1; }
    .expense-description { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .expense-invoice-link { color: var(--gold); font-weight: 750; text-decoration: none; }
    .expense-invoice-link:hover { text-decoration: underline; }

    .expenses-total { display: flex; align-items: center; gap: 18px; white-space: nowrap; }
    .expenses-total strong { color: var(--ink); }
    .expense-modal-card { width: min(660px, calc(100vw - 30px)); }
    .expense-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
    .expense-form-grid .span-2 { grid-column: 1 / -1; }
    .expense-choice-field { min-width: 0; margin: 0; padding: 0; border: 0; }
    .expense-choice-field legend { height: 16px; margin: 0 0 7px; padding: 0; color: var(--text); font-size: 13px; font-weight: 700; line-height: 16px; }
    .expense-choice-group { display: flex; align-items: center; gap: 20px; min-height: 38px; padding: 0 11px; border: 1px solid var(--line); background: var(--surface-2); }
    .expense-choice-group label { display: inline-flex; align-items: center; gap: 7px; margin: 0; color: var(--text); font-size: 13px; font-weight: 600; cursor: pointer; }
    .expense-choice-group input { width: 15px; height: 15px; margin: 0; accent-color: var(--blue); }
    
    
    /* COSTOS OPERATIVOS · consolidado V3.299 */
    #costsView{display:flex;height:calc(100vh - 80px);min-height:0;flex-direction:column;overflow:auto;padding:0 15px 15px;background:var(--workspace-canvas)}
    #costsView[hidden]{display:none!important}.costs-board{width:100%}.costs-years{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;width:100%}.costs-card{min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:0;background:var(--surface);box-shadow:none}.costs-card-title{display:grid;width:100%;box-sizing:border-box;place-items:center;height:42px;margin:0;border-bottom:1px solid var(--line);color:var(--ink);font:700 14px var(--font-caption);letter-spacing:.35px;text-align:center}.costs-table{width:100%;border-collapse:collapse;table-layout:fixed}.costs-table th,.costs-table td{height:39px;padding:0 10px;border-bottom:1px solid var(--line);text-align:center;vertical-align:middle;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.costs-table th{height:42px;padding:0;border-right:1px solid var(--line);color:var(--muted);font-size:13px;font-weight:700;letter-spacing:.55px;text-transform:uppercase}.costs-table th:last-child{border-right:0}.costs-table td{border-right:1px solid var(--line);color:var(--ink);font-size:13px}.costs-table th:nth-child(1),.costs-table td:nth-child(1){width:54px}.costs-table th:nth-child(2),.costs-table td:nth-child(2){width:24%}.costs-table th:nth-child(3),.costs-table td:nth-child(3){width:auto}.costs-table th:nth-child(4),.costs-table td:nth-child(4){width:24%}.costs-sort-button{display:flex;align-items:center;justify-content:center;gap:7px;width:100%;height:42px;padding:0 10px;border:0;background:transparent;color:inherit;font:inherit;letter-spacing:inherit;text-align:center;text-transform:inherit;cursor:pointer}.costs-sort-button:hover{background:var(--surface-hover);color:var(--ink)}.costs-sort-button .sort-indicator{flex:0 0 auto}.costs-table tbody tr:hover{background:var(--surface-hover)}.costs-detail-button{border:0;background:transparent;color:var(--blue-ink);font:700 12px var(--font-ui);text-decoration:underline;cursor:pointer}.costs-detail-button:hover{color:var(--ink)}.costs-total-row td{height:42px;border-bottom:0;background:var(--surface-soft);font-weight:800}.costs-note{margin:12px 0 0;color:var(--muted);font-size:12px;text-align:center}.costs-empty{padding:42px 20px;text-align:center;color:var(--muted)}.costs-detail-card{width:min(920px,calc(100vw - 32px))}.costs-detail-table-wrap{min-width:850px;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.costs-detail-table{width:100%;border-collapse:collapse;table-layout:fixed}.costs-detail-table th,.costs-detail-table td{height:39px;padding:0 9px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center!important;vertical-align:middle;font-size:13px}.costs-detail-table th{height:42px;padding:0;border-bottom:2px solid var(--line);color:var(--muted);font-size:12px;text-transform:uppercase}.costs-detail-table th:nth-child(1){width:52px}.costs-detail-table th:nth-child(2){width:105px}.costs-detail-table th:nth-child(3){width:155px}.costs-detail-table th:nth-child(5){width:145px;text-align:right}.costs-detail-table td:nth-child(4){padding-left:14px;padding-right:14px;text-align:left!important}
    .costs-detail-table td:nth-child(5){text-align:right}.costs-detail-total{margin:14px 0 0;text-align:right;color:var(--ink);font-size:13px}.costs-detail-pagination{display:flex;align-items:center;justify-content:center;gap:12px;min-height:50px;margin:0;padding:6px 15px;background:var(--surface)}.costs-detail-pagination span{color:var(--muted);font-size:12px}.costs-detail-pagination button{height:32px;padding:0 12px;border:1px solid var(--line);border-radius:5px;background:var(--surface);color:var(--ink);font-weight:700;cursor:pointer}.costs-detail-pagination button:disabled{opacity:.45;cursor:default}@media(max-width:980px){.costs-years{grid-template-columns:1fr}}
    @media (max-width: 720px) { .expense-form-grid { grid-template-columns: 1fr; } .expense-form-grid .span-2 { grid-column: auto; } }
    /* V3.115 · compactación tabular según Manual de Diseño */
    
    .advisors-table th:nth-child(1),.advisors-table td:nth-child(1){width:40px}
    .advisors-table th:nth-child(2),.advisors-table td:nth-child(2){width:58px}
    .advisors-table th:nth-child(3),.advisors-table td:nth-child(3){width:15%}
    .advisors-table th:nth-child(4),.advisors-table td:nth-child(4){width:12%}
    .advisors-table th:nth-child(5),.advisors-table td:nth-child(5){width:10%}
    .advisors-table th:nth-child(6),.advisors-table td:nth-child(6){width:9%}
    .advisors-table th:nth-child(7),.advisors-table td:nth-child(7){width:10%}
    .advisors-table th:nth-child(8),.advisors-table td:nth-child(8){width:11%}
    .advisors-table th:nth-child(9),.advisors-table td:nth-child(9){width:20%}
    .advisors-table th:nth-child(10),.advisors-table td:nth-child(10){width:13%}
    
    
    .costs-table thead th,.costs-table thead th .costs-sort-button{box-sizing:border-box;text-align:center!important}
    .costs-table thead th .costs-sort-button{position:relative;display:grid;place-items:center;padding:0 26px 0 8px}
    .costs-table thead th .costs-sort-button>span:first-child{display:block;width:100%;text-align:center}
    .costs-table thead th .sort-indicator{position:absolute;right:8px;display:grid;width:16px;place-items:center;text-align:center;opacity:1!important;color:var(--muted)}
    .costs-table thead th[aria-sort="ascending"] .sort-indicator,.costs-table thead th[aria-sort="descending"] .sort-indicator{color:var(--blue-ink)}
    
    .costs-table td:last-child{border-right:0}
    #costsDetailModal{padding:28px;background:rgba(10,15,20,.62)}
    #costsDetailModal .costs-detail-card{display:flex;flex-direction:column;width:min(1040px,calc(100vw - 56px));max-height:calc(100vh - 56px);overflow:hidden;border:1px solid var(--line);border-radius:12px;background:var(--surface);box-shadow:0 24px 70px rgba(0,0,0,.35)}
    #costsDetailModal .modal-header{min-height:58px;padding:0 15px;border-bottom:2px solid var(--line)}
    #costsDetailModal .modal-body{overflow:auto;padding:15px}
    
    
    
    .costs-detail-table th:last-child,.costs-detail-table td:last-child{border-right:0}
    .costs-detail-sort{position:relative;display:grid;place-items:center;width:100%;height:42px;padding:0 26px 0 8px;border:0;background:transparent;color:inherit;font:inherit;text-align:center;text-transform:inherit;cursor:pointer}
    .costs-detail-sort>span:first-child{display:block;width:100%;text-align:center}
    .costs-detail-sort .sort-indicator{position:absolute;right:8px;display:grid;width:16px;place-items:center;opacity:1!important;color:var(--muted)}
    .costs-detail-table th[aria-sort="ascending"] .sort-indicator,.costs-detail-table th[aria-sort="descending"] .sort-indicator{color:var(--blue-ink)}
    .costs-detail-total-row th{height:42px;border-bottom:0;background:var(--surface-hover);color:var(--ink);text-align:center!important}
    
    /* Selector universal: flecha propia separada 10 px del borde (5 px más interna que la nativa). */
    select {
      -webkit-appearance:none; appearance:none;
      padding-right:32px !important;
      background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='m1 1 5 5 5-5' fill='none' stroke='%238b949e' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
      background-repeat:no-repeat !important;
      background-position:right 10px center !important;
      background-size:12px 8px !important;
    }
    .performance-search-zone{display:none!important}.performance-view{position:fixed!important;inset:0!important;z-index:10000!important;padding:15px!important;background:rgba(15,23,42,.5)!important;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;overflow:hidden}.performance-view[hidden]{display:none!important}.performance-shell{width:min(1040px,calc(100vw - 30px));max-height:calc(100dvh - 30px);overflow:auto;padding:15px;border-radius:24px;background:#f3f6fb;border:1px solid rgba(255,255,255,.8);box-shadow:0 30px 80px rgba(15,23,42,.28);color:#0f172a}.md403 *{box-sizing:border-box}.md403-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin:0 0 10px;padding:10px 12px 9px;border-radius:16px;background:linear-gradient(135deg,#eef2ff 0%,#ecfeff 52%,#fff7ed 100%);position:relative;overflow:hidden}.md403-header:after{content:"";position:absolute;right:-38px;bottom:-54px;width:150px;height:150px;border-radius:50%;background:rgba(255,255,255,.42)}.md403-badge{display:inline-flex;padding:5px 9px;border-radius:999px;background:linear-gradient(90deg,#4f46e5,#ec4899);color:#fff;font-size:10px;font-weight:900;letter-spacing:.25px}.performance-heading h2{margin:5px 0 3px;font-size:21px;line-height:1.05;text-align:left;color:#111827}.performance-heading p{margin:0;color:#475569;font-size:11.5px;font-weight:700;text-align:left}.md403-header-actions{display:flex;gap:8px;position:relative;z-index:1}.md403-close,.md403-refresh{height:30px;border:0;border-radius:999px;color:#fff;font-size:12px;font-weight:900;padding:0 12px;cursor:pointer;white-space:nowrap}.md403-close{background:#111827}.md403-refresh{background:linear-gradient(90deg,#2563eb,#06b6d4)}.md403-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-bottom:10px;align-items:end}.md403-filters label{display:block;margin:0 0 3px;font-size:10.5px;font-weight:900;text-align:center;color:#1f2937}.md403-filters select,.md403-filters input{width:100%;height:27px;border:1px solid #cbd5e1!important;border-radius:8px!important;background:#fff!important;color:#111827!important;font-size:11px!important;font-weight:800;padding:2px 26px 2px 7px!important}.md403-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:10px}.performance-kpi{min-height:74px;border-radius:15px;padding:9px 10px;position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.35);box-shadow:0 10px 20px rgba(15,23,42,.08);color:#fff;text-align:left;display:flex;flex-direction:column;justify-content:center}.performance-kpi:after{content:"";position:absolute;right:-28px;bottom:-30px;width:82px;height:82px;border-radius:50%;background:rgba(255,255,255,.22)}.performance-kpi:nth-child(1){background:linear-gradient(135deg,#2563eb,#06b6d4)}.performance-kpi:nth-child(2){background:linear-gradient(135deg,#7c3aed,#ec4899)}.performance-kpi:nth-child(3){background:linear-gradient(135deg,#059669,#22c55e)}.performance-kpi:nth-child(4){background:linear-gradient(135deg,#f59e0b,#f97316)}.performance-kpi:nth-child(5){background:linear-gradient(135deg,#db2777,#f472b6)}.performance-kpi:nth-child(6){background:linear-gradient(135deg,#0284c7,#22d3ee)}.performance-kpi:nth-child(7){background:linear-gradient(135deg,#ea580c,#fb923c)}.performance-kpi:nth-child(8){background:linear-gradient(135deg,#dc2626,#f43f5e)}.performance-kpi span{font-size:10.5px;font-weight:900;position:relative;z-index:1}.performance-kpi strong{font-size:18px;line-height:1.06;margin:5px 0 0;position:relative;z-index:1}.performance-kpi small{font-size:10.2px;font-weight:750;margin-top:5px;position:relative;z-index:1}.md403-grid{display:grid;grid-template-columns:1.04fr .96fr;gap:8px;margin:0}.md403-panel{border-radius:15px;background:#fff;border:1px solid #e5edf6;box-shadow:0 10px 20px rgba(15,23,42,.06);padding:10px;overflow:hidden}.performance-panel header{border:0;padding:0;margin:0}.performance-panel h3,.performance-panel h4{margin:0 0 4px;text-align:center;color:#0f172a;font-weight:900}.performance-panel h3{font-size:13px}.performance-panel h4{font-size:12px}.performance-panel header p,.performance-statuses>p{margin:0 0 7px;text-align:center;color:#64748b;font-size:10.5px;font-weight:700}.md403-mini-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.performance-summary-item{border-radius:10px;padding:7px 9px;text-align:left;background:linear-gradient(180deg,#f8fbff,#fff);box-shadow:inset 0 0 0 1px #e8eef7}.performance-summary-item span{display:block;color:#64748b;font-size:10.5px;font-weight:800}.performance-summary-item strong{display:block;margin-top:3px;color:#0f172a;font-size:11px}.performance-centurion-progress{margin-top:7px}.md403-progress{height:9px;border-radius:999px;background:#e5e7eb;overflow:hidden}.md403-progress i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#4f46e5,#ec4899,#f59e0b)}.md403-note{margin-top:5px;color:#64748b;font-size:10.5px;font-weight:800;text-align:center}.md403-funnel{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-top:7px}.performance-funnel-step{min-height:66px;padding:7px 6px;border-radius:12px;text-align:center;color:#fff;display:flex;flex-direction:column;justify-content:center}.performance-funnel-step:nth-child(1){background:linear-gradient(135deg,#2563eb,#06b6d4)}.performance-funnel-step:nth-child(2){background:linear-gradient(135deg,#7c3aed,#a855f7)}.performance-funnel-step:nth-child(3){background:linear-gradient(135deg,#f59e0b,#f97316)}.performance-funnel-step:nth-child(4){background:linear-gradient(135deg,#16a34a,#22c55e)}.performance-funnel-step span{font-size:10px;font-weight:800}.performance-funnel-step strong{font-size:18px;margin:3px 0}.performance-funnel-step small{font-size:9.5px;font-weight:800}.performance-centurion-layout{display:grid;grid-template-columns:.43fr .57fr;gap:8px;align-items:center}.md403-centurion{display:flex;align-items:center;justify-content:center;min-height:142px}.performance-donut{--pct:0;width:122px;height:122px;border-radius:50%;background:conic-gradient(#8b5cf6 calc(var(--pct)*1%),#e2e8f0 0);display:grid;place-items:center;position:relative}.performance-donut:after{content:"";position:absolute;inset:17px;border-radius:50%;background:#fff;box-shadow:inset 0 0 0 1px #eef2f7}.performance-donut-inner{position:relative;z-index:1;text-align:center}.performance-donut-inner strong{display:block;font-size:19px;color:#111827}.performance-donut-inner span{font-size:9.5px;color:#64748b;font-weight:800}.performance-status-row{display:grid;grid-template-columns:minmax(68px,1fr) 1.3fr 24px;align-items:center;gap:5px;margin:6px 0;font-size:10px}.performance-status-row>span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#334155;font-weight:750}.performance-status-track{height:9px;border-radius:999px;background:#edf2f7;overflow:hidden}.performance-status-track i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#3b82f6,#06b6d4)}.performance-status-row strong{text-align:right;color:#0f172a}.performance-loading,.performance-empty{grid-column:1/-1;text-align:center;padding:25px;border:1px dashed #cbd5e1;border-radius:12px;background:#f8fafc;color:#64748b}.performance-view [data-sensitive="true"]{transition:filter .2s}html[data-private="true"] .performance-view [data-sensitive="true"]{filter:blur(7px);user-select:none}@media(max-width:900px){.md403-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.md403-grid{grid-template-columns:1fr}.performance-shell{overflow:auto}.performance-centurion-layout{grid-template-columns:1fr}}@media(max-width:620px){.md403-filters,.md403-kpis,.md403-mini-grid,.md403-funnel{grid-template-columns:1fr}.md403-header{flex-direction:column}.md403-header-actions{width:100%;justify-content:flex-end}}
    /* Mi Desempeño: réplica visual de V2 exclusiva para el modo oscuro. */
    html[data-theme="dark"] .performance-shell {
      background:#0b1629;
      border-color:#263854;
      box-shadow:0 30px 80px rgba(0,0,0,.48);
      color:#f8fafc;
    }
    html[data-theme="dark"] .performance-shell .md403-header {
      background:#fff;
      border:1px solid #dbe3ef;
    }
    html[data-theme="dark"] .performance-shell .md403-header:after { background:rgba(255,255,255,.42); }
    html[data-theme="dark"] .performance-shell .performance-heading h2 { color:#111827; }
    html[data-theme="dark"] .performance-shell .performance-heading p { color:#475569; }
    html[data-theme="dark"] .performance-shell .md403-filters {
      padding:9px;
      border:1px solid #263854;
      border-radius:15px;
      background:#101b31;
    }
    html[data-theme="dark"] .performance-shell .md403-filters label { color:#e7edf7; }
    html[data-theme="dark"] .performance-shell .md403-filters select,
    html[data-theme="dark"] .performance-shell .md403-filters input {
      border-color:#33445f!important;
      background-color:#f8fafc!important;
      color:#111827!important;
    }
    html[data-theme="dark"] .performance-shell .performance-kpi { box-shadow:none; }
    html[data-theme="dark"] .performance-shell .performance-kpi:nth-child(8) {
      background:linear-gradient(135deg,#5b3be8,#8057f2);
    }
    html[data-theme="dark"] .performance-shell .md403-panel {
      background:#0f1a2e;
      border-color:#263854;
      box-shadow:none;
    }
    html[data-theme="dark"] .performance-shell .performance-panel h3,
    html[data-theme="dark"] .performance-shell .performance-panel h4 { color:#f8fafc; }
    html[data-theme="dark"] .performance-shell .performance-panel header p,
    html[data-theme="dark"] .performance-shell .performance-statuses>p,
    html[data-theme="dark"] .performance-shell .md403-note { color:#aebbd0; }
    html[data-theme="dark"] .performance-shell .performance-summary-item {
      background:#101b31;
      box-shadow:inset 0 0 0 1px #2b3c58;
    }
    html[data-theme="dark"] .performance-shell .performance-summary-item span { color:#aebbd0; }
    html[data-theme="dark"] .performance-shell .performance-summary-item strong { color:#f8fafc; }
    html[data-theme="dark"] .performance-shell .md403-progress { background:#e5e7eb; }
    html[data-theme="dark"] .performance-shell .performance-donut {
      background:conic-gradient(#8b5cf6 calc(var(--pct)*1%),#e5ebf3 0);
    }
    html[data-theme="dark"] .performance-shell .performance-donut:after {
      background:#0b1629;
      box-shadow:inset 0 0 0 1px #263854;
    }
    html[data-theme="dark"] .performance-shell .performance-donut-inner strong { color:#f8fafc; }
    html[data-theme="dark"] .performance-shell .performance-donut-inner span { color:#c7d2e4; }
    html[data-theme="dark"] .performance-shell .performance-statuses {
      padding:10px;
      border:1px solid #263854;
      border-radius:15px;
      background:#0f1a2e;
    }
    html[data-theme="dark"] .performance-shell .performance-status-row>span:first-child,
    html[data-theme="dark"] .performance-shell .performance-status-row strong { color:#e7edf7; }
    html[data-theme="dark"] .performance-shell .performance-status-track { background:#25344c; }
    html[data-theme="dark"] .performance-shell .performance-loading,
    html[data-theme="dark"] .performance-shell .performance-empty {
      border-color:#33445f;
      background:#101b31;
      color:#aebbd0;
    }
    /* V3.128 · Posición final de los bloques gráficos de Mi Desempeño. */
    .performance-shell .md403-filters label,
    .performance-shell .performance-panel h3,
    .performance-shell .performance-panel h4,
    .performance-shell .performance-panel header p,
    .performance-shell .performance-statuses>p,
    .performance-shell .md403-note { text-align:left!important; }
    .performance-shell .md403-download {
      display:inline-flex;align-items:center;justify-content:center;gap:6px;height:30px;
      padding:0 12px;border:0;border-radius:999px;background:linear-gradient(90deg,#2563eb,#06b6d4);
      color:#fff;font-size:12px;font-weight:900;white-space:nowrap;cursor:pointer;
    }
    .performance-shell .md403-download:disabled { cursor:wait;opacity:.72; }
    .performance-export-stage{position:fixed;left:-20000px;top:0;width:1040px;z-index:-1;pointer-events:none}
    .performance-export-stage .performance-shell{width:1040px!important;max-height:none!important;height:auto!important;overflow:visible!important;box-shadow:none!important}
    .performance-export-stage .md403-kpis{grid-template-columns:repeat(4,minmax(0,1fr))!important}
    .performance-export-stage .md403-grid{grid-template-columns:1.04fr .96fr!important}
    .performance-shell .md403-filters{grid-template-columns:repeat(5,minmax(0,1fr))}.performance-shell .md403-filters[data-admin-selector="false"]{grid-template-columns:repeat(4,minmax(0,1fr))}.performance-export-stage .md403-filters{grid-template-columns:repeat(5,minmax(0,1fr))!important}.performance-export-stage .md403-filters[data-admin-selector="false"]{grid-template-columns:repeat(4,minmax(0,1fr))!important}
    .performance-export-stage .md403-mini-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
    .performance-export-stage .md403-funnel{grid-template-columns:repeat(4,minmax(0,1fr))!important}
    .performance-export-stage .performance-centurion-layout{grid-template-columns:.43fr .57fr!important}
    .performance-shell .performance-centurion-layout{grid-template-columns:.43fr .57fr;align-items:center}
    .performance-shell .performance-centurion{width:100%;min-width:0;display:flex;align-items:center;justify-content:center;transform:translate(-16px,10px)}
    .performance-shell .performance-statuses{min-width:0;transform:translate(-18px,10px)}
    .performance-shell .performance-status-columns{height:146px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:8px;padding:4px 2px 0}
    .performance-shell .performance-status-column{height:100%;min-width:0;display:grid;grid-template-rows:18px minmax(82px,1fr) 30px;align-items:end;text-align:center}
    .performance-shell .performance-status-value{align-self:center;color:#0f172a;font-size:10px;font-weight:900;line-height:1}
    .performance-shell .performance-status-column-track{height:100%;min-height:82px;border:1px solid #d8e0ec;border-radius:12px 12px 8px 8px;background:#f8fafc;overflow:hidden;display:flex;align-items:flex-end}
    .performance-shell .performance-status-column-track i{display:block;width:100%;min-height:6px;border-radius:10px 10px 6px 6px}
    .performance-shell .performance-status-column>span:last-child{align-self:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#334155;font-size:9px;font-weight:800;padding:0 2px}
    html[data-theme="dark"] .performance-shell .performance-status-value,
    html[data-theme="dark"] .performance-shell .performance-status-column>span:last-child{color:#e7edf7}
    html[data-theme="dark"] .performance-shell .performance-status-column-track{border-color:#334155;background:#0b1424}
    .performance-export-stage .performance-status-columns{grid-template-columns:repeat(3,minmax(0,1fr))!important}
    @media(max-width:900px){.performance-shell .performance-centurion-layout{grid-template-columns:1fr}.performance-shell .performance-centurion{transform:translate(-8px,8px)}.performance-shell .performance-statuses{transform:translate(-10px,8px)}.performance-shell .performance-status-columns{min-height:170px}}

    /* Flyers · V3.374 · CSS consolidado */
    .flyers-toolbar{display:flex;align-items:center;gap:10px;width:100%}.flyers-toolbar .search-input-wrap{flex:1 1 auto}.flyers-filter{width:170px;min-width:145px;height:30px}
    
    .flyer-card{min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:10px;background:var(--surface);box-shadow:0 2px 8px rgba(19,25,32,.07)}
    .flyer-cover{position:relative;display:block;width:100%;aspect-ratio:16/10;overflow:hidden;border:0;border-bottom:1px solid var(--line);padding:0;background:var(--surface-hover);cursor:pointer}.flyer-cover img{width:100%;height:100%;object-fit:cover;transition:transform .2s ease}.flyer-cover:hover img{transform:scale(1.025)}
    .flyer-cover-placeholder{display:grid;place-items:center;height:100%;color:var(--muted)}.flyer-cover-placeholder svg{width:46px;height:46px}.flyer-status{position:absolute;top:10px;right:10px;padding:4px 8px;border-radius:999px;color:#fff;font-size:10px;font-weight:800;letter-spacing:.25px;text-transform:uppercase}.flyer-status.available{background:#178a52}.flyer-status.unavailable{background:#b4232c}.flyer-status.private{background:#111;color:#fff}
    .flyer-card-body{padding:12px}.flyer-card-title{margin:0 0 9px;min-height:36px;font-size:14px;line-height:1.28;color:var(--ink)}.flyer-card-meta{display:grid;gap:6px;margin:0}.flyer-card-meta div{display:grid;grid-template-columns:88px minmax(0,1fr);gap:7px;font-size:11px;line-height:1.35}.flyer-card-meta dt{color:var(--muted);font-weight:700}.flyer-card-meta dd{margin:0;color:var(--ink);overflow-wrap:anywhere}
    .flyer-captured-row dd{display:block}.flyer-card-meta .flyer-features{position:relative;left:-95px;display:flex;flex-flow:row nowrap;align-items:center;justify-content:center;gap:10px;width:calc(100% + 95px);max-width:none;margin:4px 0 0;white-space:nowrap}.flyer-feature{display:inline-flex;align-items:center;gap:4px;flex:0 0 auto;color:var(--muted);font:700 10px var(--font-caption);white-space:nowrap}.flyer-feature svg{width:16px;height:16px;flex:0 0 auto;stroke:currentColor}.flyer-card-actions{display:flex;align-items:center;justify-content:flex-end;min-height:39px;margin-top:10px;padding-top:10px;border-top:1px solid var(--line)}.flyer-action-buttons{display:flex;justify-content:flex-end;gap:7px;margin-left:auto}.flyer-card-actions:empty{display:none}.flyer-mini-button{height:28px;padding:0 9px;border:1px solid var(--line);border-radius:6px;background:transparent;color:var(--ink);font:700 10px var(--font-caption);cursor:pointer}.flyer-mini-button:hover{background:var(--surface-hover)}.flyer-mini-button.danger{color:var(--red)}.flyer-share-icon{display:inline-grid;place-items:center;width:28px;min-width:28px;padding:0;color:var(--ink)}.flyer-share-icon svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
    .flyer-image-picker{display:grid;grid-template-columns:150px minmax(0,1fr);gap:14px;align-items:center}.flyer-image-preview{position:relative;display:grid;place-items:center;width:150px;aspect-ratio:16/10;overflow:hidden;border:1px dashed var(--line);border-radius:8px;background:var(--surface-hover);color:var(--muted)}.flyer-image-preview img{width:100%;height:100%;object-fit:cover}.flyer-image-preview span{padding:10px;text-align:center;font-size:10px}.flyer-image-controls{display:grid;gap:7px;justify-items:start}.flyer-image-button{height:34px;padding:0 13px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--ink);font:700 11px var(--font-caption);cursor:pointer}.flyer-image-button:hover{background:var(--surface-hover)}.flyer-image-note{margin:0;color:var(--muted);font-size:10px;line-height:1.45}
    .flyers-empty{grid-column:1/-1;display:grid;place-items:center;min-height:260px;border:1px dashed var(--line);border-radius:10px;color:var(--muted);text-align:center}.flyer-form-card{width:min(760px,calc(100vw - var(--sidebar-width) - 30px))}.flyer-form-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;align-items:start}.flyer-form-grid .half{grid-column:span 3}.flyer-form-grid .third{grid-column:span 2}.flyer-form-grid .wide{grid-column:1/-1}.flyer-form-grid>.field>label{display:flex;align-items:center;min-height:16px;line-height:16px}.flyer-id-error{margin-left:auto;color:var(--red);font-size:10px;font-weight:800}.flyer-id-error[hidden]{display:none}.flyer-property-id-field .input[data-duplicate="true"]{border-color:var(--red)!important;box-shadow:0 0 0 2px rgba(198,45,45,.09)}.flyer-captation-status{min-height:16px;margin-top:5px;color:var(--muted);font-size:10.5px;font-weight:650;line-height:1.35}.flyer-captation-status[data-kind="success"]{color:var(--green)}.flyer-captation-status[data-kind="warning"]{color:#9a6c13}.flyer-captation-status[data-kind="error"]{color:var(--red)}.flyer-captation-status[data-kind="info"]{color:var(--blue-ink)}.flyer-captation-status[hidden]{display:none}
    #newFlyerButton,#flyerSave{border-color:var(--gold-dark);background:var(--gold);color:#fff;transition:background-color .14s ease,border-color .14s ease,box-shadow .14s ease}#newFlyerButton:hover:not(:disabled),#flyerSave:hover:not(:disabled){border-color:var(--gold-dark);background:var(--gold-hover)}#newFlyerButton:active:not(:disabled),#flyerSave:active:not(:disabled){border-color:var(--gold-dark);background:var(--gold-active)}#newFlyerButton:focus-visible,#flyerSave:focus-visible{outline:0;box-shadow:0 0 0 3px rgba(174,138,71,.24)}
    @media(max-width:820px){.flyers-toolbar{flex-wrap:wrap}.flyers-filter{flex:1 1 145px}.flyer-form-grid{grid-template-columns:1fr}.flyer-form-grid .half,.flyer-form-grid .third,.flyer-form-grid .wide{grid-column:auto}.flyer-image-picker{grid-template-columns:1fr}.flyer-image-preview{width:min(100%,260px)}}

    /* V3.198 · Conexión personal con Google Calendar */
    .calendar-view{height:calc(100% + 15px);margin-top:-15px;overflow:auto;padding:15px;background:var(--workspace-canvas)}
    .calendar-shell{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:15px;min-height:100%}
    .calendar-card{min-width:0;border:1px solid var(--line);border-radius:10px;background:var(--surface);box-shadow:0 2px 8px rgba(19,25,32,.06)}
    .calendar-main-card{display:flex;flex-direction:column;justify-content:space-between;padding:28px}
    .calendar-brand{display:flex;align-items:center;gap:18px}.calendar-logo{display:grid;place-items:center;width:64px;height:64px;flex:0 0 64px;border:1px solid var(--line);border-radius:14px;background:#fff}.calendar-logo svg{width:43px;height:43px}
    .calendar-brand h2{margin:0 0 5px;font:700 21px var(--font-caption);letter-spacing:.25px}.calendar-brand p{margin:0;color:var(--muted);line-height:1.45}
    .calendar-status-box{display:grid;gap:12px;margin:28px 0;padding:18px;border:1px solid var(--line);border-radius:8px;background:var(--surface-soft)}
    .calendar-status-line{display:flex;align-items:center;gap:9px}.calendar-status-dot{width:10px;height:10px;border-radius:50%;background:var(--muted);box-shadow:0 0 0 4px rgba(146,152,155,.12)}.calendar-status-line[data-connected="true"] .calendar-status-dot{background:#19a66a;box-shadow:0 0 0 4px rgba(25,166,106,.14)}
    .calendar-status-line strong{font:700 14px var(--font-caption)}.calendar-status-detail{margin:0;color:var(--muted);font-size:13px;line-height:1.45}
    #calendarOpen{display:inline-flex;align-items:center;justify-content:center;text-align:center;}
    .calendar-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.calendar-primary-button{border-color:var(--gold-dark)!important;background:var(--gold)!important;color:#fff!important}.calendar-primary-button:hover:not(:disabled){background:var(--gold-hover)!important}.calendar-secondary-button{border-color:var(--gold);background:transparent;color:var(--ink)}.calendar-secondary-button:hover:not(:disabled){background:rgba(174,138,71,.1)}
    .calendar-info-card{padding:28px}.calendar-info-card h3{margin:0 0 18px;font:700 17px var(--font-caption)}.calendar-info-list{display:grid;gap:18px;margin:0;padding:0;list-style:none}.calendar-info-list li{display:grid;grid-template-columns:34px minmax(0,1fr);gap:12px;align-items:start}.calendar-info-icon{display:grid;place-items:center;width:34px;height:34px;border:1px solid rgba(174,138,71,.45);border-radius:8px;color:var(--gold)}.calendar-info-icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7}.calendar-info-list strong{display:block;margin:0 0 3px;font-size:13px}.calendar-info-list p{margin:0;color:var(--muted);font-size:12px;line-height:1.45}
    @media(max-width:900px){.calendar-shell{grid-template-columns:1fr}.calendar-main-card,.calendar-info-card{padding:22px}}
    @media(max-width:560px){.calendar-view{padding:10px}.calendar-brand{align-items:flex-start}.calendar-logo{width:54px;height:54px;flex-basis:54px}.calendar-brand h2{font-size:17px}.calendar-actions .button{width:100%}}


    /* ROCKET · refinamiento visual V3.234 (modo claro). */
    html[data-theme="light"][data-brand-theme="rocket"] .toast[data-kind="selection"]{
      border-color:#0055DD;
      color:var(--ink);
      box-shadow:0 10px 30px rgba(0,0,0,.18),0 0 0 1px rgba(0,85,221,.14),inset 3px 0 0 #0055DD;
    }
    html[data-theme="light"][data-brand-theme="rocket"] #leadsRows .lead-row[data-editable="true"]:hover{
      box-shadow:inset 3px 0 0 #0055DD;
    }
    html[data-theme="light"][data-brand-theme="rocket"] .lead-row[data-selected="true"]::before{
      background:#0055DD;
    }

    /* ROCKET CRM · V3.264 · Calcular Comisión */
    html[data-theme="light"][data-brand-theme="rocket"] .calculator-independent-badge{
      border-color:#0055DD;
      background:#EAF1FF;
      color:#0055DD;
    }
    html[data-theme="light"][data-brand-theme="rocket"] .calculator-result-item[data-highlight="true"]{
      border-color:#0055DD;
      background:#EAF1FF;
    }
    html[data-theme="light"][data-brand-theme="rocket"] .calculator-result-detail{
      border-left-color:#0055DD;
    }

    /* ROCKET CRM · V3.265 · avisos y herramientas secundarias */
    html[data-theme="light"][data-brand-theme="rocket"] .toast{
      border-color:#0055DD;
      background:var(--surface);
      box-shadow:0 10px 30px rgba(0,0,0,.18),inset 4px 0 0 #0055DD,0 0 0 1px rgba(0,85,221,.14);
    }

    html[data-theme="light"][data-brand-theme="rocket"] #calculatorCopy,
    html[data-theme="light"][data-brand-theme="rocket"] #calculatorPrint{
      border-color:#0055DD;
      background:transparent;
      color:#0055DD;
    }
    html[data-theme="light"][data-brand-theme="rocket"] #calculatorCopy:hover:not(:disabled),
    html[data-theme="light"][data-brand-theme="rocket"] #calculatorPrint:hover:not(:disabled){
      border-color:#0055DD;
      background:rgba(0,85,221,.06);
      color:#0048BE;
    }

    /* Dashboard: tarjeta sólida ROCKET. */
    html[data-theme="light"][data-brand-theme="rocket"] #placeholderView[data-route="dashboard"] .placeholder-card{
      border-color:#0055DD;
      background:#0055DD;
      box-shadow:0 10px 28px rgba(0,85,221,.16);
    }
    html[data-theme="light"][data-brand-theme="rocket"] #placeholderView[data-route="dashboard"] .placeholder-card :is(h2,p){
      color:#fff;
    }


    /* Actualizaciones: versión actual azul + celeste. */
    html[data-theme="light"][data-brand-theme="rocket"] .update-entry[data-current="true"]{
      border-color:#0055DD;
      background:#EAF1FF;
      box-shadow:inset 3px 0 0 #0055DD;
    }


    /* WhatsApp: tratamiento visual ROCKET. */
    html[data-theme="light"][data-brand-theme="rocket"] #whatsappSend{
      border-color:#0048BE!important;
      background:#0055DD!important;
      color:#fff!important;
    }
    html[data-theme="light"][data-brand-theme="rocket"] #whatsappSend:hover:not(:disabled){
      border-color:#003FAF!important;
      background:#0048BE!important;
    }
    html[data-theme="light"][data-brand-theme="rocket"] .whatsapp-mode-badge{
      border-color:#0055DD;
      background:#8BB4FF;
      color:#fff;
      box-shadow:inset 0 0 0 1px rgba(255,255,255,.14);
    }

    /* Menú Broker colapsado: el flyout es una superficie clara y necesita tinta oscura. */
    html[data-theme="light"][data-brand-theme="rocket"][data-sidebar="collapsed"] .sidebar .broker-submenu{
      border-color:rgba(0,85,221,.25);
      background:var(--surface);
    }
    html[data-theme="light"][data-brand-theme="rocket"][data-sidebar="collapsed"] .sidebar .broker-submenu::before{
      color:var(--ink);
    }
    html[data-theme="light"][data-brand-theme="rocket"][data-sidebar="collapsed"] .sidebar .broker-submenu .nav-link{
      color:var(--ink);
    }
    html[data-theme="light"][data-brand-theme="rocket"][data-sidebar="collapsed"] .sidebar .broker-submenu .nav-link:hover,
    html[data-theme="light"][data-brand-theme="rocket"][data-sidebar="collapsed"] .sidebar .broker-submenu .nav-link[aria-current="page"]{
      background:#EAF1FF;
      color:#0055DD;
    }
    html[data-theme="light"][data-brand-theme="rocket"][data-sidebar="collapsed"] .sidebar .broker-submenu .nav-link[aria-current="page"] .nav-icon{
      color:#0055DD;
    }
    /* ROCKET · refinamiento visual V3.235 (modo claro). */
    html[data-theme="light"][data-brand-theme="rocket"] .sidebar .sidebar-brand-version{
      color:rgba(255,255,255,.82);font-size:9px;
    }
    html[data-theme="light"][data-brand-theme="rocket"] #helpButton[aria-expanded="true"]{
      background:rgba(255,255,255,.10)!important;
      color:#fff!important;
    }
    html[data-theme="light"][data-brand-theme="rocket"] #reminderRows .reminder-row[data-editable="true"]:hover{
      box-shadow:inset 3px 0 0 #0055DD;
    }
    html[data-theme="light"][data-brand-theme="rocket"] #calendarView .calendar-info-icon{
      border-color:#0055DD;
      color:#0055DD;
    }
    a.button[href*="anydesk.com"]{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      min-height:46px;
      height:46px;
      padding-top:0;
      padding-bottom:0;
      text-align:center;
    }

    @media(max-width:900px){
      html[data-theme="light"][data-brand-theme="rocket"] .sidebar .broker-submenu{
        border-color:rgba(0,85,221,.25);
        background:var(--surface);
      }
      html[data-theme="light"][data-brand-theme="rocket"] .sidebar .broker-submenu::before,
      html[data-theme="light"][data-brand-theme="rocket"] .sidebar .broker-submenu .nav-link{
        color:var(--ink);
      }
      html[data-theme="light"][data-brand-theme="rocket"] .sidebar .broker-submenu .nav-link:hover,
      html[data-theme="light"][data-brand-theme="rocket"] .sidebar .broker-submenu .nav-link[aria-current="page"]{
        background:#EAF1FF;
        color:#0055DD;
      }
      html[data-theme="light"][data-brand-theme="rocket"] .sidebar .broker-submenu .nav-link[aria-current="page"] .nav-icon{
        color:#0055DD;
      }
    }


    /* ROCKET · refinamiento visual V3.237 (modo claro). */
    /* Los controles de vista de Leads permanecen limpios: azul, sin fondo ni sombreado. */
    html[data-theme="light"][data-brand-theme="rocket"] .lead-view-button,
    html[data-theme="light"][data-brand-theme="rocket"] .lead-view-button:hover,
    html[data-theme="light"][data-brand-theme="rocket"] .lead-view-button[aria-pressed="true"]{
      background:transparent!important;
      box-shadow:none!important;
    }

    /* Perfil: aro e interacción del avatar en azul ROCKET. */
    html[data-theme="light"][data-brand-theme="rocket"] .profile-avatar-picker{
      border-color:#0055DD;
      background:#EAF1FF;
      color:#0055DD;
    }
    html[data-theme="light"][data-brand-theme="rocket"] .profile-avatar-picker:focus-visible{
      outline-color:rgba(0,85,221,.30);
    }

    /* ROCKET · refinamiento visual V3.236 (modo claro). */
    html[data-theme="light"][data-brand-theme="rocket"] .lead-view-button{
      color:#0055DD;
    }
    html[data-theme="light"][data-brand-theme="rocket"] .lead-view-button:hover{
      background:#EAF1FF;
      color:#0048BE;
    }
    html[data-theme="light"][data-brand-theme="rocket"] .lead-view-button[aria-pressed="true"]{
      background:#EAF1FF;
      color:#0055DD;
    }
    html[data-theme="light"][data-brand-theme="rocket"] .lead-view-button:focus-visible{
      outline-color:rgba(0,85,221,.42);
    }

    /* Ordenamiento: título activo e indicadores en azul ROCKET. */
    html[data-theme="light"][data-brand-theme="rocket"] [aria-sort="ascending"] :is(button,.sort-indicator),
    html[data-theme="light"][data-brand-theme="rocket"] [aria-sort="descending"] :is(button,.sort-indicator),
    html[data-theme="light"][data-brand-theme="rocket"] :is(.lead-sort-button,.reminder-sort-button,.closing-sort-button,.advisor-sort-button,.productivity-sort-button,.tops-sort-button,.seprelad-sort-button,.commissions-sort-button,.expenses-sort-button,.costs-sort-button,.contacts-sort-button)[data-active="true"],
    html[data-theme="light"][data-brand-theme="rocket"] :is(.lead-sort-button,.reminder-sort-button,.closing-sort-button,.advisor-sort-button,.productivity-sort-button,.tops-sort-button,.seprelad-sort-button,.commissions-sort-button,.expenses-sort-button,.costs-sort-button,.contacts-sort-button)[data-active="true"] .sort-indicator{
      color:#0055DD!important;
    }
    html[data-theme="light"][data-brand-theme="rocket"] :is(.lead-sort-button,.reminder-sort-button,.closing-sort-button,.advisor-sort-button,.productivity-sort-button,.tops-sort-button,.seprelad-sort-button,.commissions-sort-button,.expenses-sort-button,.costs-sort-button,.contacts-sort-button):hover .sort-indicator{
      color:#0055DD;
    }

    /* Versión junto a CRM: un punto menos que el texto de producto. */
    

    /* Menú Broker: selección clara con ícono azul, sin volver al dorado heredado. */
    html[data-theme="light"][data-brand-theme="rocket"] .sidebar .broker-submenu .nav-link[aria-current="page"]{
      background:#EAF1FF;
      color:#0055DD;
    }
    html[data-theme="light"][data-brand-theme="rocket"] .sidebar .broker-submenu .nav-link[aria-current="page"] .nav-icon{
      color:#0055DD!important;
    }

    /* Aviso emergente de recordatorio: identidad ROCKET completa. */
    html[data-theme="light"][data-brand-theme="rocket"] .reminder-alert-card{
      border-color:#0055DD;
      box-shadow:0 28px 90px rgba(0,0,0,.34),0 0 0 4px rgba(139,180,255,.30);
    }
    html[data-theme="light"][data-brand-theme="rocket"] .reminder-alert-bell{
      background:#0055DD;
      color:#fff;
      box-shadow:0 0 0 9px rgba(139,180,255,.30);
    }
    html[data-theme="light"][data-brand-theme="rocket"] .reminder-alert-entry{
      border-color:#0055DD;
      border-left-color:#0055DD;
      background:#EAF1FF;
    }
    html[data-theme="light"][data-brand-theme="rocket"] .reminder-alert-entry-note::before{
      color:#0055DD;
    }

    /* Asistencia remota: alto equivalente al indicador 01 del módulo. */
    

  

    /* ACCESOS DIRECTOS · V3.240
       Misma arquitectura visual de Menú Broker: cascada inline al expandir y flyout compacto al colapsar. */
    #quickAccessButton .nav-chevron,
    #brokerButton .nav-chevron{transform:rotate(90deg)}
    #quickAccessButton[aria-expanded="true"] .nav-chevron,
    #brokerButton[aria-expanded="true"] .nav-chevron{transform:rotate(270deg)}
    .quick-menu{
      position:static;z-index:auto;display:flex;width:auto;max-height:none;margin:2px 0 4px;padding:0 4px 0 36px;
      flex-direction:column;gap:0;overflow:visible;border:0;border-radius:0;background:transparent;box-shadow:none;list-style:none;
    }
    .quick-menu[hidden]{display:none}
    .quick-menu::before{content:none}
    .quick-group-item{min-width:0;list-style:none}
    .quick-menu .quick-group-toggle{
      width:100%;height:34px;padding:6px 10px;border:0;border-radius:4px;background:transparent;color:var(--ink);
      font-size:13px;line-height:18px;text-align:left;
    }
    .quick-menu .quick-group-toggle .nav-icon{width:18px;height:18px;flex:0 0 18px}
    .quick-group-title{display:block;min-width:0;margin-left:8px;overflow:hidden;flex:1;font-size:13px;line-height:18px;text-overflow:ellipsis;white-space:nowrap}
    .quick-group-chevron{display:block;width:18px;height:18px;margin-left:auto;flex:0 0 18px;color:currentColor;transition:transform .16s ease}
    .quick-group-toggle[aria-expanded="true"] .quick-group-chevron{transform:rotate(90deg)}
    .quick-group-submenu{display:flex;margin:0;padding:0 4px 3px 26px;flex-direction:column;gap:1px;list-style:none}
    .quick-group-submenu[hidden]{display:none}
    .quick-group-submenu li{min-width:0;list-style:none}
    .quick-link{
      display:flex;align-items:center;width:100%;height:32px;min-height:32px;padding:5px 8px;gap:8px;
      border:0;border-radius:4px;background:transparent;color:var(--ink);font-size:12px;line-height:18px;text-decoration:none;
    }
    .quick-link:hover{border:0;background:var(--surface-hover)}
    .quick-logo{display:grid;place-items:center;width:18px;height:18px;flex:0 0 18px}
    .quick-logo svg,.quick-logo img{width:18px;height:18px}
    .quick-logo img{display:block;object-fit:contain}
    .quick-text{display:block!important;min-width:0;overflow:hidden;flex:1;font-size:12px;font-weight:600;line-height:18px;text-overflow:ellipsis;white-space:nowrap}

    html[data-sidebar="collapsed"] .quick-menu{
      position:fixed;z-index:190;display:flex;width:250px;max-height:calc(100vh - 30px);margin:0;padding:8px;
      overflow-x:hidden;overflow-y:auto;border:1px solid var(--line);border-radius:6px;background:var(--surface);box-shadow:0 14px 30px rgba(0,0,0,.16);
    }
    html[data-sidebar="collapsed"] .quick-menu::before{
      content:"Accesos Directos";display:block;padding:5px 10px 10px;color:var(--ink);font-size:15px;font-weight:700;line-height:20px;
    }
    html[data-sidebar="collapsed"] .sidebar .quick-menu .quick-group-toggle{display:flex;width:100%;height:38px;padding:7px 10px;color:var(--ink);font-size:14px;line-height:20px}
    html[data-sidebar="collapsed"] .quick-menu .quick-group-toggle .nav-icon{width:20px;height:20px;flex-basis:20px}
    html[data-sidebar="collapsed"] .sidebar .quick-menu .quick-group-title{display:block!important;min-width:0;margin-left:9px;overflow:hidden;flex:1;font-size:14px;line-height:20px;text-overflow:ellipsis;white-space:nowrap}
    html[data-sidebar="collapsed"] .quick-menu .quick-group-chevron{display:block;width:18px;height:18px}
    html[data-sidebar="collapsed"] .quick-group-submenu{padding:1px 4px 4px 28px}
    html[data-sidebar="collapsed"] .quick-link{height:34px;min-height:34px;padding:6px 8px;color:var(--ink)}
    html[data-sidebar="collapsed"] .quick-text{font-size:13px}

    html[data-theme="light"][data-brand-theme="rocket"] .sidebar .quick-menu{
      color:#fff;
    }
    html[data-theme="light"][data-brand-theme="rocket"] .sidebar .quick-menu .quick-group-toggle,
    html[data-theme="light"][data-brand-theme="rocket"] .sidebar .quick-menu .quick-link{
      color:#fff;
    }
    html[data-theme="light"][data-brand-theme="rocket"] .sidebar .quick-menu .quick-group-toggle:hover,
    html[data-theme="light"][data-brand-theme="rocket"] .sidebar .quick-menu .quick-group-toggle[aria-expanded="true"],
    html[data-theme="light"][data-brand-theme="rocket"] .sidebar .quick-menu .quick-link:hover{
      background:rgba(255,255,255,.10);color:#fff;
    }
    html[data-theme="light"][data-brand-theme="rocket"][data-sidebar="collapsed"] .sidebar .quick-menu{
      border-color:rgba(0,85,221,.25);background:var(--surface);color:var(--ink);
    }
    html[data-theme="light"][data-brand-theme="rocket"][data-sidebar="collapsed"] .sidebar .quick-menu::before,
    html[data-theme="light"][data-brand-theme="rocket"][data-sidebar="collapsed"] .sidebar .quick-menu .quick-group-toggle,
    html[data-theme="light"][data-brand-theme="rocket"][data-sidebar="collapsed"] .sidebar .quick-menu .quick-link{
      color:var(--ink);
    }
    html[data-theme="light"][data-brand-theme="rocket"][data-sidebar="collapsed"] .sidebar .quick-menu .quick-group-toggle:hover,
    html[data-theme="light"][data-brand-theme="rocket"][data-sidebar="collapsed"] .sidebar .quick-menu .quick-group-toggle[aria-expanded="true"],
    html[data-theme="light"][data-brand-theme="rocket"][data-sidebar="collapsed"] .sidebar .quick-menu .quick-link:hover{
      background:#EAF1FF;color:#0055DD;
    }

    @media(max-width:900px){
      .quick-menu{
        position:fixed;z-index:190;display:flex;width:250px;max-height:calc(100vh - 30px);margin:0;padding:8px;
        overflow-x:hidden;overflow-y:auto;border:1px solid var(--line);border-radius:6px;background:var(--surface);box-shadow:0 14px 30px rgba(0,0,0,.16);
      }
      .quick-menu::before{content:"Accesos Directos";display:block;padding:5px 10px 10px;color:var(--ink);font-size:15px;font-weight:700;line-height:20px}
      html .sidebar .quick-menu .quick-group-toggle{display:flex;width:100%;height:38px;padding:7px 10px;color:var(--ink);font-size:14px;line-height:20px}
      .quick-menu .quick-group-toggle .nav-icon{width:20px;height:20px;flex-basis:20px}
      html .sidebar .quick-menu .quick-group-title{display:block!important;min-width:0;margin-left:9px;overflow:hidden;flex:1;font-size:14px;line-height:20px;text-overflow:ellipsis;white-space:nowrap}
      .quick-group-submenu{padding:1px 4px 4px 28px}
      .quick-link{height:34px;min-height:34px;padding:6px 8px;color:var(--ink)}
      .quick-text{font-size:13px}
      html[data-theme="light"][data-brand-theme="rocket"] .sidebar .quick-menu{border-color:rgba(0,85,221,.25);background:var(--surface);color:var(--ink)}
      html[data-theme="light"][data-brand-theme="rocket"] .sidebar .quick-menu::before,
      html[data-theme="light"][data-brand-theme="rocket"] .sidebar .quick-menu .quick-group-toggle,
      html[data-theme="light"][data-brand-theme="rocket"] .sidebar .quick-menu .quick-link{color:var(--ink)}
      html[data-theme="light"][data-brand-theme="rocket"] .sidebar .quick-menu .quick-group-toggle:hover,
      html[data-theme="light"][data-brand-theme="rocket"] .sidebar .quick-menu .quick-group-toggle[aria-expanded="true"],
      html[data-theme="light"][data-brand-theme="rocket"] .sidebar .quick-menu .quick-link:hover{background:#EAF1FF;color:#0055DD}
    }

    /* ==========================================================
       ROCKET CRM · V3.283 · DARK ROCKET
       Variante oscura oficial, aislada de Dark Century.
       ========================================================== */
    html[data-theme="dark"][data-brand-theme="rocket"] body{
      background:#0B0F17;
      color:#F4F7FB;
    }
    html[data-theme="dark"][data-brand-theme="rocket"] :is(.workspace,.workspace-body,.placeholder-view,.calendar-view){
      background:var(--workspace-canvas);
    }

    /* Sidebar ROCKET: conserva el azul oficial en ambos modos. */
    html[data-theme="dark"][data-brand-theme="rocket"] .sidebar,
    html[data-theme="dark"][data-brand-theme="rocket"] .sidebar-lower{
      background:#0055DD;
      border-right-color:#0048BE;
    }
    html[data-theme="dark"][data-brand-theme="rocket"] .sidebar-lower::before{
      background:linear-gradient(0deg,rgba(0,0,0,.18),rgba(255,255,255,0) 99.99%);
    }
    html[data-theme="dark"][data-brand-theme="rocket"] .sidebar-divider,
    html[data-theme="dark"][data-brand-theme="rocket"] .message-trays-divider{
      background:rgba(255,255,255,.16);
    }
    html[data-theme="dark"][data-brand-theme="rocket"] .sidebar-logo,
    html[data-theme="dark"][data-brand-theme="rocket"] .sidebar-brand-name,
    html[data-theme="dark"][data-brand-theme="rocket"] .sidebar-brand-product,
    html[data-theme="dark"][data-brand-theme="rocket"] .sidebar-section-title,
    html[data-theme="dark"][data-brand-theme="rocket"] .sidebar .nav-link,
    html[data-theme="dark"][data-brand-theme="rocket"] .sidebar .sidebar-toggle,
    html[data-theme="dark"][data-brand-theme="rocket"] .sidebar .icon-button,
    html[data-theme="dark"][data-brand-theme="rocket"] .sidebar .profile-button,
    html[data-theme="dark"][data-brand-theme="rocket"] .sidebar .quick-link,
    html[data-theme="dark"][data-brand-theme="rocket"] .sidebar .profile-copy strong{
      color:#fff;
    }
    html[data-theme="dark"][data-brand-theme="rocket"] .sidebar-brand-name{font-size:16px;font-weight:900;letter-spacing:.9px}
    html[data-theme="dark"][data-brand-theme="rocket"] .sidebar-brand-product,
    html[data-theme="dark"][data-brand-theme="rocket"] .sidebar-section-title,
    html[data-theme="dark"][data-brand-theme="rocket"] .sidebar .profile-copy span,
    html[data-theme="dark"][data-brand-theme="rocket"] .sidebar .sidebar-brand-version{
      color:rgba(255,255,255,.82);opacity:1;font-weight:700;
    }
    html[data-theme="dark"][data-brand-theme="rocket"] .sidebar .sidebar-brand-version{font-size:9px}
    html[data-theme="dark"][data-brand-theme="rocket"] .sidebar-brand-icon{
      width:40px;height:40px;object-fit:contain;filter:brightness(0) invert(1);
    }
    html[data-theme="dark"][data-brand-theme="rocket"] .sidebar .nav-link[aria-current="page"]{
      background:rgba(255,255,255,.16);color:#fff;font-weight:700;
    }
    html[data-theme="dark"][data-brand-theme="rocket"] .sidebar :is(.nav-link:hover,.profile-button:hover,.sidebar-toggle:hover,.icon-button:hover,.quick-link:hover),
    html[data-theme="dark"][data-brand-theme="rocket"] .sidebar .nav-link[aria-expanded="true"],
    html[data-theme="dark"][data-brand-theme="rocket"] #helpButton[aria-expanded="true"]{
      background:rgba(255,255,255,.10)!important;color:#fff!important;
    }
    html[data-theme="dark"][data-brand-theme="rocket"] .sidebar .profile-avatar{
      background:rgba(255,255,255,.16);color:#fff;
    }
    html[data-theme="dark"][data-brand-theme="rocket"] .sidebar .profile-version{
      border-color:rgba(255,255,255,.28);background:rgba(255,255,255,.12);color:#fff;
    }

    /* Superficies, campos y menús. */
    html[data-theme="dark"][data-brand-theme="rocket"] :is(
      .panel,.card,.modal-card,.popover,.filter-panel,.filter-scroll,.filter-actions,
      .calendar-card,.calendar-status-box,.placeholder-card,.themes-status,.theme-option,
      .manual-details,.manual-action-grid article,.updates-summary
    ){
      border-color:#2A384A;
    }
    html[data-theme="dark"][data-brand-theme="rocket"] :is(.input,.select,input,select,textarea){
      border-color:#2A384A;
    }
    html[data-theme="dark"][data-brand-theme="rocket"] :is(.input,.select,input,select,textarea):focus{
      border-color:#6FA5FF;
      box-shadow:0 0 0 3px rgba(111,165,255,.15);
    }
    html[data-theme="dark"][data-brand-theme="rocket"] ::placeholder{color:#718198;opacity:1}

    /* Botones primarios ROCKET. */
    html[data-theme="dark"][data-brand-theme="rocket"] :is(
      #authSubmit,#registrationSubmit,#onboardingSubmit,#newLeadButton,#newReminderButton,#newClosingButton,
      #newLeadSave,#generalReminderSave,#closingSave,#calculatorCalculate,#applyFiltersButton,
      #applyReminderFiltersButton,#applyClosingFiltersButton,#inviteGenerate,#newAdvisorButton,#newExpenseButton,
      #advisorSave,#expenseSave,#newFlyerButton,#flyerSave,#whatsappSend,.profile-form-actions .button,
      .calendar-primary-button,.reminder-repeat-button[aria-pressed="true"],
      #filterToggle,#reminderFilterToggle,#closingFilterToggle
    ){
      border-color:#0048BE!important;background:#0055DD!important;color:#fff!important;
    }
    html[data-theme="dark"][data-brand-theme="rocket"] :is(
      #authSubmit,#registrationSubmit,#onboardingSubmit,#newLeadButton,#newReminderButton,#newClosingButton,
      #newLeadSave,#generalReminderSave,#closingSave,#calculatorCalculate,#applyFiltersButton,
      #applyReminderFiltersButton,#applyClosingFiltersButton,#inviteGenerate,#newAdvisorButton,#newExpenseButton,
      #advisorSave,#expenseSave,#newFlyerButton,#flyerSave,#whatsappSend,.profile-form-actions .button,
      .calendar-primary-button,.reminder-repeat-button[aria-pressed="true"],
      #filterToggle,#reminderFilterToggle,#closingFilterToggle
    ):hover:not(:disabled){
      border-color:#1768EA!important;background:#1768EA!important;color:#fff!important;
    }
    html[data-theme="dark"][data-brand-theme="rocket"] :is(
      #authSubmit,#registrationSubmit,#onboardingSubmit,#newLeadButton,#newReminderButton,#newClosingButton,
      #newLeadSave,#generalReminderSave,#closingSave,#calculatorCalculate,#applyFiltersButton,
      #applyReminderFiltersButton,#applyClosingFiltersButton,#inviteGenerate,#newAdvisorButton,#newExpenseButton,
      #advisorSave,#expenseSave,#newFlyerButton,#flyerSave,#whatsappSend,.profile-form-actions .button,
      .calendar-primary-button,.reminder-repeat-button[aria-pressed="true"],
      #filterToggle,#reminderFilterToggle,#closingFilterToggle
    ):focus-visible{
      outline:0!important;box-shadow:0 0 0 3px rgba(111,165,255,.28)!important;
    }

    /* Acciones secundarias / enlaces de marca. */
    html[data-theme="dark"][data-brand-theme="rocket"] :is(
      .calendar-secondary-button,.reminder-alert-action,.reminder-alert-actions .button,
      #calculatorCopy,#calculatorPrint,.lead-view-button
    ){
      border-color:#6FA5FF!important;color:#6FA5FF!important;
    }
    html[data-theme="dark"][data-brand-theme="rocket"] :is(
      .calendar-secondary-button,.reminder-alert-action,.reminder-alert-actions .button,
      #calculatorCopy,#calculatorPrint
    ):hover:not(:disabled){
      border-color:#6FA5FF!important;background:#102A52!important;color:#9CC0FF!important;
    }
    html[data-theme="dark"][data-brand-theme="rocket"] .lead-view-button,
    html[data-theme="dark"][data-brand-theme="rocket"] .lead-view-button:hover,
    html[data-theme="dark"][data-brand-theme="rocket"] .lead-view-button[aria-pressed="true"]{
      background:transparent!important;box-shadow:none!important;
    }
    html[data-theme="dark"][data-brand-theme="rocket"] .lead-view-button:hover,
    html[data-theme="dark"][data-brand-theme="rocket"] .lead-view-button[aria-pressed="true"]{color:#9CC0FF!important}
    html[data-theme="dark"][data-brand-theme="rocket"] .lead-view-button:focus-visible{outline-color:rgba(111,165,255,.48)}

    /* Selección, ordenamiento y estados visuales de marca. */
    html[data-theme="dark"][data-brand-theme="rocket"] .update-entry[data-current="true"]{
      border-color:#0055DD;background:#102A52;box-shadow:inset 3px 0 0 #0055DD;
    }
    html[data-theme="dark"][data-brand-theme="rocket"] :is(
      [aria-sort="ascending"] button,[aria-sort="ascending"] .sort-indicator,
      [aria-sort="descending"] button,[aria-sort="descending"] .sort-indicator,
      .lead-sort-button[data-active="true"],.reminder-sort-button[data-active="true"],
      .closing-sort-button[data-active="true"],.advisor-sort-button[data-active="true"],
      .productivity-sort-button[data-active="true"],.tops-sort-button[data-active="true"],
      .seprelad-sort-button[data-active="true"],.commissions-sort-button[data-active="true"],
      .expenses-sort-button[data-active="true"],.costs-sort-button[data-active="true"]
    ){color:#6FA5FF!important}
    html[data-theme="dark"][data-brand-theme="rocket"] #leadsRows .lead-row[data-editable="true"]:hover,
    html[data-theme="dark"][data-brand-theme="rocket"] #reminderRows .reminder-row[data-editable="true"]:hover{
      box-shadow:inset 3px 0 0 #0055DD;
    }
    html[data-theme="dark"][data-brand-theme="rocket"] .lead-row[data-selected="true"]::before{background:#0055DD}

    /* Manuales / ayudas. */
    html[data-theme="dark"][data-brand-theme="rocket"] .manual-intro{
      border-color:#0055DD;background:#102A52;
    }
    html[data-theme="dark"][data-brand-theme="rocket"] .manual-toc-button{
      border-color:rgba(111,165,255,.42);background:#151D2A;
    }
    html[data-theme="dark"][data-brand-theme="rocket"] .manual-toc-button:hover{
      border-color:#6FA5FF;background:#202D3F;
    }
    html[data-theme="dark"][data-brand-theme="rocket"] .manual-toc-button > span,
    html[data-theme="dark"][data-brand-theme="rocket"] .manual-module-number{background:#0055DD}
    html[data-theme="dark"][data-brand-theme="rocket"] .manual-details,
    html[data-theme="dark"][data-brand-theme="rocket"] .manual-action-grid article{border-color:rgba(111,165,255,.30)}
    html[data-theme="dark"][data-brand-theme="rocket"] .manual-details[open]{border-color:rgba(111,165,255,.62)}

    /* Calculadora. */
    html[data-theme="dark"][data-brand-theme="rocket"] .calculator-independent-badge{
      border-color:#6FA5FF;background:#102A52;color:#9CC0FF;
    }
    html[data-theme="dark"][data-brand-theme="rocket"] .calculator-result-item[data-highlight="true"]{
      border-color:#0055DD;background:#102A52;
    }
    html[data-theme="dark"][data-brand-theme="rocket"] .calculator-result-detail{border-left-color:#0055DD}

    /* Toasts / avisos. */
    html[data-theme="dark"][data-brand-theme="rocket"] .toast{
      border-color:#0055DD;background:#151D2A;color:#F4F7FB;
      box-shadow:0 12px 34px rgba(0,0,0,.36),inset 4px 0 0 #0055DD,0 0 0 1px rgba(111,165,255,.12);
    }
    html[data-theme="dark"][data-brand-theme="rocket"] .toast[data-kind="rocket"],
    html[data-theme="dark"][data-brand-theme="rocket"] .toast[data-kind="pending"]{
      border-color:#0055DD;background:#102A52;color:#F4F7FB;
    }
    html[data-theme="dark"][data-brand-theme="rocket"] .reminder-alert-card{
      border-color:#0055DD;background:#151D2A;
      box-shadow:0 28px 90px rgba(0,0,0,.52),0 0 0 4px rgba(0,85,221,.22);
    }
    html[data-theme="dark"][data-brand-theme="rocket"] .reminder-alert-bell{
      background:#0055DD;color:#fff;box-shadow:0 0 0 9px rgba(0,85,221,.22);
    }
    html[data-theme="dark"][data-brand-theme="rocket"] .reminder-alert-entry{
      border-color:#0055DD;border-left-color:#0055DD;background:#102A52;
    }
    html[data-theme="dark"][data-brand-theme="rocket"] .reminder-alert-entry-note::before{color:#6FA5FF}

    /* Dashboard conserva tarjeta sólida de marca. */
    html[data-theme="dark"][data-brand-theme="rocket"] #placeholderView[data-route="dashboard"] .placeholder-card{
      border-color:#0055DD;background:#0055DD;box-shadow:0 12px 30px rgba(0,85,221,.20);
    }
    html[data-theme="dark"][data-brand-theme="rocket"] #placeholderView[data-route="dashboard"] .placeholder-card :is(h2,p){color:#fff}

    /* Calendario / Perfil / WhatsApp. */
    html[data-theme="dark"][data-brand-theme="rocket"] #calendarView .calendar-info-icon{
      border-color:#6FA5FF;color:#6FA5FF;
    }
    html[data-theme="dark"][data-brand-theme="rocket"] .calendar-logo{background:#F8FAFC}
    html[data-theme="dark"][data-brand-theme="rocket"] .profile-avatar-picker{
      border-color:#6FA5FF;background:#102A52;color:#9CC0FF;
    }
    html[data-theme="dark"][data-brand-theme="rocket"] .profile-avatar-picker:focus-visible{outline-color:rgba(111,165,255,.34)}
    html[data-theme="dark"][data-brand-theme="rocket"] .whatsapp-mode-badge{
      border-color:#0055DD;background:#102A52;color:#9CC0FF;
      box-shadow:inset 0 0 0 1px rgba(111,165,255,.12);
    }

    /* Invitaciones. */
    html[data-theme="dark"][data-brand-theme="rocket"] .workspace-body:has(#invitationsView:not([hidden])){
      background:var(--surface-soft);
    }
    html[data-theme="dark"][data-brand-theme="rocket"] .invitation-filter[aria-pressed="true"]{
      border-color:#6FA5FF;background:#102A52;color:#9CC0FF;
    }
    html[data-theme="dark"][data-brand-theme="rocket"] #refreshInvitationsButton,
    html[data-theme="dark"][data-brand-theme="rocket"] #newCodeInvitationButton{
      border-color:#6FA5FF;background:#151D2A;color:#9CC0FF;
    }
    html[data-theme="dark"][data-brand-theme="rocket"] #refreshInvitationsButton:hover:not(:disabled),
    html[data-theme="dark"][data-brand-theme="rocket"] #newCodeInvitationButton:hover:not(:disabled){
      border-color:#6FA5FF;background:#102A52;color:#C1D6FF;
    }
    html[data-theme="dark"][data-brand-theme="rocket"] .invitation-kpi{border-color:#2A384A}
    html[data-theme="dark"][data-brand-theme="rocket"] .invitation-kpi strong{color:#6FA5FF}
    html[data-theme="dark"][data-brand-theme="rocket"] .invite-result{border-color:rgba(111,165,255,.40);background:#102A52}

    /* Menú Broker y Accesos Directos: superficie oscura cuando salen del sidebar. */
    html[data-theme="dark"][data-brand-theme="rocket"][data-sidebar="collapsed"] .sidebar .broker-submenu,
    html[data-theme="dark"][data-brand-theme="rocket"][data-sidebar="collapsed"] .sidebar .quick-menu{
      border-color:#2A384A;background:#151D2A;color:#F4F7FB;
    }
    html[data-theme="dark"][data-brand-theme="rocket"][data-sidebar="collapsed"] .sidebar .broker-submenu::before,
    html[data-theme="dark"][data-brand-theme="rocket"][data-sidebar="collapsed"] .sidebar .broker-submenu .nav-link,
    html[data-theme="dark"][data-brand-theme="rocket"][data-sidebar="collapsed"] .sidebar .quick-menu::before,
    html[data-theme="dark"][data-brand-theme="rocket"][data-sidebar="collapsed"] .sidebar .quick-menu .quick-group-toggle,
    html[data-theme="dark"][data-brand-theme="rocket"][data-sidebar="collapsed"] .sidebar .quick-menu .quick-link{
      color:#F4F7FB;
    }
    html[data-theme="dark"][data-brand-theme="rocket"][data-sidebar="collapsed"] .sidebar .broker-submenu .nav-link:hover,
    html[data-theme="dark"][data-brand-theme="rocket"][data-sidebar="collapsed"] .sidebar .broker-submenu .nav-link[aria-current="page"],
    html[data-theme="dark"][data-brand-theme="rocket"][data-sidebar="collapsed"] .sidebar .quick-menu .quick-group-toggle:hover,
    html[data-theme="dark"][data-brand-theme="rocket"][data-sidebar="collapsed"] .sidebar .quick-menu .quick-group-toggle[aria-expanded="true"],
    html[data-theme="dark"][data-brand-theme="rocket"][data-sidebar="collapsed"] .sidebar .quick-menu .quick-link:hover{
      background:#102A52;color:#9CC0FF;
    }
    html[data-theme="dark"][data-brand-theme="rocket"][data-sidebar="collapsed"] .sidebar .broker-submenu .nav-link[aria-current="page"] .nav-icon{
      color:#6FA5FF!important;
    }

    /* Accesos directos expandidos dentro del sidebar azul. */
    /* ROCKET · coherencia de hovers: sin dorado heredado de Century. */
    html[data-brand-theme="rocket"] .royalties-action:hover{
      color:var(--ink);
    }
    html[data-brand-theme="rocket"] :is(
      .advisors-table tbody tr:hover,
      .productivity-table tbody tr:hover,
      .commissions-table tbody tr:hover,
      .royalties-table tbody tr:hover,
      .seprelad-table tbody tr:hover,
      .expenses-table tbody tr:hover
    ){
      box-shadow:inset 3px 0 0 #0055DD;
    }
    html[data-brand-theme="rocket"] .kanban-card[data-editable="true"]:hover{
      box-shadow:inset 3px 0 0 #0055DD,0 4px 14px rgba(0,0,0,.08);
    }
    /* Menú Broker Dark Rocket: íconos sin dorado heredado. */
    html[data-theme="dark"][data-brand-theme="rocket"] .sidebar .broker-submenu .nav-link .nav-icon{
      color:inherit!important;
    }

    html[data-theme="dark"][data-brand-theme="rocket"] .sidebar .quick-menu{color:#fff}
    html[data-theme="dark"][data-brand-theme="rocket"] .sidebar .quick-menu .quick-group-toggle,
    html[data-theme="dark"][data-brand-theme="rocket"] .sidebar .quick-menu .quick-link{color:#fff}
    html[data-theme="dark"][data-brand-theme="rocket"] .sidebar .quick-menu .quick-group-toggle:hover,
    html[data-theme="dark"][data-brand-theme="rocket"] .sidebar .quick-menu .quick-group-toggle[aria-expanded="true"],
    html[data-theme="dark"][data-brand-theme="rocket"] .sidebar .quick-menu .quick-link:hover{
      background:rgba(255,255,255,.10);color:#fff;
    }

    /* Pantalla de recarga Dark Rocket: azul, sin herencia dorada. */
    html[data-theme="dark"][data-brand-theme="rocket"] #bootScreen{
      background:
        radial-gradient(circle at 14% 12%,rgba(0,85,221,.22),transparent 30%),
        radial-gradient(circle at 86% 8%,rgba(23,104,234,.12),transparent 24%),
        linear-gradient(180deg,#0B0F17 0%,#101722 58%,#0B0F17 100%);
    }
    html[data-theme="dark"][data-brand-theme="rocket"] #bootScreen .boot-card{
      position:relative;border:1px solid #2A384A;border-radius:22px;background:#151D2A;color:#F4F7FB;
      box-shadow:0 24px 64px rgba(0,0,0,.44),0 0 0 1px rgba(0,85,221,.10);overflow:hidden;
    }
    html[data-theme="dark"][data-brand-theme="rocket"] #bootScreen .boot-card::before{
      content:"";position:absolute;inset:0 0 auto 0;height:5px;background:linear-gradient(90deg,#0055DD 0%,#1768EA 100%);
    }
    html[data-theme="dark"][data-brand-theme="rocket"] #bootScreen .boot-card h1{color:#F4F7FB}
    html[data-theme="dark"][data-brand-theme="rocket"] #bootScreen .boot-card p{color:#9EADC0}

    /* Selector de temas visto desde Dark Rocket. */
    html[data-theme="dark"][data-brand-theme="rocket"] .theme-option[data-brand-theme-option="dark-rocket"][aria-pressed="true"]{
      border-color:#0055DD;box-shadow:0 0 0 2px rgba(0,85,221,.28);
    }
    html[data-theme="dark"][data-brand-theme="rocket"] .theme-option[data-brand-theme-option="dark-rocket"][aria-pressed="true"] .theme-option-badge{
      background:#102A52;color:#9CC0FF;
    }

    @media(max-width:900px){
      html[data-theme="dark"][data-brand-theme="rocket"] .sidebar .broker-submenu,
      html[data-theme="dark"][data-brand-theme="rocket"] .sidebar .quick-menu{
        border-color:#2A384A;background:#151D2A;color:#F4F7FB;
      }
      html[data-theme="dark"][data-brand-theme="rocket"] .sidebar .broker-submenu::before,
      html[data-theme="dark"][data-brand-theme="rocket"] .sidebar .broker-submenu .nav-link,
      html[data-theme="dark"][data-brand-theme="rocket"] .sidebar .quick-menu::before,
      html[data-theme="dark"][data-brand-theme="rocket"] .sidebar .quick-menu .quick-group-toggle,
      html[data-theme="dark"][data-brand-theme="rocket"] .sidebar .quick-menu .quick-link{color:#F4F7FB}
      html[data-theme="dark"][data-brand-theme="rocket"] .sidebar .broker-submenu .nav-link:hover,
      html[data-theme="dark"][data-brand-theme="rocket"] .sidebar .broker-submenu .nav-link[aria-current="page"],
      html[data-theme="dark"][data-brand-theme="rocket"] .sidebar .quick-menu .quick-group-toggle:hover,
      html[data-theme="dark"][data-brand-theme="rocket"] .sidebar .quick-menu .quick-group-toggle[aria-expanded="true"],
      html[data-theme="dark"][data-brand-theme="rocket"] .sidebar .quick-menu .quick-link:hover{
        background:#102A52;color:#9CC0FF;
      }
    }


/* ============================================================
   V3.318 · BUSCADORES · FOCO SIN BARRAS LATERALES
   El wrapper conserva exactamente el mismo borde al recibir foco.
   Aplica al componente estándar utilizado por Leads, Recordatorios,
   Contactos y demás módulos que comparten .search-input-wrap.
   ============================================================ */
.search-input-wrap:focus-within,
.search-input-wrap:hover:focus-within{
  border-color:#c7cbd1!important;
  box-shadow:none!important;
  outline:0!important;
}
html[data-theme="dark"] .search-input-wrap:focus-within,
html[data-theme="dark"] .search-input-wrap:hover:focus-within{
  border-color:#555d68!important;
  box-shadow:none!important;
  outline:0!important;
}
.search-input:focus,
.search-input:focus-visible{
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
}


/* ============================================================
   V3.320 · CONTACTOS · RESUMEN UNIFICADO DEL FOOTER
   ============================================================ */
.contacts-pagination-summary{
  display: flex;
  line-height: 1.15;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0 !important;
  white-space: nowrap !important;
}
.contacts-pagination-counts{
  display: flex !important;
  align-items: center !important;
  gap: 9px !important;
  font-size: 11px !important;
}
.contacts-pagination-counts > span + span::before{
  content:"·"!important;
  margin-right:9px!important;
  color:var(--muted)!important;
  font-weight:400!important;
}
.contacts-pagination-updated{
  display: inline-block !important;
  color: var(--ink) !important;
  font-size: inherit !important;
  font-weight: 800 !important;
  line-height: inherit !important;
  text-align: left !important;
  white-space: nowrap !important;
}

/* V3.321 · Contactos: sincronización movida a Supabase Cron. Sin cambios visuales. */


    /* CAPTACIONES · V3.323 · Manual de Diseño */
    #captacionesView{display:flex;height:calc(100vh - 80px);min-height:0;flex-direction:column;overflow:hidden;background:var(--workspace-canvas)}
    #captacionesView[hidden]{display:none!important}
    .captaciones-panel{display:flex;min-height:0;flex:1 1 auto;flex-direction:column;overflow:hidden;background:var(--surface)}
    #captacionesSearchZone{gap:10px}
    #captacionesSearchZone .captaciones-filter{width:156px;min-width:130px;max-width:180px}
    #captacionesSearchZone #captacionesMunicipalityFilter{width:176px}
    #captacionesSearchZone #captacionesAdvisorFilter{width:184px}
    #captacionesSearchZone .search-input-wrap{min-width:300px;max-width:none;flex:1 1 420px}
    #captacionesSearchZone:not([hidden]) ~ .workspace-actions{min-width:64px;padding-left:0;padding-right:20px}
    #captacionesSearchZone:not([hidden]) ~ .workspace-actions .header-more{margin-right:0}
    .captaciones-notice{flex:0 0 auto;margin:8px 15px 0;padding:8px 10px;border:1px solid var(--line);border-radius:5px;background:var(--surface-soft);color:var(--muted);font-size:12px;line-height:1.35}
    .captaciones-notice[data-kind="error"]{border-color:rgba(204,72,72,.38);background:rgba(204,72,72,.08);color:#d95d5d}
    .captaciones-notice[data-kind="warning"]{border-color:rgba(215,142,26,.35);background:rgba(215,142,26,.08);color:#a56b10}
    .captaciones-notice[data-kind="info"]{border-color:rgba(0,85,221,.24);background:rgba(0,85,221,.06);color:var(--blue-ink)}
    .captaciones-table-wrap{min-height:0;flex:1 1 auto;overflow:auto;padding-left:15px;background:var(--workspace-canvas);scrollbar-width:thin}
    .captaciones-table{width:calc(100% - 15px);min-width:1820px;border-collapse:collapse;table-layout:fixed;background:var(--surface);color:var(--ink)}
    .captaciones-table th,.captaciones-table td{height:39px;padding:0 8px;overflow:hidden;border-bottom:1px solid var(--line);text-align:left;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle}
    .captaciones-table th{position:sticky;z-index:12;top:0;height:42px;border-right:1px solid var(--line);border-bottom:2px solid var(--line);background:var(--surface);color:var(--muted);font-size:12px;font-weight:700;line-height:18px;letter-spacing:.55px;text-transform:uppercase}
    .captaciones-table th:last-child{border-right:0}.captaciones-table td{font-size:13px;font-weight:400}.captaciones-table tbody tr{background:var(--surface)}.captaciones-table tbody tr:hover{background:var(--surface-hover);box-shadow:inset 3px 0 0 var(--blue)}
    .captaciones-table th.sortable-cell{padding:0}.captaciones-sort-button{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;height:42px;padding:0 8px;border:0;background:transparent;color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;text-align:left}.captaciones-sort-button:hover{background:var(--surface-hover);color:var(--ink)}.captaciones-sort-button[data-active="true"],.captaciones-sort-button[data-active="true"] .sort-indicator{color:var(--blue-ink)}.captaciones-sort-button .sort-indicator{flex:0 0 auto;opacity:1}
    html[data-theme="light"][data-brand-theme="rocket"] .captaciones-sort-button[data-active="true"],html[data-theme="light"][data-brand-theme="rocket"] .captaciones-sort-button[data-active="true"] .sort-indicator,html[data-theme="dark"][data-brand-theme="rocket"] .captaciones-sort-button[data-active="true"],html[data-theme="dark"][data-brand-theme="rocket"] .captaciones-sort-button[data-active="true"] .sort-indicator{color:#0055DD}
    .captaciones-select-cell{width:44px!important;padding:0!important;text-align:center!important}.captaciones-select-cell .row-check{margin:auto}.captaciones-table td.captaciones-select-cell{text-align:center!important}.captaciones-flyer-cell{padding:0!important;text-align:center!important}.captaciones-flyer-cell .row-check{margin:auto}.captaciones-flyer-check:has(input:disabled){opacity:1}.captaciones-flyer-check:has(input:checked){border-color:rgba(0,85,221,.38);background:var(--blue-soft);color:var(--blue-ink)}.captaciones-flyer-check:not(:has(input:checked)){background:var(--surface-soft);color:transparent}.captaciones-flyer-head .captaciones-sort-button{justify-content:center}.captaciones-flyer-head .captaciones-sort-button .sort-indicator{margin-left:2px}
    .captaciones-col-select{width:44px}.captaciones-col-id{width:74px}.captaciones-col-date{width:88px}.captaciones-col-flyer{width:72px}.captaciones-col-status{width:128px}.captaciones-col-operation{width:110px}.captaciones-col-view{width:104px}.captaciones-col-advisor{width:160px}.captaciones-col-type{width:140px}.captaciones-col-location{width:220px}.captaciones-col-price{width:112px}.captaciones-col-currency{width:82px}.captaciones-col-built{width:108px}.captaciones-col-land{width:116px}.captaciones-col-description{width:250px}
    .captaciones-id-link{color:var(--blue-ink);font-weight:750;text-decoration:none}.captaciones-id-link:hover{text-decoration:underline}.captaciones-view-head{text-align:center!important}.captaciones-view-cell{text-align:center!important}.captaciones-view-link{display:inline-flex;align-items:center;justify-content:center;gap:4px;height:26px;padding:0 9px;border:1px solid rgba(0,85,221,.30);border-radius:7px;background:rgba(0,85,221,.06);color:var(--blue-ink);font:750 11px var(--font-ui);line-height:1;text-decoration:none;white-space:nowrap}.captaciones-view-link:hover{border-color:rgba(0,85,221,.55);background:var(--blue-soft);text-decoration:none}.captaciones-location{display:flex;min-width:0;flex-direction:column;justify-content:center;line-height:1.05}.captaciones-location strong{overflow:hidden;text-overflow:ellipsis;font-size:12px;font-weight:650}.captaciones-location small{margin-top:2px;overflow:hidden;text-overflow:ellipsis;color:var(--muted);font-size:10px;font-weight:600}.captaciones-price{font-weight:750;font-variant-numeric:tabular-nums}.captaciones-currency{font-weight:750}.captaciones-currency-badge{display:inline-flex;align-items:center;justify-content:center;min-width:46px;height:23px;padding:0 7px;border:1px solid rgba(0,85,221,.35);border-radius:999px;background:rgba(0,85,221,.06);color:var(--blue-ink);font-size:11px;font-weight:800}.captaciones-currency[data-pending-currency="true"] .captaciones-currency-badge{border-color:var(--line);background:var(--surface-hover);color:var(--muted);font-weight:700}
    .captaciones-badge{display:inline-flex;align-items:center;max-width:100%;height:24px;padding:0 8px;border:1px solid var(--line);border-radius:5px;background:var(--surface-soft);font-size:10px;font-weight:800;letter-spacing:.25px;text-transform:uppercase}.captaciones-badge[data-kind="sale"]{border-color:rgba(0,85,221,.25);background:rgba(0,85,221,.07);color:var(--blue-ink)}.captaciones-badge[data-kind="rent"]{border-color:rgba(130,88,220,.28);background:rgba(130,88,220,.08);color:#7450ba}.captaciones-badge[data-kind="active"]{border-color:rgba(35,158,95,.30);background:rgba(35,158,95,.08);color:#218854}.captaciones-badge[data-kind="inactive"]{border-color:rgba(204,72,72,.30);background:rgba(204,72,72,.08);color:#c44b4b}
    .captaciones-description-button{display:block;width:100%;overflow:hidden;border:0;background:transparent;color:var(--blue-ink);font:650 12px var(--font-ui);text-align:left;text-decoration:none;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.captaciones-description-button:hover{text-decoration:underline}.captaciones-empty{padding:28px;color:var(--muted);text-align:center}.captaciones-pagination{flex:0 0 auto}.captaciones-pagination-summary{display:flex!important;min-width:0;flex-direction:row!important;align-items:center!important;justify-content:center!important;gap:9px!important;font-size:11px!important;line-height:1.15!important;white-space:nowrap!important}.captaciones-pagination-summary>span{display:inline-flex!important;align-items:center!important;gap:4px!important;margin:0!important;line-height:1.15!important}.captaciones-pagination-summary>span+span::before{content:"·"!important;display:inline-block!important;margin-right:5px!important;color:var(--muted)!important;font-weight:400!important}.captaciones-pagination-updated{display:inline-flex!important;align-items:center!important;color:var(--ink)!important;font-size:inherit!important;font-weight:800!important;line-height:inherit!important;white-space:nowrap!important}
    #captacionC21Link{display:inline-flex;align-items:center;justify-content:center;min-width:132px;border-color:var(--blue)!important;background:transparent;color:var(--blue-ink);text-align:center;text-decoration:none}#captacionC21Link:hover{border-color:var(--blue-dark)!important;background:rgba(0,85,221,.08);color:var(--blue-ink)}
    .captacion-detail-card{width:min(860px,calc(100vw - 32px))}.captacion-detail-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.captacion-detail-field{min-width:0;padding:10px;border:1px solid var(--line);border-radius:5px;background:var(--surface-soft)}.captacion-detail-field span{display:block;margin-bottom:4px;color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.45px;text-transform:uppercase}.captacion-detail-field strong{display:block;overflow:hidden;color:var(--ink);font-size:13px;text-overflow:ellipsis;white-space:nowrap}.captacion-detail-field.wide{grid-column:span 2}.captacion-detail-description{margin-top:12px;padding:12px;border:1px solid var(--line);border-radius:5px;background:var(--surface)}.captacion-detail-description span{display:block;margin-bottom:7px;color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.45px;text-transform:uppercase}.captacion-detail-description p{margin:0;color:var(--ink);font-size:13px;line-height:1.55;white-space:pre-wrap}
    .captaciones-import-card{width:min(720px,calc(100vw - 32px))}.captaciones-import-drop{display:flex;align-items:center;gap:12px;padding:14px;border:1px dashed var(--line-strong);border-radius:5px;background:var(--surface-soft)}.captaciones-import-drop input{max-width:250px}.captaciones-import-drop div{display:flex;min-width:0;flex-direction:column;gap:3px}.captaciones-import-drop strong{font-size:13px}.captaciones-import-drop span{color:var(--muted);font-size:11px}.captaciones-import-preview{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-top:12px}#advisorImportPreview{grid-template-columns:repeat(5,minmax(0,1fr))}.captaciones-import-stat{padding:10px;border:1px solid var(--line);border-radius:5px;background:var(--surface-soft)}.captaciones-import-stat span{display:block;color:var(--muted);font-size:10px;font-weight:750;text-transform:uppercase}.captaciones-import-stat strong{display:block;margin-top:3px;font-size:15px}.captaciones-import-note{display:flex;flex-direction:column;gap:4px;margin-top:12px;padding:10px;border:1px solid rgba(0,85,221,.22);border-radius:5px;background:rgba(0,85,221,.05);font-size:11px;line-height:1.45}.captaciones-import-progress{margin-top:12px}.captaciones-import-progress-track{height:6px;overflow:hidden;border-radius:999px;background:var(--surface-soft)}.captaciones-import-progress-track span{display:block;width:0;height:100%;background:#0055DD;transition:width .18s ease}.captaciones-import-progress strong{display:block;margin-top:6px;color:var(--muted);font-size:11px}
    .captaciones-modal-header{min-height:0;padding:14px 22px}.captaciones-modal-header>div{min-width:0}.captaciones-modal-header .modal-subtitle{margin:7px 0 0}
    .captaciones-sync-history-card{width:min(860px,calc(100vw - 32px));max-height:min(760px,calc(100vh - 48px));display:flex;flex-direction:column;overflow:hidden}.captaciones-sync-history-body{min-height:0;overflow:auto}.captaciones-sync-history-summary{margin-bottom:10px;color:var(--muted);font-size:11px;font-weight:700}.captaciones-sync-history-list{display:flex;flex-direction:column;gap:9px}.captaciones-sync-history-item{padding:12px;border:1px solid var(--line);border-radius:6px;background:var(--surface-soft)}.captaciones-sync-history-item header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.captaciones-sync-history-item header>div{display:flex;min-width:0;flex-direction:column;gap:3px}.captaciones-sync-history-item header strong{overflow:hidden;color:var(--ink);font-size:13px;text-overflow:ellipsis;white-space:nowrap}.captaciones-sync-history-item header span{color:var(--muted);font-size:10.5px}.captaciones-sync-status{display:inline-flex!important;align-items:center;justify-content:center;flex:0 0 auto;min-height:24px;padding:0 8px;border:1px solid var(--line);border-radius:5px;background:var(--surface);font-size:10px!important;font-weight:800;text-transform:uppercase}.captaciones-sync-status[data-kind="ok"]{border-color:rgba(35,158,95,.30);background:rgba(35,158,95,.08);color:#218854!important}.captaciones-sync-status[data-kind="warning"]{border-color:rgba(215,142,26,.35);background:rgba(215,142,26,.08);color:#a56b10!important}.captaciones-sync-status[data-kind="error"]{border-color:rgba(204,72,72,.30);background:rgba(204,72,72,.08);color:#c44b4b!important}.captaciones-sync-status[data-kind="progress"]{border-color:rgba(0,85,221,.25);background:rgba(0,85,221,.07);color:var(--blue-ink)!important}.captaciones-sync-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:10px}.captaciones-sync-metrics>span{min-width:0;padding:8px 9px;border:1px solid var(--line);border-radius:5px;background:var(--surface)}.captaciones-sync-metrics small{display:block;color:var(--muted);font-size:9.5px;font-weight:750;text-transform:uppercase}.captaciones-sync-metrics strong{display:block;margin-top:3px;color:var(--ink);font-size:13px;font-variant-numeric:tabular-nums}.captaciones-sync-warning{margin:9px 0 0;padding:8px 9px;border:1px solid rgba(215,142,26,.25);border-radius:5px;background:rgba(215,142,26,.06);color:var(--ink);font-size:11px;line-height:1.4}.captaciones-sync-history-empty{display:flex;min-height:120px;align-items:center;justify-content:center;flex-direction:column;gap:5px;padding:18px;border:1px dashed var(--line-strong);border-radius:6px;color:var(--muted);font-size:12px;text-align:center}.captaciones-sync-history-empty strong{color:var(--ink);font-size:13px}
    @media(max-width:1180px){#captacionesSearchZone #captacionesAdvisorFilter{display:none}#captacionesSearchZone .captaciones-filter{width:138px;min-width:118px}}
    @media(max-width:920px){#captacionesSearchZone #captacionesMunicipalityFilter,#captacionesSearchZone #captacionesTypeFilter{display:none}.captacion-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
    @media(max-width:720px){#captacionesSearchZone .captaciones-filter{display:none}.captaciones-table-wrap{padding-left:10px}.captaciones-table{width:calc(100% - 10px)}.captaciones-import-preview{grid-template-columns:repeat(2,minmax(0,1fr))}.captaciones-sync-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.captacion-detail-grid{grid-template-columns:1fr}.captacion-detail-field.wide{grid-column:auto}}
@media(max-width:720px){#captacionesSearchZone:not([hidden]) ~ .workspace-actions .header-more{display:inline-grid}}

/* Navegación · badges NEW por familia visual (consolidado V3.428) */
.nav-new-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  height:17px;
  margin-left:7px;
  padding:0 6px;
  border:1px solid rgba(0,85,221,.22);
  border-radius:999px;
  background:#fff;
  color:#0055DD;
  font-size:9px;
  font-weight:900;
  line-height:15px;
  letter-spacing:.35px;
  text-transform:lowercase;
  box-shadow:0 0 0 1px rgba(0,85,221,.06),0 2px 7px rgba(0,0,0,.10);
}
html[data-brand-theme="rocket"] .sidebar .nav-new-badge{
  background:#fff;
  color:#0055DD;
  border-color:rgba(0,85,221,.22);
  box-shadow:0 0 0 1px rgba(0,85,221,.06),0 2px 7px rgba(0,0,0,.10);
}
html[data-brand-theme="modern"] .sidebar .nav-new-badge{
  background:#AE8A47;
  color:#fff;
  border-color:rgba(255,255,255,.34);
  box-shadow:0 0 0 1px rgba(174,138,71,.10),0 2px 7px rgba(0,0,0,.12);
}
html[data-sidebar="collapsed"] .nav-new-badge{display:none!important}
@media(max-width:900px){html:not([data-sidebar="collapsed"]) .nav-new-badge{display:none!important}}
/* Captaciones / Cierres · rollback protegido consolidado */
.captaciones-revert-card{width:min(820px,calc(100vw - 32px));max-height:min(780px,calc(100vh - 48px));display:flex;flex-direction:column;overflow:hidden}
#closingImportRevertModal .captaciones-revert-header{min-height:0;align-items:flex-start;padding:18px 22px 17px}
#closingImportRevertModal .captaciones-revert-header>div{display:grid;min-width:0;gap:4px}
#closingImportRevertModal .captaciones-revert-header .modal-subtitle{margin:0;line-height:1.4}
#closingImportRevertModal .captaciones-revert-header .modal-close{align-self:flex-start;margin-top:0}
#closingImportModal .modal-body{padding:22px 22px 6px}
#closingImportModal .modal-actions{padding:8px 22px 18px}
#closingImportMessage{margin:10px 0 0;line-height:1.4}
#closingImportMessage:empty{display:none}
#closingImportRevertModal .captaciones-revert-body{padding:22px 22px 6px}
#closingImportRevertMessage:empty{display:none}
#closingImportRevertModal>.captaciones-revert-card>.modal-actions{padding:8px 22px 18px}
.captaciones-revert-state{display:flex;flex-direction:column;gap:4px;padding:12px;border:1px solid var(--line);border-radius:6px;background:var(--surface-soft)}
.captaciones-revert-state strong{color:var(--ink);font-size:13px}
.captaciones-revert-state span{color:var(--muted);font-size:11px;line-height:1.45}
.captaciones-revert-warning{display:flex;flex-direction:column;gap:4px;margin-top:12px;padding:10px;border:1px solid rgba(204,72,72,.22);border-radius:5px;background:rgba(204,72,72,.05);font-size:11px;line-height:1.45}
.captaciones-revert-warning strong{color:var(--ink)}
.captaciones-revert-warning span{color:var(--muted)}


    /* Captaciones · V3.374 · paginación e historial consolidado */
    .captaciones-modal-pagination{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:12px;padding-top:10px;border-top:1px solid var(--line)}
    .captaciones-modal-pagination[hidden]{display:none!important}
    .captaciones-modal-pagination .pagination-range{min-width:92px;color:var(--muted);font-size:11px;font-weight:700}
    .captaciones-modal-pagination .pagination-navigation{margin-left:0}
    
    .captaciones-revert-body{min-height:0;overflow:auto}
    .captaciones-revert-history-list{display:flex;flex-direction:column;gap:9px;margin-top:10px}
    .captaciones-revert-history-item{padding:12px;border:1px solid var(--line);border-radius:6px;background:var(--surface-soft)}
    .captaciones-revert-history-item[data-kind="available"]{border-color:rgba(35,158,95,.30);background:rgba(35,158,95,.045)}
    .captaciones-revert-history-item header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
    .captaciones-revert-history-item header>div{display:flex;min-width:0;flex-direction:column;gap:3px}
    .captaciones-revert-history-item header strong{overflow:hidden;color:var(--ink);font-size:13px;text-overflow:ellipsis;white-space:nowrap}
    .captaciones-revert-history-item header span{color:var(--muted);font-size:10.5px}
    .captaciones-revert-badge{display:inline-flex!important;align-items:center;justify-content:center;flex:0 0 auto;min-height:24px;padding:0 8px;border:1px solid var(--line);border-radius:5px;background:var(--surface);font-size:10px!important;font-weight:800;text-transform:uppercase}
    .captaciones-revert-badge[data-kind="available"]{border-color:rgba(35,158,95,.30);background:rgba(35,158,95,.08);color:#218854!important}
    .captaciones-revert-badge[data-kind="reverted"]{border-color:rgba(204,72,72,.25);background:rgba(204,72,72,.06);color:#b34a4a!important}
    .captaciones-revert-badge[data-kind="history"]{color:var(--muted)!important}
    .captaciones-revert-history-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px}
    .captaciones-revert-history-metrics>span{min-width:0;padding:8px 9px;border:1px solid var(--line);border-radius:5px;background:var(--surface)}
    .captaciones-revert-history-metrics small{display:block;color:var(--muted);font-size:9.5px;font-weight:750;text-transform:uppercase}
    .captaciones-revert-history-metrics strong{display:block;margin-top:3px;color:var(--ink);font-size:13px;font-variant-numeric:tabular-nums}
    .captaciones-revert-available-note,.captaciones-revert-history-reason{margin:9px 0 0;color:var(--muted);font-size:10.5px;line-height:1.4}
    .captaciones-revert-available-note{color:#218854;font-weight:700}
    @media(max-width:640px){.captaciones-modal-pagination{flex-direction:column;gap:7px}.captaciones-modal-pagination .pagination-range{min-width:0}.captaciones-revert-history-metrics{grid-template-columns:1fr}}


/* Captaciones · V3.374 · footer de historiales consolidado */
.captaciones-history-footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  min-height:58px;
  padding:8px 22px 10px;
  border-top:1px solid var(--line);
}
.captaciones-history-footer .captaciones-modal-pagination{
  flex:0 1 auto;
  justify-content:flex-start;
  gap:12px;
  min-width:0;
  margin:0;
  padding:0;
  border-top:0;
}
.captaciones-history-footer .captaciones-modal-pagination .pagination-range{
  min-width:84px;
  text-align:left;
}
.captaciones-history-footer-actions{
  display:flex;
  flex:0 0 auto;
  align-items:center;
  justify-content:flex-end;
  gap:9px;
  margin-left:auto;
}
#captacionesSyncHistoryModal .captaciones-sync-history-body,
#captacionesRevertModal .captaciones-revert-body{
  padding-bottom:22px;
}
#captacionesRevertMessage:empty{
  display:none;
}
@media(max-width:640px){
  .captaciones-history-footer{
    flex-wrap:wrap;
    gap:10px;
    padding:8px 14px 10px;
  }
  .captaciones-history-footer .captaciones-modal-pagination{
    width:auto;
    flex-direction:row;
    gap:8px;
  }
  .captaciones-history-footer-actions{margin-left:auto}
}
/* Captaciones · V3.374 · márgenes finales de modales */
#captacionesSyncHistoryModal .captaciones-sync-history-summary{
  margin-top:0;
}


#captacionesImportModal .modal-body{
  padding-bottom:0;
}
#captacionesImportModal .modal-actions{
  padding-top:22px;
}


/* ==========================================================================
   ROCKET CRM · Dashboard · V3.374 · CSS consolidado
   ========================================================================== */

.dashboard-header-actions{margin-left:auto;display:flex;align-items:center;gap:8px;height:64px;padding:0 25px 0 12px}
.dashboard-mobile-only{display:none}
.dashboard-mobile-id-search{position:relative;display:flex;flex:0 0 176px;width:176px;height:38px;margin:0}
.dashboard-mobile-id-search input{width:100%;min-width:0;height:38px;margin:0;padding:0 32px 0 11px;border:1px solid var(--line);border-radius:11px;outline:0;background:var(--surface);color:var(--ink);font:700 12px/1 var(--font-ui);box-shadow:0 2px 8px rgba(25,43,72,.025);-webkit-appearance:none;appearance:none}
.dashboard-mobile-id-search input::placeholder{color:var(--muted);opacity:.9;font-weight:700}
.dashboard-mobile-id-search input:focus{border-color:rgba(0,85,221,.42);box-shadow:0 0 0 2px rgba(0,85,221,.10)}
.dashboard-mobile-id-search button{position:absolute;top:0;right:0;display:grid;place-items:center;width:32px;height:38px;margin:0;padding:0;border:0;background:transparent;color:var(--muted)}
.dashboard-mobile-id-search button:hover{color:var(--blue-ink)}
.dashboard-mobile-id-search button svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.dashboard-header-icon{position:relative;display:grid;place-items:center;width:38px;height:38px;padding:0;border:1px solid var(--line);border-radius:11px;background:var(--surface);color:#526078;box-shadow:0 2px 8px rgba(25,43,72,.025)}
.dashboard-header-icon:hover:not(:disabled),.dashboard-header-profile:hover{border-color:rgba(0,85,221,.22);background:var(--surface-hover);color:var(--blue-ink)}
.dashboard-header-icon:disabled{opacity:.48;cursor:default}.dashboard-header-icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.dashboard-header-badge{position:absolute;right:7px;top:6px;display:block;width:7px;height:7px;overflow:hidden;padding:0;border:0;border-radius:50%;background:var(--blue);color:transparent;font-size:0;line-height:0;box-shadow:0 0 0 2px var(--surface),0 2px 6px rgba(0,85,221,.2)}
.dashboard-header-profile{display:flex;align-items:center;gap:9px;height:40px;min-width:164px;padding:3px 10px 3px 4px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink);text-align:left;box-shadow:0 2px 8px rgba(25,43,72,.025)}
.dashboard-profile-avatar{display:grid;place-items:center;width:31px;height:31px;flex:0 0 31px;overflow:hidden;border-radius:9px;background:linear-gradient(145deg,var(--blue),#2f7aff);color:#fff;font-size:11px;font-weight:900}.dashboard-profile-avatar img{width:100%;height:100%;object-fit:cover}.dashboard-profile-copy{display:grid;min-width:0;line-height:1}.dashboard-profile-copy strong{max-width:118px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.dashboard-profile-copy small{margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:9px}
.workspace-header:has(#dashboardHeaderActions:not([hidden])) .workspace-title-zone{width:auto;min-width:0}.workspace-header:has(#dashboardHeaderActions:not([hidden])) .workspace-title{font-family:var(--font-ui);font-size:18px;font-weight:800;letter-spacing:-.3px;text-transform:none}.workspace-header:has(#dashboardHeaderActions:not([hidden])) .workspace-actions{display:none}
.dashboard-view{height:calc(100vh - 80px);min-height:0;padding:10px 15px;overflow:hidden;background:var(--workspace-canvas)}
.dashboard-shell{--dashboard-green:#14845a;--dashboard-warn:#b76c12;--dashboard-danger:#b42318;position:relative;display:grid;grid-template-rows:38px 86px minmax(168px,.78fr) minmax(238px,1.18fr);gap:10px;width:100%;height:100%;min-height:0;margin:0}
.dashboard-hero{display:flex;align-items:center;justify-content:space-between;gap:16px;min-width:0;padding:0 1px}.dashboard-hero-copy{min-width:0}.dashboard-hero h2{margin:0;color:var(--ink);font-size:19px;line-height:1.15;letter-spacing:-.45px}.dashboard-hero p{margin:4px 0 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:11px;line-height:1.3}
.dashboard-period-row{display:flex;align-items:center;justify-content:flex-end;gap:6px;min-width:0}.dashboard-period{display:flex;align-items:center;gap:3px;padding:3px;border:1px solid var(--line);border-radius:11px;background:var(--surface)}.dashboard-period button{height:29px;padding:0 10px;border:0;border-radius:8px;background:transparent;color:var(--muted);font-size:10px;font-weight:800;white-space:nowrap}.dashboard-period button:hover{background:var(--surface-hover);color:var(--ink)}.dashboard-period button[aria-pressed="true"]{background:var(--blue);color:#fff;box-shadow:0 5px 12px rgba(0,85,221,.2)}.dashboard-refresh{display:grid;place-items:center;width:35px;height:35px;padding:0;border:1px solid var(--line);border-radius:11px;background:var(--surface);color:var(--blue)}.dashboard-refresh:hover:not(:disabled){background:var(--blue-soft)}.dashboard-refresh:disabled{opacity:.6}.dashboard-refresh svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.dashboard-refresh[data-loading="true"] svg{animation:dashboard-spin .8s linear infinite}@keyframes dashboard-spin{to{transform:rotate(360deg)}}
.dashboard-status{position:absolute;z-index:4;top:48px;right:0;max-width:520px;padding:8px 11px;border:1px solid var(--line);border-radius:9px;background:var(--surface);box-shadow:0 10px 28px rgba(25,43,72,.1);font-size:10px;line-height:1.35}.dashboard-status[data-kind="error"]{border-color:rgba(180,35,24,.25);background:#fff7f6;color:var(--dashboard-danger)}
.dashboard-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;min-height:0}.dashboard-kpi{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 35px;align-items:center;gap:9px;min-width:0;min-height:0;height:86px;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:var(--surface);color:var(--ink);text-align:left;box-shadow:0 8px 28px rgba(23,32,51,.045);overflow:hidden;transition:border-color .14s ease,transform .14s ease,box-shadow .14s ease}.dashboard-kpi::before{content:"";position:absolute;left:0;top:11px;bottom:11px;width:3px;border-radius:0 3px 3px 0;background:var(--blue)}.dashboard-kpi:hover{transform:translateY(-1px);border-color:rgba(0,85,221,.22);box-shadow:0 10px 28px rgba(0,85,221,.07)}.dashboard-kpi-copy{display:grid;min-width:0}.dashboard-kpi-label{color:var(--muted);font-size:10px;font-weight:750}.dashboard-kpi-value{margin-top:3px;font-size:25px;font-weight:900;letter-spacing:-.8px;line-height:1}.dashboard-kpi-meta{margin-top:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#98a2b2;font-size:9px}.dashboard-kpi-icon{display:grid;place-items:center;width:35px;height:35px;border-radius:11px;background:var(--blue-soft);color:var(--blue-ink)}.dashboard-kpi-icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.dashboard-kpi-value-money{font-size:20px;letter-spacing:-.45px}
.dashboard-middle{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;min-height:0}.dashboard-middle .dashboard-pipeline-card{grid-column:1}.dashboard-middle .dashboard-chart-card{grid-column:2 / span 2}.dashboard-bottom{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;min-height:0}.dashboard-card{min-width:0;min-height:0;overflow:hidden;border:1px solid var(--line);border-radius:16px;background:var(--surface);box-shadow:0 8px 28px rgba(23,32,51,.045)}.dashboard-card-head{height:48px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 14px;border-bottom:1px solid color-mix(in srgb,var(--line) 78%,transparent)}.dashboard-card-title{display:flex;align-items:center;gap:9px;min-width:0}.dashboard-card-icon{display:grid;place-items:center;width:27px;height:27px;flex:0 0 27px;border-radius:8px;background:var(--blue-soft);color:var(--blue-ink)}.dashboard-card-icon svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.dashboard-card-title>span:last-child{display:grid;min-width:0}.dashboard-card-title strong{font-size:11px;font-weight:900;line-height:1.15}.dashboard-card-title small{display:block;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:8.5px;font-weight:500}.dashboard-text-link{padding:4px 2px;border:0;background:transparent;color:var(--blue-ink);font-size:11px;line-height:1;font-weight:900}.dashboard-text-link:hover{text-decoration:underline}.dashboard-text-link:disabled{display:none}
.dashboard-chart-card{display:grid;grid-template-rows:48px minmax(0,1fr)}.dashboard-chart-legend{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:11px;font-weight:700}.dashboard-chart-legend span{display:flex;align-items:center;gap:5px}.dashboard-legend-dot{width:7px;height:7px;border-radius:50%}.dashboard-legend-dot.leads{background:var(--blue)}.dashboard-legend-dot.closings{background:var(--dashboard-green)}.dashboard-chart-body{display:grid;place-items:stretch;min-height:0;padding:6px 4px 4px}.dashboard-chart-svg{display:block;width:100%;height:100%;min-height:0;overflow:visible}.dashboard-chart-grid{stroke:var(--line);stroke-width:1}.dashboard-chart-y-label,.dashboard-chart-x-label{fill:var(--muted);font-family:var(--font-ui);font-size:8px}.dashboard-chart-y-label{text-anchor:end}.dashboard-chart-x-label{text-anchor:middle}.dashboard-chart-line{fill:none;stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round}.dashboard-chart-line.leads{stroke:var(--blue)}.dashboard-chart-line.closings{stroke:var(--dashboard-green)}.dashboard-chart-point{stroke:var(--surface);stroke-width:1.7}.dashboard-chart-point.leads{fill:var(--blue)}.dashboard-chart-point.closings{fill:var(--dashboard-green)}
.dashboard-pipeline-card{display:grid;grid-template-rows:48px minmax(0,1fr) auto}.dashboard-pipeline-list{display:grid;align-content:space-evenly;gap:2px;min-height:0;padding:8px 14px}.dashboard-stage{display:grid;grid-template-columns:minmax(88px,.8fr) minmax(90px,1.2fr) 22px;align-items:center;gap:8px;min-height:24px;padding:0;border:0;background:transparent;color:var(--ink);text-align:left}.dashboard-stage-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:800}.dashboard-stage:hover .dashboard-stage-name{color:var(--blue-ink)}.dashboard-stage-track{height:7px;overflow:hidden;border-radius:999px;background:#edf2f8}.dashboard-stage-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--blue),#70a5ff)}.dashboard-stage strong{text-align:right;color:var(--muted);font-size:11px}.dashboard-conversion{margin:0 14px 12px;padding:9px 10px;border:1px solid #dbe7ff;border-radius:11px;background:#f7faff;display:flex;align-items:center;justify-content:space-between;gap:10px}.dashboard-conversion>span{display:grid;min-width:0}.dashboard-conversion small{color:var(--muted);font-size:11px;font-weight:700;text-transform:none;letter-spacing:0}.dashboard-conversion em{display:none}.dashboard-conversion strong{color:var(--blue-ink);font-size:11px;font-weight:900}
.dashboard-compact-card{display:grid;grid-template-rows:48px minmax(0,1fr)}.dashboard-list{min-height:0;overflow:auto;padding:5px 9px}.dashboard-list-item{display:grid;grid-template-columns:8px minmax(0,1fr) auto;align-items:center;gap:8px;width:100%;min-height:31px;padding:4px;border:0;border-bottom:1px solid color-mix(in srgb,var(--line) 76%,transparent);background:transparent;color:var(--ink);text-align:left}.dashboard-list-item:last-child{border-bottom:0}.dashboard-list-item:not(.static):hover{background:var(--surface-hover)}.dashboard-list-marker{width:7px;height:7px;border-radius:50%;background:var(--blue)}.dashboard-list-marker[data-kind="overdue"]{background:var(--dashboard-danger)}.dashboard-list-marker[data-kind="upcoming"],.dashboard-list-marker[data-kind="reminder"]{background:var(--dashboard-warn)}.dashboard-list-marker[data-kind="closing"]{background:var(--dashboard-green)}.dashboard-list-main{display:grid;min-width:0}.dashboard-list-main strong,.dashboard-list-main small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-list-main strong{font-size:9.5px;line-height:1.15}.dashboard-list-main small{margin-top:2px;color:var(--muted);font-size:8px}.dashboard-list-time{max-width:82px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:8px;font-weight:800}.dashboard-list-time[data-overdue="true"]{color:var(--dashboard-danger)}
.dashboard-card-loading,.dashboard-empty-state{display:grid;place-items:center;align-content:center;gap:5px;width:100%;height:100%;min-height:0;padding:10px;color:var(--muted);font-size:9px;text-align:center}.dashboard-empty-state strong{color:var(--ink);font-size:9.5px}.dashboard-empty-state span{max-width:330px;line-height:1.35}.dashboard-empty-state.compact{min-height:0}

html[data-theme="dark"] .dashboard-header-icon,html[data-theme="dark"] .dashboard-header-profile,html[data-theme="dark"] .dashboard-kpi,html[data-theme="dark"] .dashboard-card{box-shadow:0 10px 28px rgba(0,0,0,.12)}html[data-theme="dark"] .dashboard-stage-track{background:#202b3a}html[data-theme="dark"] .dashboard-conversion{background:color-mix(in srgb,var(--blue-soft) 70%,var(--surface));border-color:color-mix(in srgb,var(--blue) 35%,var(--line))}
@media(max-width:1280px) and (min-width:861px){.dashboard-kpis{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.dashboard-kpi{padding-left:11px;padding-right:10px}.dashboard-kpi-icon{width:32px;height:32px}.dashboard-kpi-meta{font-size:8px}}
@media(max-width:1180px){.dashboard-view{height:auto;min-height:calc(100vh - 80px);overflow:auto}.dashboard-shell{height:auto;grid-template-rows:auto auto auto minmax(250px,1fr)}.dashboard-middle{grid-template-columns:1fr}.dashboard-middle .dashboard-pipeline-card,.dashboard-middle .dashboard-chart-card{grid-column:auto}.dashboard-bottom{grid-template-columns:1fr 1fr}.dashboard-activity-card{grid-column:1/-1}.dashboard-chart-svg{min-height:220px}.dashboard-header-profile{min-width:44px;padding-right:4px}.dashboard-header-profile .dashboard-profile-copy{display:none}}
@media(max-width:860px){.dashboard-view{padding:13px}.dashboard-header-actions{gap:5px;padding-right:12px}.dashboard-header-icon{width:35px;height:35px}.dashboard-header-profile{height:37px}.dashboard-header-profile .dashboard-profile-avatar{width:29px;height:29px;flex-basis:29px}.dashboard-hero{align-items:flex-start}.dashboard-period-row{max-width:62%;overflow:auto}.dashboard-kpis{grid-template-columns:1fr 1fr}.dashboard-bottom{grid-template-columns:1fr}.dashboard-activity-card{grid-column:auto}.dashboard-middle{grid-template-columns:1fr}.dashboard-chart-legend{display:none}}
@media(max-width:860px){.dashboard-view-as-banner{max-width:220px}.dashboard-view-as-banner span{max-width:130px}}
@media(max-width:620px){.dashboard-header-actions{gap:4px}.dashboard-header-profile{display:none}.dashboard-header-icon{width:33px;height:33px}.dashboard-view{padding:12px}.dashboard-hero{display:grid;height:auto}.dashboard-period-row{max-width:100%;width:100%}.dashboard-period{overflow-x:auto}.dashboard-kpis{grid-template-columns:1fr}.dashboard-shell{grid-template-rows:auto auto auto auto}.dashboard-middle,.dashboard-bottom{grid-template-columns:1fr}.dashboard-card{min-height:220px}}

/* Desktop: una única geometría vigente. */
@media (min-width:1181px) and (min-height:720px){
  .workspace-body:has(#dashboardView:not([hidden])){
    height:100dvh;
    min-height:100dvh;
    padding-top:var(--header-height);
    padding-bottom:0;
    overflow:hidden;
  }
  .workspace-body:has(#dashboardView:not([hidden])) > #dashboardView.dashboard-view{
    width:100%;
    height:100%;
    min-height:0;
    margin:0;
    padding:7px 15px 13px;
    overflow:hidden;
  }
  #dashboardView .dashboard-shell{
    width:100%;
    height:100%;
    min-height:0;
    margin:0;
    grid-template-rows:38px 86px calc((100% - 154px)/2) calc((100% - 154px)/2);
    gap:10px;
    align-items:stretch;
  }
  #dashboardView .dashboard-bottom,
  #dashboardView .dashboard-middle{
    width:100%;
    height:100%;
    min-height:0;
    margin:0;
    align-self:stretch;
    overflow:hidden;
  }
  #dashboardView .dashboard-bottom > .dashboard-card,
  #dashboardView .dashboard-middle > .dashboard-card{
    width:auto;
    height:100%;
    min-height:0;
    max-height:100%;
    margin:0;
    overflow:hidden;
  }
}

/* Actividad y seguimientos: 7 filas compactas y escala tipográfica unificada. */
.dashboard-activity-card .dashboard-list,
.dashboard-followups-card .dashboard-list{
  padding-top:3px;
  padding-bottom:3px;
}
.dashboard-activity-card .dashboard-list{
  overflow: hidden;
}
.dashboard-activity-card .dashboard-list-item,
.dashboard-followups-card .dashboard-list-item{
  min-height:26px;
  padding-top:2px;
  padding-bottom:2px;
}
.dashboard-activity-card .dashboard-list-main strong,
.dashboard-activity-card .dashboard-list-main small,
.dashboard-activity-card .dashboard-list-time,
.dashboard-followups-card .dashboard-list-main strong,
.dashboard-followups-card .dashboard-list-main small,
.dashboard-followups-card .dashboard-list-time{
  font-size:11px;
}
.dashboard-activity-card .dashboard-list-main strong,
.dashboard-activity-card .dashboard-list-main small,
.dashboard-followups-card .dashboard-list-main strong,
.dashboard-followups-card .dashboard-list-main small{
  line-height:1;
}
.dashboard-activity-card .dashboard-list-main small,
.dashboard-followups-card .dashboard-list-main small{
  margin-top:1px;
}
.dashboard-followups-card .dashboard-list-time{
  min-width:62px;
  text-align:right;
}

/* Próximas reuniones: diseño vigente. */
.dashboard-meetings-card .dashboard-meetings-list{
  min-height:0;
  overflow:hidden;
}
.dashboard-meetings-card .dashboard-list-item{
  cursor:pointer;
}
.dashboard-meetings-card .dashboard-list-marker[data-kind="reminder"]{
  background:var(--blue);
}
.dashboard-meeting-item .dashboard-list-main strong,
.dashboard-meeting-item .dashboard-list-main small,
.dashboard-meeting-item .dashboard-list-time{
  font-size:11px;
}
.dashboard-meeting-item .dashboard-list-time{
  min-width:100px;
  max-width:none;
  overflow:visible;
  text-overflow:clip;
  white-space:nowrap;
  text-align:right;
  font-variant-numeric:tabular-nums;
}
.dashboard-meeting-placeholder{
  cursor:default;
  pointer-events:none;
}
.dashboard-meeting-placeholder .dashboard-list-marker{
  visibility:hidden;
}
.dashboard-meeting-placeholder .dashboard-list-main strong{
  color:var(--muted);
  font-size:11px;
  font-weight:700;
}

/* Agenda inteligente debajo del saludo. */
.dashboard-tomorrow-summary{
  margin:2px 0 0;
  max-width:min(900px,64vw);
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:var(--muted);
  font-size:10px;
  line-height:1.15;
  font-weight:650;
}
@media(max-width:860px){
  .dashboard-tomorrow-summary{
    max-width:100%;
    white-space:normal;
  }
}



/* V3.375 · Dashboard KPI iconography update. */


/* V3.381 · Compartir + Redes Sociales · encabezados refinados */
.flyer-share-card{width:min(980px,calc(100vw - var(--sidebar-width) - 30px));max-height:calc(100vh - 30px)}
.flyer-share-card .modal-header,.social-networks-card .modal-header{min-height:auto;padding:12px 22px;align-items:flex-start}
.flyer-share-card .modal-header>div,.social-networks-card .modal-header>div{display:grid;gap:2px;min-width:0;padding-top:0}
.flyer-share-card .modal-header h2,.social-networks-card .modal-header h2{line-height:1.2}
.flyer-share-card .modal-header .modal-subtitle,.social-networks-card .modal-header .modal-subtitle{margin:0;line-height:1.3}
.flyer-share-card .modal-header .modal-close,.social-networks-card .modal-header .modal-close{margin-top:0;align-self:flex-start}
.flyer-share-card .modal-actions{padding:10px 22px 16px}

.flyer-share-body{padding:16px 22px 10px}.flyer-share-layout{display:grid;grid-template-columns:minmax(260px,330px) minmax(0,1fr);gap:18px}.flyer-share-destinations{display:grid;gap:10px;align-content:start}.flyer-share-platform{border:1px solid var(--line);border-radius:10px;background:var(--surface);overflow:hidden}.flyer-share-platform.is-active{border-color:color-mix(in srgb,var(--blue-ink) 35%,var(--line))}.flyer-share-platform.is-coming{opacity:.72}.flyer-share-platform-head{display:flex;align-items:center;gap:10px;padding:11px 12px}.flyer-share-platform-head>div{display:grid;gap:2px;min-width:0;flex:1}.flyer-share-platform-head strong{font-size:12px}.flyer-share-platform-head small{color:var(--muted);font-size:9.5px}.social-brand-mark{position:relative;display:grid;place-items:center;width:36px;height:36px;flex:0 0 36px;border-radius:11px;overflow:hidden;isolation:isolate;background:linear-gradient(180deg,#ffffff 0%,#f7f9fc 100%);box-shadow:0 1px 2px rgba(15,23,42,.08),0 6px 16px rgba(15,23,42,.08),inset 0 1px 0 rgba(255,255,255,.92);border:1px solid rgba(15,23,42,.08)}.social-brand-mark.instagram{background:linear-gradient(180deg,#ffffff 0%,#f7f9fc 100%);color:inherit}.social-brand-mark.facebook{background:linear-gradient(180deg,#ffffff 0%,#f7f9fc 100%);color:inherit}.social-brand-mark.whatsapp{background:linear-gradient(180deg,#ffffff 0%,#f7f9fc 100%);color:inherit}.social-brand-mark.infocasas{background:linear-gradient(180deg,#ffffff 0%,#f7f9fc 100%);box-shadow:0 1px 2px rgba(15,23,42,.08),0 6px 16px rgba(15,23,42,.08),inset 0 1px 0 rgba(255,255,255,.92);border:1px solid rgba(15,23,42,.08)}.social-brand-mark.google-drive{background:linear-gradient(180deg,#ffffff 0%,#f7f9fc 100%);box-shadow:0 1px 2px rgba(15,23,42,.08),0 6px 16px rgba(15,23,42,.08),inset 0 1px 0 rgba(255,255,255,.92);border:1px solid rgba(15,23,42,.08)}.social-brand-img{position:relative;z-index:1;display:block;width:20px;height:20px;max-width:20px;max-height:20px;object-fit:contain;object-position:center;filter:drop-shadow(0 1px 1px rgba(0,0,0,.08))}.social-status-pill{display:inline-flex;align-items:center;justify-content:center;min-height:21px;padding:0 7px;border-radius:999px;background:var(--surface-hover);color:var(--muted);font:800 8.5px var(--font-caption);white-space:nowrap}.social-status-pill.available{background:rgba(23,138,82,.11);color:#178a52}
/* ROCKET V3.757 · Canva · WhatsApp aún en desarrollo. */
.social-status-pill.development{background:rgba(245,158,11,.16);color:#b45309;border:1px solid rgba(245,158,11,.34)}
.flyer-share-platform.is-development{border-color:rgba(245,158,11,.34);background:linear-gradient(180deg,rgba(245,158,11,.055),rgba(245,158,11,.018))}
.flyer-share-platform.is-development .flyer-share-platform-button,.flyer-share-platform.is-development .flyer-share-platform-button:disabled{cursor:not-allowed;opacity:1;background:transparent}
.flyer-share-platform.is-development .flyer-share-platform-button:hover{background:transparent}
body.theme-dark .social-status-pill.development,body.dark .social-status-pill.development{background:rgba(251,191,36,.15);color:#fbbf24;border-color:rgba(251,191,36,.34)}
.flyer-share-options{display:grid;border-top:1px solid var(--line)}.flyer-share-option{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:10px 12px;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--ink);text-align:left;cursor:pointer}.flyer-share-option:last-child{border-bottom:0}.flyer-share-option:hover,.flyer-share-option.is-selected{background:var(--surface-hover)}.flyer-share-option>span:first-child{display:grid;gap:2px}.flyer-share-option strong{font-size:11px}.flyer-share-option small{color:var(--muted);font-size:9.5px}.flyer-share-radio{width:14px;height:14px;border:1.5px solid var(--line-strong,var(--line));border-radius:50%;box-shadow:inset 0 0 0 3px var(--surface)}.flyer-share-option.is-selected .flyer-share-radio{background:var(--blue-ink);border-color:var(--blue-ink)}.flyer-share-drive{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:transparent;color:var(--ink);text-align:left;cursor:pointer}.flyer-share-drive:hover{background:var(--surface-hover)}.flyer-share-drive .social-brand-mark{flex:0 0 36px}.flyer-share-drive span{display:grid;gap:2px}.flyer-share-drive strong{font-size:10.5px}.flyer-share-drive small{color:var(--muted);font-size:9px}.flyer-share-compose{display:grid;gap:10px;align-content:start}.flyer-share-preview-wrap{display:grid;gap:7px}.flyer-share-preview-label{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--muted);font-size:9.5px}.flyer-share-preview-label strong{color:var(--ink);font-size:9.5px}.flyer-share-preview{display:grid;place-items:center;max-height:310px;min-height:230px;padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--surface-hover);overflow:hidden}.flyer-share-preview-image{position:relative;display:grid;place-items:center;overflow:hidden;border-radius:8px;background:#111;color:#fff;box-shadow:0 3px 12px rgba(0,0,0,.14);transition:aspect-ratio .18s ease}.flyer-share-preview-image img{width:100%;height:100%;object-fit:cover}.flyer-share-preview-image span{font-size:10px}.flyer-share-copy-field{display:grid;gap:6px}.flyer-share-copy-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.flyer-share-copy-head label{font-size:10px;font-weight:800}.flyer-share-copy-head span{color:var(--muted);font-size:9px}.flyer-share-copy-field .textarea{min-height:115px;resize:vertical;font-size:10.5px;line-height:1.45}.flyer-share-connection{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 11px;border:1px solid var(--line);border-radius:9px;background:var(--surface)}.flyer-share-connection>div{display:flex;align-items:center;gap:9px;min-width:0}.flyer-share-connection>div>div{display:grid;gap:2px}.flyer-share-connection strong{font-size:10px}.flyer-share-connection small{color:var(--muted);font-size:9px;line-height:1.35}.connection-dot{width:8px;height:8px;flex:0 0 auto;border-radius:50%;background:#9aa0a6}.flyer-share-connection .button{flex:0 0 auto;height:30px;font-size:9.5px}.button-rocket-outline{border-color:#0055DD !important;background:rgba(0,85,221,.05)!important;color:#0055DD !important}.button-rocket-outline:hover:not(:disabled){border-color:#0047be!important;background:rgba(0,85,221,.10)!important;color:#0047be!important}.button-rocket-outline:focus-visible{outline:0;box-shadow:0 0 0 3px rgba(0,85,221,.16)!important}.button-rocket-outline:disabled{opacity:1;border-color:rgba(0,85,221,.38)!important;background:rgba(0,85,221,.035)!important;color:#7a96c3 !important;cursor:not-allowed!important}
.social-networks-card{width:min(760px,calc(100vw - var(--sidebar-width) - 30px))}.social-networks-body{display:grid;gap:14px}.social-networks-intro{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 12px;border:1px solid var(--line);border-radius:9px;background:var(--surface-hover)}.social-networks-intro>div{display:grid;gap:3px}.social-networks-intro strong{font-size:11px}.social-networks-intro span{color:var(--muted);font-size:9.5px}.social-networks-security{white-space:nowrap}.social-network-list{display:grid;gap:9px}.social-network-row{display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:11px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}.social-network-row:not(.is-enabled){opacity:.72}.social-network-info{display:grid;gap:3px}.social-network-info>div{display:flex;align-items:center;gap:7px}.social-network-info strong{font-size:11.5px}.social-network-info small,.social-network-info p{margin:0;color:var(--muted);font-size:9.5px;line-height:1.35}.social-network-info p{color:var(--ink);font-weight:700}.social-connect-button{min-width:128px}.social-networks-note{display:grid;gap:4px;padding:10px 12px;border-left:3px solid var(--blue-ink);border-radius:0 8px 8px 0;background:var(--surface-hover)}.social-networks-note strong{font-size:10.5px}.social-networks-note span{color:var(--muted);font-size:9.5px;line-height:1.45}
@media(max-width:880px){.flyer-share-card{width:min(720px,calc(100vw - 30px))}.flyer-share-layout{grid-template-columns:1fr}.flyer-share-preview{min-height:210px}.flyer-share-preview.feed .flyer-share-preview-image,.flyer-share-preview.story .flyer-share-preview-image{height:250px}}
@media(max-width:620px){.flyer-share-card,.social-networks-card{width:calc(100vw - 20px)}.flyer-share-body{padding:10px}.flyer-share-preview.feed .flyer-share-preview-image,.flyer-share-preview.story .flyer-share-preview-image{height:220px}.flyer-share-connection,.social-networks-intro{align-items:flex-start;flex-direction:column}.social-network-row{grid-template-columns:36px minmax(0,1fr)}.social-network-row .social-connect-button{grid-column:1/-1;width:100%}.social-connect-button{min-width:0}}

/* V3.380 · Redes Sociales · cierre inferior simétrico */
.social-networks-card .social-networks-body{padding-bottom:10px}
.social-networks-card .modal-actions{
  padding: 8px 22px 16px;
  border-top: 0;
}
.social-networks-card .social-networks-note{margin-bottom:0}



/* V3.384 · Stories sin recorte lateral */
.flyer-share-preview.feed .flyer-share-preview-image{
  height: 285px;
  aspect-ratio: 4/5;
  background: #111;
}.flyer-share-preview.feed .flyer-share-preview-image img{object-fit:cover}.flyer-share-preview.story .flyer-share-preview-image{
  height: 285px;
  aspect-ratio: 9/16;
  background: #000;
  padding: 0;
}.flyer-share-preview.story .flyer-share-preview-image img{object-fit:contain;background:#000}



/* V3.393 · Flyers · filtros avanzados + paginación · CSS consolidado */
.flyers-view{
  height: calc(100% + 15px);
  margin-top: -15px;
  padding: 15px;
  background: var(--workspace-canvas);
  display: flex;
  flex-direction: column;
  gap: 12px;
  overflow: hidden;
}
.flyers-view[hidden]{display:none!important}
.flyers-advanced-filter-bar{flex:0 0 auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px 10px;padding:11px 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface);box-shadow:0 2px 8px rgba(19,25,32,.04)}
.flyers-advanced-filter-field{display:grid;gap:5px;min-width:0}
.flyers-advanced-filter-field label{color:var(--muted);font:800 9.5px var(--font-caption);line-height:1.1;white-space:nowrap}
.flyers-advanced-filter-field .select,.flyers-advanced-filter-field .input{min-height:32px;height:32px;padding-top:5px;padding-bottom:5px;font-size:10.5px}
.flyers-grid{
  display: grid;
  grid-template-columns: repeat(auto-fill,minmax(238px,1fr));
  gap: 15px;
  align-items: start;
  min-height: 0;
  flex: 1 1 auto;
  overflow: auto;
  align-content: start;
  padding-right: 2px;
}
.flyers-pagination{flex:0 0 auto;min-height:50px;margin:0;border:1px solid var(--line);border-radius:10px;background:var(--surface)}
.flyers-fixed-page-size{color:var(--ink);font-size:12px}
.flyers-pagination-summary{display:flex!important;min-width:0;justify-content:center!important}
.flyers-pagination-summary>span{display:inline-flex;align-items:center;gap:4px}
.flyers-pagination[data-loading="true"]{opacity:.72}
@media(min-width:1101px){
  .flyers-advanced-filter-bar{grid-template-columns:minmax(120px,1.15fr) minmax(145px,1.35fr) minmax(125px,1.2fr) minmax(125px,1.2fr) repeat(4,minmax(82px,.72fr));gap:8px;align-items:end;padding:10px 11px}
  .flyers-advanced-filter-field{gap:4px}
  .flyers-advanced-filter-field .select,.flyers-advanced-filter-field .input{min-width:0;padding-left:8px;padding-right:8px;font-size:10px}
  .flyers-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:15px}
}
@media(min-width:901px) and (max-width:1100px){.flyers-advanced-filter-bar{grid-template-columns:repeat(2,minmax(0,1fr))}.flyers-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(min-width:701px) and (max-width:900px){.flyers-advanced-filter-bar{grid-template-columns:repeat(2,minmax(0,1fr))}.flyers-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.flyers-view{overflow:auto}.flyers-advanced-filter-bar{grid-template-columns:1fr}.flyers-grid{overflow:visible;flex:0 0 auto}.flyers-pagination{flex-wrap:wrap;justify-content:center;padding:8px}.flyers-pagination-summary{display:none!important}}

/* V3.391 · Filtros de cabecera · altura y azul ROCKET unificados */
#captacionesSearchZone .captaciones-filter,
#flyersSearchZone .flyers-filter,
#contactsSearchZone .contacts-office-filter{
  height:30px!important;
  min-height:30px!important;
  box-sizing:border-box!important;
  padding-top:0!important;
  padding-bottom:0!important;
}

#flyersSearchZone .flyers-filter:hover,
#contactsSearchZone .contacts-office-filter:hover,
#captacionesSearchZone .captaciones-filter:hover{
  border-color:#003FAF!important;
  background-color:#0048BE!important;
  color:#fff!important;
}
#flyersSearchZone .flyers-filter:focus,
#contactsSearchZone .contacts-office-filter:focus,
#captacionesSearchZone .captaciones-filter:focus{
  outline:0!important;
  border-color:#003FAF!important;
  box-shadow:0 0 0 3px rgba(0,85,221,.20)!important;
}
#flyersSearchZone .flyers-filter option,
#contactsSearchZone .contacts-office-filter option,
#captacionesSearchZone .captaciones-filter option{
  background:var(--surface)!important;
  color:var(--ink)!important;
  font-weight:600!important;
}


/* V3.394 · Tipografía unificada de filtros principales */
#flyersSearchZone .flyers-filter,
#contactsSearchZone .contacts-office-filter,
#captacionesSearchZone .captaciones-filter{
  border-color: #0048BE !important;
  background-color: #0055DD !important;
  color: #fff !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='m1 1 5 5 5-5' fill='none' stroke='%23ffffff' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 10px center !important;
  background-size: 12px 8px !important;
  font-size: 13px !important;
  font-weight: 700 !important;
}

/* V3.397 · RRSS tipo iOS con fondo blanco unificado */
.social-brand-mark::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.55) 0%,rgba(255,255,255,.18) 38%,rgba(255,255,255,0) 72%);pointer-events:none;z-index:0}

/* V3.398 · Invitaciones: fechas en una sola línea */
#invitationsView table th:nth-child(5),
#invitationsView table td:nth-child(5),
#invitationsView table th:nth-child(6),
#invitationsView table td:nth-child(6),
#invitationsView table th:nth-child(7),
#invitationsView table td:nth-child(7){
  white-space:nowrap;
  min-width:142px;
}
#invitationsView table th:nth-child(7),
#invitationsView table td:nth-child(7){
  min-width:150px;
}

/* V3.399 · Invitaciones: Creada más separada de Vence */
#invitationsView table th:nth-child(5),
#invitationsView table td:nth-child(5){
  padding-left:10px;
  padding-right:34px;
  min-width:162px;
}
#invitationsView table th:nth-child(6),
#invitationsView table td:nth-child(6){
  padding-left:10px;
}

/* V3.400 · Invitaciones: eliminación segura */
.invitation-row-delete{
  color:var(--red);
  border-color:color-mix(in srgb,var(--red) 28%,var(--line));
}
.invitation-row-delete:hover{
  color:var(--red);
  background:color-mix(in srgb,var(--red) 8%,var(--surface));
  border-color:color-mix(in srgb,var(--red) 42%,var(--line));
}
.invitation-delete-card{width:min(500px,100%)}
.invitation-delete-note{
  margin:12px 0 0;
  padding:10px 11px;
  border:1px solid color-mix(in srgb,var(--red) 22%,var(--line));
  border-radius:7px;
  background:color-mix(in srgb,var(--red) 5%,var(--surface));
  color:var(--muted);
  font-size:11px;
  line-height:1.45;
}

/* V3.401 · Invitaciones: distribución profesional y acciones en una fila */
#invitationsView .invitation-table{
  min-width:1260px;
}
#invitationsView .invitation-col-status{width:108px}
#invitationsView .invitation-col-type{width:92px}
#invitationsView .invitation-col-recipient{width:220px}
#invitationsView .invitation-col-office{width:145px}
#invitationsView .invitation-col-created{width:150px}
#invitationsView .invitation-col-expiry{width:150px}
#invitationsView .invitation-col-accepted{width:160px}
#invitationsView .invitation-col-actions{width:235px}

#invitationsView .invitation-table th,
#invitationsView .invitation-table td{
  padding-left:12px;
  padding-right:12px;
}

#invitationsView .invitation-table th:nth-child(5),
#invitationsView .invitation-table td:nth-child(5),
#invitationsView .invitation-table th:nth-child(6),
#invitationsView .invitation-table td:nth-child(6),
#invitationsView .invitation-table th:nth-child(7),
#invitationsView .invitation-table td:nth-child(7){
  min-width:0;
  padding-left:12px;
  padding-right:12px;
  white-space:nowrap;
}

#invitationsView .invitation-row-actions{
  flex-wrap:nowrap;
  gap:5px;
  white-space:nowrap;
}

#invitationsView .invitation-row-action{
  flex:0 0 auto;
}

#invitationsView .invitation-actions-head,
#invitationsView .invitation-table td:last-child{
  padding-left:8px;
  padding-right:12px;
}

/* V3.402 · Flyers: ESC en modales sociales + títulos de filtros avanzados en mayúsculas. */

/* V3.403 · Flyers: modales sociales con cierre explícito/ESC, sin cierre por backdrop. */

/* V3.404 · Instagram conectado */
.flyer-share-connection[data-connected="true"]{border-color:rgba(23,138,82,.28);background:rgba(23,138,82,.035)}
.flyer-share-connection[data-connected="true"] .connection-dot{background:#178a52;box-shadow:0 0 0 3px rgba(23,138,82,.10)}

/* V3.406 · Facebook publication */
.flyer-share-platform-button{width:100%;border:0;background:transparent;color:inherit;text-align:left;font:inherit;cursor:pointer}.flyer-share-platform-button:hover{background:var(--surface-hover)}.flyer-share-platform.is-active>.flyer-share-platform-button{background:var(--surface-hover)}.flyer-share-page-field{display:grid;gap:4px;margin-top:6px;max-width:320px}.flyer-share-page-field[hidden]{display:none}.flyer-share-page-field>span{color:var(--muted);font:700 8.5px var(--font-caption)}.flyer-share-page-field .select{height:30px;min-height:30px;padding:0 28px 0 9px;font-size:9.5px}.flyer-share-connection:has(.flyer-share-page-field:not([hidden])){align-items:flex-start}

/* V3.407 · copy advisor phone fallback; no visual changes */
/* V3.408 · advisor phone schema + ESC behavior; no visual changes */


/* ==========================================================================
   ROCKET V3.416 · Dashboard fila 2 · 6 filas
   Distribución vertical equilibrada en Actividad, Seguimientos y Reuniones.
   Mantiene altura de tarjetas y evita compactar el contenido hacia arriba.
   ========================================================================== */
@media (min-width:1181px){
  #dashboardView .dashboard-activity-card .dashboard-list,
  #dashboardView .dashboard-followups-card .dashboard-list,
  #dashboardView .dashboard-meetings-card .dashboard-meetings-list{
    display:grid;
    min-height:0;
    height:100%;
    align-content:stretch;
    padding:5px 10px 7px;
    overflow:hidden;
  }

  #dashboardView .dashboard-activity-card .dashboard-list,
  #dashboardView .dashboard-followups-card .dashboard-list{
    grid-template-rows:repeat(6,minmax(0,1fr));
  }

  #dashboardView .dashboard-meetings-card .dashboard-meetings-list{
    grid-template-rows:repeat(6,minmax(0,1fr));
  }

  #dashboardView .dashboard-activity-card .dashboard-list-item,
  #dashboardView .dashboard-followups-card .dashboard-list-item,
  #dashboardView .dashboard-meetings-card .dashboard-list-item{
    width:100%;
    height:100%;
    min-height:0;
    padding:0 4px;
    align-self:stretch;
    align-items:center;
  }

  #dashboardView .dashboard-activity-card .dashboard-list-main,
  #dashboardView .dashboard-followups-card .dashboard-list-main,
  #dashboardView .dashboard-meetings-card .dashboard-list-main{
    align-content:center;
  }
}


/* V3.421 · CENTURY / DARK CENTURY
   Century reemplaza visualmente al antiguo Moderno sin migración de datos: internamente conserva
   data-brand-theme="modern" y ui_modern_appearance light/dark para mantener compatibilidad con
   Supabase y las preferencias existentes.

   Reajuste V3.421:
   - la barra lateral deja de ser dorada y vuelve a las superficies nativas claro/oscuro;
   - el dorado original de ROCKET/Century (#AE8A47) queda reservado como color de énfasis;
   - Dark Century conserva exactamente las superficies oscuras heredadas del antiguo Moderno oscuro. */
html[data-brand-theme="modern"]{
  --century-gold:#AE8A47;
  --century-gold-hover:#9F7D40;
  --century-gold-dark:#927139;
}

/* Century / Dark Century: favicon C21 siempre en sus colores originales. */
html[data-brand-theme="modern"] .sidebar .sidebar-brand-icon{
  filter:none!important;
}

/* Controles solicitados en dorado de énfasis, sin pintar la superficie de la barra lateral. */
html[data-brand-theme="modern"] :is(
  #filterToggle,
  #reminderFilterToggle,
  #newLeadButton,
  #newReminderButton,
  #newFlyerButton
){
  border-color:var(--century-gold-dark)!important;
  background:var(--century-gold)!important;
  color:#fff!important;
  font-weight:700!important;
}
html[data-brand-theme="modern"] :is(
  #filterToggle,
  #reminderFilterToggle,
  #newLeadButton,
  #newReminderButton,
  #newFlyerButton
):hover:not(:disabled){
  border-color:var(--century-gold-dark)!important;
  background:var(--century-gold-hover)!important;
  color:#fff!important;
}
html[data-brand-theme="modern"] :is(
  #filterToggle,
  #reminderFilterToggle,
  #newLeadButton,
  #newReminderButton,
  #newFlyerButton
):active:not(:disabled){
  border-color:var(--century-gold-dark)!important;
  background:var(--century-gold-dark)!important;
  color:#fff!important;
}
html[data-brand-theme="modern"] :is(
  #filterToggle,
  #reminderFilterToggle,
  #newLeadButton,
  #newReminderButton,
  #newFlyerButton
):focus-visible{
  outline:0!important;
  box-shadow:0 0 0 3px rgba(174,138,71,.24)!important;
}

/* Selectores de cabecera solicitados: Tipo de propiedad, Disponibilidad, Operaciones,
   Tipos, Ubicación, Asesores y Todas las oficinas. */
html[data-brand-theme="modern"] :is(
  #flyersOperationFilter,
  #flyersAvailabilityFilter,
  #captacionesOperationFilter,
  #captacionesTypeFilter,
  #captacionesMunicipalityFilter,
  #captacionesAdvisorFilter,
  #contactsOfficeFilter
){
  border-color:var(--century-gold-dark)!important;
  background-color:var(--century-gold)!important;
  color:#fff!important;
  font-weight:700!important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='m1 1 5 5 5-5' fill='none' stroke='%23ffffff' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important;
}
html[data-brand-theme="modern"] :is(
  #flyersOperationFilter,
  #flyersAvailabilityFilter,
  #captacionesOperationFilter,
  #captacionesTypeFilter,
  #captacionesMunicipalityFilter,
  #captacionesAdvisorFilter,
  #contactsOfficeFilter
):hover{
  border-color:var(--century-gold-dark)!important;
  background-color:var(--century-gold-hover)!important;
  color:#fff!important;
}
html[data-brand-theme="modern"] :is(
  #flyersOperationFilter,
  #flyersAvailabilityFilter,
  #captacionesOperationFilter,
  #captacionesTypeFilter,
  #captacionesMunicipalityFilter,
  #captacionesAdvisorFilter,
  #contactsOfficeFilter
):focus{
  outline:0!important;
  border-color:var(--century-gold-dark)!important;
  box-shadow:0 0 0 3px rgba(174,138,71,.24)!important;
}

/* Los flyouts del sidebar siguen las superficies propias de cada modo (Century claro / Dark Century oscuro). */
html[data-brand-theme="modern"][data-sidebar="collapsed"] .sidebar .broker-submenu,
html[data-brand-theme="modern"][data-sidebar="collapsed"] .sidebar .quick-menu{
  background:var(--surface);
  color:var(--ink);
}
@media(max-width:900px){
  html[data-brand-theme="modern"] .sidebar .broker-submenu,
  html[data-brand-theme="modern"] .sidebar .quick-menu{
    background:var(--surface);
    color:var(--ink);
  }
}

/* V3.422 · MENÚ BROKER · filtros unificados por familia de tema
   - Mis Cierres vuelve al estilo nativo de navegación del sidebar.
   - Los filtros citados del Menú Broker igualan el alto de "borrar filtros" (30 px).
   - Century / Dark Century: dorado #AE8A47.
   - Rocket / Dark Rocket: azul oficial #0055DD.
   - Asesores incorpora "borrar filtros" funcional. */


/* Los selects de la lista mantienen su geometría y flecha blanca al usar fondo de marca. */
:is(
  #advisorCategoryFilter,
  #advisorStatusFilter,
  #productivityYearFilter,
  #productivityCategoryFilter,
  #topsYearFilter,
  #topsPeriodFilter,
  #topsTopFilter,
  #sepreladYearFilter,
  #sepreladStatusFilter,
  #commissionsYearFilter,
  #commissionsMonthFilter,
  #expensesYearFilter,
  #expensesMonthFilter
){
  padding-top:0!important;
  padding-bottom:0!important;
  line-height:28px!important;
}

html[data-brand-theme="modern"] :is(
  #closingFilterToggle,
  #advisorCategoryFilter,
  #advisorStatusFilter,
  #productivityYearFilter,
  #productivityCategoryFilter,
  #topsYearFilter,
  #topsPeriodFilter,
  #topsTopFilter,
  #sepreladYearFilter,
  #sepreladStatusFilter,
  #commissionsYearFilter,
  #commissionsMonthFilter,
  #expensesYearFilter,
  #expensesMonthFilter
){
  border-color:#927139!important;
  background-color:#AE8A47!important;
  color:#fff!important;
  font-weight:700!important;
}
html[data-brand-theme="modern"] :is(
  #advisorCategoryFilter,
  #advisorStatusFilter,
  #productivityYearFilter,
  #productivityCategoryFilter,
  #topsYearFilter,
  #topsPeriodFilter,
  #topsTopFilter,
  #sepreladYearFilter,
  #sepreladStatusFilter,
  #commissionsYearFilter,
  #commissionsMonthFilter,
  #expensesYearFilter,
  #expensesMonthFilter
){
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='m1 1 5 5 5-5' fill='none' stroke='%23ffffff' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important;
}
html[data-brand-theme="modern"] :is(
  #closingFilterToggle,
  #advisorCategoryFilter,
  #advisorStatusFilter,
  #productivityYearFilter,
  #productivityCategoryFilter,
  #topsYearFilter,
  #topsPeriodFilter,
  #topsTopFilter,
  #sepreladYearFilter,
  #sepreladStatusFilter,
  #commissionsYearFilter,
  #commissionsMonthFilter,
  #expensesYearFilter,
  #expensesMonthFilter
):hover:not(:disabled){
  border-color:#927139!important;
  background-color:#9F7D40!important;
  color:#fff!important;
}
html[data-brand-theme="modern"] :is(
  #closingFilterToggle,
  #advisorCategoryFilter,
  #advisorStatusFilter,
  #productivityYearFilter,
  #productivityCategoryFilter,
  #topsYearFilter,
  #topsPeriodFilter,
  #topsTopFilter,
  #sepreladYearFilter,
  #sepreladStatusFilter,
  #commissionsYearFilter,
  #commissionsMonthFilter,
  #expensesYearFilter,
  #expensesMonthFilter
):focus-visible,
html[data-brand-theme="modern"] :is(
  #advisorCategoryFilter,
  #advisorStatusFilter,
  #productivityYearFilter,
  #productivityCategoryFilter,
  #topsYearFilter,
  #topsPeriodFilter,
  #topsTopFilter,
  #sepreladYearFilter,
  #sepreladStatusFilter,
  #commissionsYearFilter,
  #commissionsMonthFilter,
  #expensesYearFilter,
  #expensesMonthFilter
):focus{
  outline:0!important;
  border-color:#927139!important;
  box-shadow:0 0 0 3px rgba(174,138,71,.24)!important;
}

html[data-brand-theme="rocket"] :is(
  #closingFilterToggle,
  #advisorCategoryFilter,
  #advisorStatusFilter,
  #productivityYearFilter,
  #productivityCategoryFilter,
  #topsYearFilter,
  #topsPeriodFilter,
  #topsTopFilter,
  #sepreladYearFilter,
  #sepreladStatusFilter,
  #commissionsYearFilter,
  #commissionsMonthFilter,
  #expensesYearFilter,
  #expensesMonthFilter
){
  border-color:#0048BE!important;
  background-color:#0055DD!important;
  color:#fff!important;
  font-weight:700!important;
}
html[data-brand-theme="rocket"] :is(
  #advisorCategoryFilter,
  #advisorStatusFilter,
  #productivityYearFilter,
  #productivityCategoryFilter,
  #topsYearFilter,
  #topsPeriodFilter,
  #topsTopFilter,
  #sepreladYearFilter,
  #sepreladStatusFilter,
  #commissionsYearFilter,
  #commissionsMonthFilter,
  #expensesYearFilter,
  #expensesMonthFilter
){
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='m1 1 5 5 5-5' fill='none' stroke='%23ffffff' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important;
}
html[data-brand-theme="rocket"] :is(
  #closingFilterToggle,
  #advisorCategoryFilter,
  #advisorStatusFilter,
  #productivityYearFilter,
  #productivityCategoryFilter,
  #topsYearFilter,
  #topsPeriodFilter,
  #topsTopFilter,
  #sepreladYearFilter,
  #sepreladStatusFilter,
  #commissionsYearFilter,
  #commissionsMonthFilter,
  #expensesYearFilter,
  #expensesMonthFilter
):hover:not(:disabled){
  border-color:#003FAF!important;
  background-color:#0048BE!important;
  color:#fff!important;
}
html[data-brand-theme="rocket"] :is(
  #closingFilterToggle,
  #advisorCategoryFilter,
  #advisorStatusFilter,
  #productivityYearFilter,
  #productivityCategoryFilter,
  #topsYearFilter,
  #topsPeriodFilter,
  #topsTopFilter,
  #sepreladYearFilter,
  #sepreladStatusFilter,
  #commissionsYearFilter,
  #commissionsMonthFilter,
  #expensesYearFilter,
  #expensesMonthFilter
):focus-visible,
html[data-brand-theme="rocket"] :is(
  #advisorCategoryFilter,
  #advisorStatusFilter,
  #productivityYearFilter,
  #productivityCategoryFilter,
  #topsYearFilter,
  #topsPeriodFilter,
  #topsTopFilter,
  #sepreladYearFilter,
  #sepreladStatusFilter,
  #commissionsYearFilter,
  #commissionsMonthFilter,
  #expensesYearFilter,
  #expensesMonthFilter
):focus{
  outline:0!important;
  border-color:#003FAF!important;
  box-shadow:0 0 0 3px rgba(0,85,221,.22)!important;
}

/* Asesores: el nuevo reset usa exactamente la geometría estándar de todos los "borrar filtros". */
#advisorSearchZone #advisorResetFiltersButton{
  height:30px;
  min-height:30px;
  margin-right:0;
}



/* V3.423 · MENÚ BROKER · tipografía de chips unificada
   - Los controles ya normalizados a 30 px ahora igualan también la tipografía de "borrar filtros": 13 px / 700.
   - Seprelad amplía "Toda documentación" para que la etiqueta se lea completa. */
:is(
  #closingFilterToggle,
  #advisorCategoryFilter,
  #advisorStatusFilter,
  #productivityYearFilter,
  #productivityCategoryFilter,
  #topsYearFilter,
  #topsPeriodFilter,
  #topsTopFilter,
  #sepreladYearFilter,
  #sepreladStatusFilter,
  #commissionsYearFilter,
  #commissionsMonthFilter,
  #expensesYearFilter,
  #expensesMonthFilter
){
  height: 30px !important;
  min-height: 30px !important;
  max-height: 30px !important;
  font-family: var(--font-ui) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
}

/* Mantener el chip de documentación legible, incluida la opción por defecto. */
#sepreladSearchZone #sepreladStatusFilter{
  width:190px!important;
  min-width:190px!important;
  max-width:190px!important;
}


/* V3.424 · Menú Broker / Gastos
   - Etiquetas largas legibles sin truncamiento.
   - Papelera superior por selección y Acciones removida de la tabla. */
#advisorSearchZone #advisorStatusFilter{width:160px!important;min-width:160px!important;max-width:160px!important;}
:is(#commissionsMonthFilter,#expensesMonthFilter){width:160px!important;min-width:160px!important;max-width:160px!important;}

.workspace-header:has(#expensesSearchZone:not([hidden])) .workspace-actions{min-width:134px;padding-left:6px;}


/* V3.425 · Gastos: menú completo, papelera unificada y tabla ordenada */
#bulkDeleteExpensesButton{border-color:#d58f87;background:var(--surface);color:#a53b31;opacity:1;}
#bulkDeleteExpensesButton:hover{background:#fff1ef;border-color:#c86d62;color:#8f2f27;}
html[data-theme="dark"] #bulkDeleteExpensesButton{background:#2b2424;color:#ffb8ae;border-color:#7d4842;}
html[data-theme="dark"] #bulkDeleteExpensesButton:hover{background:#3a2928;border-color:#a75a50;color:#ffd3cd;}
#bulkDeleteExpensesButton:disabled{
  opacity: 1;
  cursor: default;
}

/* Distribución de columnas de Gastos: aire uniforme y jerarquía consistente. */
.expenses-table th,.expenses-table td{box-sizing:border-box;padding-left:12px;padding-right:12px;}
.expenses-table th:nth-child(1),.expenses-table td:nth-child(1){width:44px;padding-left:0;padding-right:0;}
.expenses-table th:nth-child(2),.expenses-table td:nth-child(2){width:110px;}
.expenses-table th:nth-child(3),.expenses-table td:nth-child(3){width:17%;}
.expenses-table th:nth-child(4),.expenses-table td:nth-child(4){width:18%;}
.expenses-table th:nth-child(5),.expenses-table td:nth-child(5){width:auto;}
.expenses-table th:nth-child(6),.expenses-table td:nth-child(6){width:88px;text-align:center;}
.expenses-table th:nth-child(7),.expenses-table td:nth-child(7){width:150px;}
.expenses-table td:nth-child(7){text-align:right;font-variant-numeric:tabular-nums;}
.expenses-table th:nth-child(8),.expenses-table td:nth-child(8){
  width: 140px;
  text-align: center;
}
.expenses-table th:nth-child(6) .expenses-sort-button,.expenses-table th:nth-child(8) .expenses-sort-button{justify-content:center;gap:8px;}
.expenses-table th:nth-child(7) .expenses-sort-button{justify-content:flex-end;gap:8px;text-align:right;}


/* ROCKET CRM V3.427 · Papelera de asesores */
.advisor-trash-row{grid-template-columns:26px minmax(190px,1.5fr) minmax(90px,.65fr) minmax(170px,1.25fr) minmax(120px,.8fr) auto}
@media(max-width:720px){.advisor-trash-row{grid-template-columns:26px minmax(0,1fr) auto}.advisor-trash-row>.lead-trash-meta{display:none}}

/* Papelera Asesores: mismo tratamiento visual que Cierres. */
#bulkDeleteAdvisorsButton{border-color:#d58f87;background:var(--surface);color:#a53b31;}
#bulkDeleteAdvisorsButton:hover{background:#fff1ef;border-color:#c86d62;color:#8f2f27;}
html[data-theme="dark"] #bulkDeleteAdvisorsButton{background:#2b2424;color:#ffb8ae;border-color:#7d4842;}
html[data-theme="dark"] #bulkDeleteAdvisorsButton:hover{background:#3a2928;border-color:#a75a50;color:#ffd3cd;}


/* ==========================================================================
   ROCKET V3.452 · Plan y Facturación / Billing Core
   ========================================================================== */
.billing-view{padding-bottom:28px}
.billing-shell{display:grid;gap:18px;max-width:1280px;margin:0 auto}
.billing-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:24px 26px;border:1px solid var(--border);border-radius:18px;background:var(--surface)}
.billing-hero h2{margin:3px 0 6px;font-size:24px;line-height:1.2}
.billing-hero p{margin:0;max-width:760px;color:var(--muted);line-height:1.5}
.billing-eyebrow,.billing-label{display:block;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--primary)}
.billing-current-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:22px;padding:24px 26px;border:1px solid var(--border);border-radius:18px;background:var(--surface)}
.billing-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.billing-card-heading h3{margin:5px 0 0;font-size:25px}
.billing-plan-description{margin:10px 0 18px;color:var(--muted);line-height:1.5}
.billing-status,.billing-row-status,.billing-current-pill,.billing-phase-badge{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;font-size:11px;font-weight:800;white-space:nowrap}
.billing-status{padding:7px 10px;border:1px solid var(--border);background:var(--surface-2);color:var(--text)}
.billing-status[data-status="active"],.billing-status[data-status="trialing"],.billing-row-status[data-status="paid"],.billing-current-pill{border-color:rgba(34,197,94,.28);background:rgba(34,197,94,.10);color:#16803b}
.billing-status[data-status="past_due"],.billing-status[data-status="grace_period"],.billing-row-status[data-status="pending"],.billing-row-status[data-status="open"],.billing-row-status[data-status="processing"]{border-color:rgba(245,158,11,.28);background:rgba(245,158,11,.10);color:#a16207}
.billing-status[data-status="suspended"],.billing-status[data-status="cancelled"],.billing-status[data-status="expired"],.billing-status[data-status="error"],.billing-row-status[data-status="failed"],.billing-row-status[data-status="void"],.billing-row-status[data-status="uncollectible"]{border-color:rgba(239,68,68,.25);background:rgba(239,68,68,.09);color:#b42318}
.billing-status[data-status="empty"]{color:var(--muted)}
.billing-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:12px}
.billing-summary-grid>div{padding:13px 14px;border:1px solid var(--border);border-radius:13px;background:var(--surface-2)}
.billing-summary-grid span{display:block;margin-bottom:6px;font-size:11px;color:var(--muted)}
.billing-summary-grid strong{display:block;font-size:14px}
.billing-current-actions{display:flex;flex-direction:column;justify-content:flex-end;gap:9px;min-width:150px}
.billing-trial-note{margin:13px 0 0;padding:9px 11px;border-radius:10px;background:rgba(0,85,221,.08);color:var(--primary);font-size:12px}
.billing-section{padding:22px 24px;border:1px solid var(--border);border-radius:18px;background:var(--surface)}
.billing-section-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:16px}
.billing-section-heading h3{margin:4px 0 0;font-size:17px}
.billing-phase-badge{padding:6px 9px;background:rgba(0,85,221,.08);color:var(--primary)}
.billing-plans-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.billing-plan-card{padding:18px;border:1px solid var(--border);border-radius:15px;background:var(--surface-2)}
.billing-plan-card[data-current="true"]{border-color:rgba(0,85,221,.45);box-shadow:inset 0 0 0 1px rgba(0,85,221,.08)}
.billing-plan-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.billing-plan-code{font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--primary)}
.billing-plan-card h4{margin:4px 0 0;font-size:17px}
.billing-plan-card p{min-height:38px;margin:10px 0 14px;color:var(--muted);font-size:12px;line-height:1.5}
.billing-current-pill{padding:5px 8px}
.billing-plan-prices{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.billing-plan-prices span{padding:10px;border:1px solid var(--border);border-radius:11px;background:var(--surface)}
.billing-plan-prices small{display:block;margin-bottom:4px;color:var(--muted);font-size:10px}
.billing-plan-prices strong{font-size:13px}
.billing-plan-meta{display:flex;flex-wrap:wrap;gap:7px;margin-top:11px}
.billing-plan-meta span{font-size:10px;color:var(--muted)}
.billing-table-wrap{overflow:auto;border:1px solid var(--border);border-radius:13px}
.billing-table{width:100%;border-collapse:collapse;min-width:720px}
.billing-table th,.billing-table td{padding:12px 14px;border-bottom:1px solid var(--border);text-align:left;font-size:12px;vertical-align:middle}
.billing-table th{background:var(--surface-2);color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.billing-table tbody tr:last-child td{border-bottom:0}
.billing-row-status{padding:5px 8px;border:1px solid var(--border);background:var(--surface-2)}
.billing-empty{padding:18px;text-align:center;color:var(--muted);font-size:12px}
.billing-empty-card{grid-column:1/-1;display:grid;gap:6px;border:1px dashed var(--border);border-radius:14px;background:var(--surface-2)}
.billing-empty-card strong{color:var(--text);font-size:13px}
.billing-security-note{display:flex;align-items:flex-start;gap:12px;padding:16px 18px;border:1px solid rgba(0,85,221,.18);border-radius:15px;background:rgba(0,85,221,.055)}
.billing-security-note svg{width:22px;height:22px;flex:0 0 22px;color:var(--primary)}
.billing-security-note strong{display:block;margin-bottom:3px;font-size:12px}
.billing-security-note p{margin:0;color:var(--muted);font-size:11px;line-height:1.5}
@media (max-width:980px){
  .billing-current-card{grid-template-columns:1fr}
  .billing-current-actions{flex-direction:row;justify-content:flex-start}
  .billing-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .billing-plans-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:640px){
  .billing-hero{flex-direction:column;padding:19px}
  .billing-current-card,.billing-section{padding:18px}
  .billing-summary-grid,.billing-plans-grid{grid-template-columns:1fr}
  .billing-current-actions{flex-direction:column}
}


/* V3.456 · Billing checkout prep / catálogo comercial */
.billing-provider-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;padding:17px 18px;border:1px solid var(--border);border-radius:14px;background:var(--surface-2)}
.billing-provider-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:rgba(0,85,221,.10);color:var(--primary);font-size:24px;font-weight:900;text-transform:lowercase}
.billing-provider-copy{min-width:0}.billing-provider-copy strong{display:block;margin-bottom:4px;font-size:14px}.billing-provider-copy p{margin:0;color:var(--muted);font-size:12px;line-height:1.45}
.billing-provider-meta{min-width:120px;padding-left:16px;border-left:1px solid var(--border)}.billing-provider-meta span{display:block;margin-bottom:4px;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.05em}.billing-provider-meta strong{font-size:12px}
.billing-plan-flags{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.billing-draft-pill{display:inline-flex;align-items:center;padding:5px 8px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--muted);font-size:10px;font-weight:800}
.billing-plan-card[data-active="false"]{opacity:.78}.billing-plan-edit{width:100%;margin-top:14px}
.billing-plan-modal-card{width:min(760px,calc(100vw - 32px))}.billing-plan-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.billing-plan-form-wide{grid-column:1/-1}.billing-plan-active{grid-column:1/-1;display:flex;align-items:flex-start;gap:10px;padding:13px 14px;border:1px solid var(--border);border-radius:12px;background:var(--surface-2);cursor:pointer}.billing-plan-active input{margin-top:2px}.billing-plan-active strong,.billing-plan-active small{display:block}.billing-plan-active small{margin-top:3px;color:var(--muted);font-size:11px;line-height:1.4}
@media(max-width:720px){.billing-provider-card{grid-template-columns:auto 1fr}.billing-provider-meta{grid-column:1/-1;padding:12px 0 0;border-left:0;border-top:1px solid var(--border)}.billing-plan-form-grid{grid-template-columns:1fr}.billing-plan-form-wide,.billing-plan-active{grid-column:auto}}


/* V3.457 · Version/Cache Sync — sin cambios visuales */

/* V3.458 · Billing Navigation Hotfix — sin cambios visuales */


/* ==========================================================================
   ROCKET V3.459 · Billing Hub · márgenes + doble pasarela
   ========================================================================== */
.billing-view{padding:0 15px 28px;background:var(--workspace-canvas)}
.billing-shell{width:100%;max-width:none;margin:0;gap:15px}
.billing-hero,.billing-current-card,.billing-section{border-radius:14px}
.billing-hero{padding:22px 24px}
.billing-current-card{padding:22px 24px}
.billing-section{padding:20px 22px}
.billing-section-heading-stack{align-items:flex-start;margin-bottom:14px}
.billing-section-copy{margin:6px 0 0;color:var(--muted);font-size:12px;line-height:1.45}
.billing-gateways-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.billing-gateway-card{min-width:0;padding:18px;border:1px solid var(--border);border-radius:14px;background:var(--surface-2)}
.billing-gateway-card[data-provider="upay"]{border-color:rgba(17,197,159,.22)}
.billing-gateway-card[data-provider="bancard"]{border-color:rgba(43,61,126,.22)}
.billing-gateway-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.billing-gateway-logo{display:flex;align-items:center;justify-content:center;width:148px;height:64px;padding:8px 12px;border:1px solid rgba(15,23,42,.08);border-radius:11px;background:#fff;overflow:hidden}
.billing-gateway-logo img{display:block;width:auto;height:auto;object-fit:contain}
.billing-gateway-card[data-provider="upay"] .billing-gateway-logo img{width:104px;max-height:36px}
.billing-gateway-card[data-provider="bancard"] .billing-gateway-logo img{width:112px;max-height:38px}
.billing-gateway-logo-bancard{width:148px}
.billing-gateway-copy{margin-top:15px}
.billing-gateway-copy>strong{display:block;font-size:17px;line-height:1.2}
.billing-gateway-copy p{min-height:36px;margin:6px 0 0;color:var(--muted);font-size:12px;line-height:1.5}
.billing-gateway-status-line{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:15px;padding:11px 12px;border:1px solid var(--border);border-radius:11px;background:var(--surface)}
.billing-gateway-status-line span,.billing-gateway-meta-grid span{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.05em}
.billing-gateway-status-line strong{font-size:12px;text-align:right}
.billing-gateway-meta-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:9px}
.billing-gateway-meta-grid>div{padding:11px 12px;border:1px solid var(--border);border-radius:11px;background:var(--surface)}
.billing-gateway-meta-grid span{display:block;margin-bottom:4px}
.billing-gateway-meta-grid strong{display:block;font-size:12px}
.billing-phase-badge[data-stage="disabled"]{background:var(--surface);border:1px solid var(--border);color:var(--muted)}
.billing-phase-badge[data-stage="awaiting_commerce"]{background:#0055DD;border:1px solid #0055DD;color:#fff}
.billing-gateway-status-line strong[data-stage="awaiting_commerce"]{color:#0055DD}
html[data-theme="dark"] .billing-gateway-logo{border-color:rgba(255,255,255,.10)}
@media(max-width:900px){.billing-gateways-grid{grid-template-columns:1fr}}
@media(max-width:640px){.billing-view{padding:0 12px 24px}.billing-hero,.billing-current-card,.billing-section{padding:18px}.billing-gateway-meta-grid{grid-template-columns:1fr}.billing-gateway-logo,.billing-gateway-logo-bancard{width:132px;height:58px}}


/* ==========================================================================
   ROCKET V3.460 · Planes y Facturación · modal compacto
   ========================================================================== */
.billing-plan-modal-card .modal-header{
  min-height:0;
  align-items:flex-start;
  padding:14px 22px 12px;
}
.billing-plan-modal-card .modal-header>div{
  min-width:0;
  padding-top:0;
}
.billing-plan-modal-card .modal-header h2{
  line-height:1.2;
}
.billing-plan-modal-card .modal-header .modal-subtitle{
  margin:5px 0 0;
  line-height:1.35;
}
.billing-plan-modal-card .modal-header .modal-close{
  margin-top:0;
  align-self:flex-start;
}
.billing-plan-modal-card .modal-body{
  padding:16px 22px 5px;
}
.billing-plan-form-grid>.field{
  margin-bottom:0;
}
.billing-plan-modal-card .modal-actions{
  padding:9px 22px 16px;
}
@media(max-width:640px){
  .billing-plan-modal-card .modal-header{padding:13px 16px 11px}
  .billing-plan-modal-card .modal-body{padding:14px 16px 4px}
  .billing-plan-modal-card .modal-actions{padding:9px 16px 14px}
}


/* ==========================================================================
   ROCKET V3.464 · Billing UX refinement · top spacing + SVG + inputs
   ========================================================================== */
.billing-plan-modal-card .modal-subtitle br{display:block}
.billing-plan-modal-card .billing-money-input{font-variant-numeric:tabular-nums}
#billingPlanCode{font-variant-numeric:tabular-nums}


/* ==========================================================================
   ROCKET V3.464 · Billing · descuento anual + alineación de logos
   ========================================================================== */
#billingPlanAnnual[readonly]{cursor:not-allowed;background:var(--surface-2);color:var(--text);opacity:.9}
#billingPlanAnnualDiscount{font-variant-numeric:tabular-nums}

/* V3.464 · Código interno derivado del nombre comercial */
.billing-plan-modal-card .billing-code-input[readonly]{background:var(--surface-2);color:var(--muted);cursor:default}
/* V3.465 · Flyers → WhatsApp Contacto */
.flyer-share-page-field .flyer-share-field-note{margin:1px 0 0;color:var(--muted);font:600 8px/1.35 var(--font-caption)}
.flyer-share-connection[data-platform="whatsapp"] .flyer-share-page-field{max-width:360px}


/* ==========================================================
   ROCKET CRM · V3.467 · REDES SOCIALES HUB
   ========================================================== */
.social-nav-item{position:relative}
html[data-sidebar="collapsed"] .social-submenu::before{content:"Redes Sociales"}
@media(max-width:900px){html:not([data-sidebar="collapsed"]) .social-submenu::before{content:"Redes Sociales"}}
.social-automation-view,.social-integrations-view{min-height:100%;background:var(--workspace-canvas)}
.social-automation-view{display:grid;place-items:center;padding:24px}
.social-automation-view[hidden],.social-integrations-view[hidden]{display:none}
.social-automation-empty{display:grid;grid-template-columns:48px minmax(0,1fr);gap:14px;align-items:center;width:min(560px,100%);padding:18px;border:1px solid var(--line);border-radius:12px;background:var(--surface);box-shadow:0 8px 24px rgba(15,23,42,.06)}
.social-automation-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:12px;background:rgba(0,85,221,.09);color:#0055DD}
.social-automation-icon svg{width:24px;height:24px}.social-automation-empty>div:last-child{display:grid;gap:5px}
.social-automation-empty h2{margin:0;color:var(--ink);font-size:16px;font-weight:800;line-height:1.2}
.social-automation-empty p{margin:0;color:var(--muted);font-size:11px;line-height:1.5}
.social-automation-empty span{justify-self:start;margin-top:2px;padding:4px 8px;border-radius:999px;background:rgba(0,85,221,.08);color:#0055DD;font-size:9px;font-weight:800}
html[data-theme="dark"][data-brand-theme="rocket"] .social-automation-icon{background:#102A52;color:#6FA5FF}
html[data-theme="dark"][data-brand-theme="rocket"] .social-automation-empty span{background:#102A52;color:#9CC0FF}
@media(max-width:620px){.social-automation-view{padding:14px}.social-automation-empty{grid-template-columns:40px minmax(0,1fr);padding:14px}.social-automation-icon{width:40px;height:40px;border-radius:10px}.social-automation-icon svg{width:21px;height:21px}}

/* ROCKET CRM · V3.468 · SIDEBAR · etiquetas compactas + flyouts inferiores simétricos */

/* V3.469 · Redes Sociales · chevron dropdown semántico */
#socialMenuButton .nav-chevron{transform:none!important}
#socialMenuButton[aria-expanded="true"] .nav-chevron{transform:rotate(180deg)!important}


/* ==========================================================================
   ROCKET CRM · V3.472 · CONTACTOS MULTI-RED
   ========================================================================== */
.contacts-nav-item .contacts-submenu{min-width:232px}
.contacts-submenu .nav-link{position:relative}
.contacts-network-mark{display:grid;place-items:center;flex:0 0 28px;width:28px;height:28px;border:0;border-radius:8px;background:transparent;overflow:hidden}
.contacts-submenu .nav-link[aria-current="page"] .contacts-network-mark{box-shadow:none}
.nav-coming-badge{margin-left:auto;padding:2px 5px;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:9px;font-weight:800;letter-spacing:.25px;text-transform:uppercase}
.contacts-nav-item>#contactsMenuButton[aria-expanded="true"] .nav-chevron{transform:rotate(180deg)}
html[data-sidebar="collapsed"] .contacts-submenu{position:fixed;z-index:960;margin:0!important}

.contacts-network-mark img{display:block;width:100%;height:100%;object-fit:contain;object-position:center}

/* V3.474 · Favicons oficiales de redes en Contactos */
.contacts-network-mark{padding:3px;background:#fff}
.contacts-network-mark img{width:20px;height:20px;max-width:20px;max-height:20px;object-fit:contain;image-rendering:auto}

/* ROCKET V3.486 · estándar reusable de selección en Ajustes
   Temas, Idiomas y futuras preferencias comparten proporción, respiración y geometría. */
.settings-selection-modal{width:min(940px,calc(100vw - 32px));overflow:hidden}
.settings-selection-grid{gap:14px;align-items:stretch}
.settings-selection-card{min-height:190px}
.settings-selection-footer{width:100%}

/* Idiomas · misma familia visual/proporcional que Temas */
.languages-modal-card{max-width:none}
.languages-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.language-option.settings-selection-card{min-height:220px}
.language-option[aria-pressed="true"]{border-color:#0055DD;box-shadow:0 0 0 2px rgba(0,85,221,.18)}
.language-option[aria-pressed="true"] .theme-option-badge{background:rgba(0,85,221,.13);color:#6FA5FF}
.language-preview{display:flex;height:92px;align-items:center;justify-content:center;gap:8px;border-bottom:1px solid var(--line);background:linear-gradient(135deg,var(--surface-2),var(--surface));color:var(--ink)}
.language-preview strong{font-family:var(--font-caption);font-size:30px;line-height:1;font-weight:900;letter-spacing:.04em}
.language-preview small{display:inline-flex;min-height:22px;align-items:center;padding:2px 7px;border-radius:999px;background:var(--surface-hover);color:var(--muted);font-size:10px;font-weight:800}
.language-preview .language-country-flag{width:36px;min-width:36px;height:24px;border-radius:2.25px;box-shadow:0 0 0 1px rgba(0,0,0,.10)}
.language-preview .language-country-flag svg{width:36px;height:24px}
html[data-theme="dark"][data-brand-theme="rocket"] .language-preview{background:linear-gradient(135deg,#101826,#151D2A)}
@media(max-width:820px){.languages-grid{grid-template-columns:1fr}.language-option.settings-selection-card{min-height:190px}}

/* ROCKET V3.487 · Idiomas + preferencias regionales */
.languages-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.language-option.settings-selection-card{min-height:190px}

.regional-preferences-modal{max-width:none}
.regional-preferences-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
.regional-preference-card{display:flex;min-width:0;min-height:238px;padding:18px;flex-direction:column;gap:16px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}
.regional-preference-head{display:flex;align-items:flex-start;gap:12px}
.regional-preference-head>div{display:flex;min-width:0;flex:1;flex-direction:column;gap:5px}
.regional-preference-head strong{font-family:var(--font-caption);font-size:16px;line-height:1.2;font-weight:850;color:var(--ink)}
.regional-preference-head span:not(.regional-preference-icon){color:var(--muted);font-size:12px;line-height:1.45}
.regional-preference-icon{display:inline-flex;width:42px;height:42px;min-width:42px;align-items:center;justify-content:center;border:1px solid rgba(0,85,221,.22);border-radius:11px;background:rgba(0,85,221,.08);color:#0055DD;font:900 20px/1 var(--font-caption)}
.regional-preference-icon svg{width:22px;height:22px}
.regional-preference-field{display:flex;flex-direction:column;gap:7px}
.regional-preference-field>span{color:var(--ink);font-size:11px;font-weight:800;letter-spacing:.01em}
.regional-preference-field .select{width:100%;min-height:38px}
.regional-preference-note{margin:auto 0 0;color:var(--muted);font-size:11px;line-height:1.45}
.regional-preferences-footer{align-items:center}
.regional-active-summary{display:flex;min-width:0;align-items:center;gap:18px;flex-wrap:wrap}
.regional-active-summary strong{font-size:12px;white-space:nowrap}
html[data-theme="dark"][data-brand-theme="rocket"] .regional-preference-icon{border-color:rgba(111,165,255,.28);background:rgba(0,85,221,.14);color:#6FA5FF}
@media(max-width:820px){.languages-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.regional-preferences-grid{grid-template-columns:1fr}.regional-preference-card{min-height:215px}}
@media(max-width:640px){.languages-grid{grid-template-columns:1fr}.language-option.settings-selection-card{min-height:190px}.regional-active-summary{align-items:flex-start;flex-direction:column;gap:4px}.regional-preference-card{min-height:0}.regional-preferences-footer .themes-pilot-note{display:none}}


/* ROCKET V3.488 · DEMO / notificaciones / restricciones visuales */
.invitation-filter-demo{font-weight:850;letter-spacing:.02em}
.invitation-filter-demo[aria-pressed="true"]{border-color:#0055DD;background:rgba(0,85,221,.10);color:#0055DD}
.invitation-demo-row{background:linear-gradient(90deg,rgba(0,85,221,.035),transparent 38%)}
.invitation-type-demo{border-color:rgba(0,85,221,.25)!important;background:rgba(0,85,221,.09)!important;color:#0055DD!important;font-weight:900!important}
.invitation-status[data-status="demo_active"]{background:rgba(16,185,129,.11);color:#047857;border-color:rgba(16,185,129,.24)}
.invitation-status[data-status="demo_expired"]{background:rgba(245,158,11,.12);color:#a16207;border-color:rgba(245,158,11,.25)}
.invitation-status[data-status="demo_converted"]{background:rgba(0,85,221,.11);color:#0055DD;border-color:rgba(0,85,221,.24)}
.invitation-status[data-status="demo_cancelled"]{background:rgba(100,116,139,.11);color:#64748b;border-color:rgba(100,116,139,.24)}
.system-notification-item{position:relative}
.system-notification-item[data-unseen="true"]{background:linear-gradient(90deg,rgba(0,85,221,.085),rgba(0,85,221,.02))}
.system-notification-dot{width:8px;height:8px;min-width:8px;border-radius:50%;background:#0055DD;box-shadow:0 0 0 4px rgba(0,85,221,.11);margin-right:4px}
.theme-option[data-demo-locked="true"]{cursor:not-allowed;opacity:.56;filter:saturate(.45);transform:none!important;box-shadow:none!important}
.theme-option[data-demo-locked="true"] .theme-option-badge{background:rgba(100,116,139,.12)!important;color:var(--muted)!important;white-space:normal;text-align:center;line-height:1.2}
html[data-theme="dark"] .invitation-filter-demo[aria-pressed="true"]{color:#8CB6FF;background:rgba(0,85,221,.19)}
html[data-theme="dark"] .invitation-type-demo{color:#8CB6FF!important;background:rgba(0,85,221,.16)!important}


/* ROCKET V3.532 · Flyers · Galería Drive + Viewer.js */
.flyer-gallery-chip{position:absolute;left:10px;bottom:10px;z-index:2;display:inline-flex;align-items:center;min-height:24px;padding:0 9px;border:1px solid rgba(255,255,255,.28);border-radius:999px;background:rgba(10,18,30,.76);backdrop-filter:blur(8px);color:#fff;font:800 9px/1 var(--font-caption);letter-spacing:.02em;box-shadow:0 4px 12px rgba(0,0,0,.16);pointer-events:none}
.flyer-gallery-card{width:min(1040px,calc(100vw - 36px));max-height:calc(100dvh - 40px);display:flex;flex-direction:column;overflow:hidden}
.flyer-gallery-body{display:flex;flex-direction:column;min-height:0;overflow:hidden;padding:16px 18px 18px}
.flyer-gallery-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:0 0 12px;border-bottom:1px solid var(--line)}
.flyer-gallery-status-wrap{display:flex;align-items:baseline;gap:10px;min-width:0}.flyer-gallery-status-wrap strong{font-size:12px;white-space:nowrap}.flyer-gallery-status-wrap span{min-width:0;color:var(--muted);font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.flyer-gallery-message{min-height:0;margin-top:10px;padding:0;color:var(--muted);font-size:11px;line-height:1.45}.flyer-gallery-message:empty{display:none}.flyer-gallery-message[data-kind="error"]{padding:9px 11px;border:1px solid rgba(180,35,24,.2);border-radius:8px;background:rgba(180,35,24,.06);color:var(--red)}.flyer-gallery-message[data-kind="warning"]{padding:9px 11px;border:1px solid rgba(174,138,71,.24);border-radius:8px;background:rgba(174,138,71,.07);color:var(--ink)}.flyer-gallery-message[data-kind="info"]{padding:9px 11px;border:1px solid rgba(0,85,221,.18);border-radius:8px;background:rgba(0,85,221,.05);color:var(--blue-ink)}
.flyer-gallery-images{min-height:260px;max-height:min(62vh,680px);margin-top:12px;overflow:auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:2px 3px 3px 0;align-content:start}
.flyer-gallery-thumb{position:relative;display:block;aspect-ratio:4/3;min-width:0;padding:0;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--surface-2);box-shadow:0 4px 12px rgba(10,25,55,.05);cursor:zoom-in}.flyer-gallery-thumb:hover{border-color:var(--blue);box-shadow:0 0 0 2px rgba(0,85,221,.10),0 8px 20px rgba(10,25,55,.10)}.flyer-gallery-thumb img{display:block;width:100%;height:100%;object-fit:cover}.flyer-gallery-thumb>span{position:absolute;right:7px;bottom:7px;display:grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:rgba(10,18,30,.72);color:#fff;font:800 9px var(--font-caption);pointer-events:none}
.flyer-gallery-loading,.flyer-gallery-empty{grid-column:1/-1;min-height:260px;display:grid;place-items:center;align-content:center;gap:7px;border:1px dashed var(--line);border-radius:12px;background:var(--surface-soft);text-align:center;color:var(--muted);padding:24px}.flyer-gallery-loading strong,.flyer-gallery-empty strong{color:var(--ink);font-size:13px}.flyer-gallery-loading small,.flyer-gallery-empty span{max-width:520px;font-size:11px;line-height:1.5}.flyer-gallery-spinner{width:25px;height:25px;border:2px solid var(--line);border-top-color:var(--blue);border-radius:50%;animation:rocket-gallery-spin .75s linear infinite}@keyframes rocket-gallery-spin{to{transform:rotate(360deg)}}
.viewer-container{z-index:2147483000!important}.viewer-title{font-family:var(--font-ui),Arial,sans-serif}.viewer-toolbar>ul>li{background-color:rgba(0,85,221,.82)}
@media(max-width:900px){.flyer-gallery-images{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:620px){.flyer-gallery-card{width:calc(100vw - 20px);max-height:calc(100dvh - 20px)}.flyer-gallery-body{padding:12px}.flyer-gallery-toolbar{align-items:flex-start;flex-direction:column}.flyer-gallery-status-wrap{display:grid;gap:4px}.flyer-gallery-status-wrap span{white-space:normal}.flyer-gallery-images{grid-template-columns:repeat(2,minmax(0,1fr));max-height:58vh}.flyer-gallery-toolbar .button{width:100%}}

/* ROCKET V3.535 · Flyers · Galería Drive: ajuste visual + carga segura por blob */
.flyer-gallery-card .modal-header{padding:18px 18px 12px;align-items:flex-start}
.flyer-gallery-card .modal-header>div{display:grid;gap:3px;min-width:0}
.flyer-gallery-card .modal-header h2{margin:0;line-height:1.2}
.flyer-gallery-card .modal-subtitle{margin:0;line-height:1.35}
.flyer-gallery-body{padding-top:12px}
.flyer-gallery-toolbar{padding-bottom:10px}
.flyer-gallery-images{margin-top:10px}
.flyer-gallery-thumb-loading{display:grid;place-items:center;align-content:center;gap:6px;cursor:default;color:var(--muted);padding:12px;text-align:center}
.flyer-gallery-thumb-loading .flyer-gallery-thumb-name{position:static;display:block;max-width:100%;height:auto;padding:0;background:transparent;color:var(--muted);font:700 9px/1.35 var(--font-caption);white-space:normal;overflow-wrap:anywhere}
.flyer-gallery-thumb-error{display:grid;place-items:center;align-content:center;gap:6px;cursor:default;border-style:dashed;color:var(--muted)}
.flyer-gallery-thumb-error .flyer-gallery-thumb-error-label{position:static;display:block;width:auto;height:auto;padding:0;background:transparent;color:var(--muted);font:800 9px/1.25 var(--font-caption)}
@media(max-width:620px){.flyer-gallery-card .modal-header{padding:15px 14px 10px}.flyer-gallery-body{padding-top:10px}}


/* ROCKET V3.537 · Viewer explícito + orden de galería Drive */
.flyer-gallery-thumb[draggable="true"]{cursor:grab;user-select:none;-webkit-user-drag:element;touch-action:manipulation}
.flyer-gallery-thumb[draggable="true"]:active{cursor:grabbing}
.flyer-gallery-thumb.is-dragging{opacity:.48;transform:scale(.985)}
.flyer-gallery-thumb.is-drag-over{border-color:var(--blue)!important;box-shadow:0 0 0 3px rgba(0,85,221,.18),0 10px 24px rgba(10,25,55,.12)!important}
.flyer-gallery-cover-badge{position:absolute!important;left:8px!important;top:8px!important;right:auto!important;bottom:auto!important;display:inline-flex!important;align-items:center!important;width:auto!important;min-width:0!important;height:22px!important;padding:0 8px!important;border:1px solid rgba(255,255,255,.28)!important;border-radius:999px!important;background:rgba(0,85,221,.90)!important;color:#fff!important;font:800 8.5px/1 var(--font-caption)!important;letter-spacing:.02em;pointer-events:none;z-index:3}
.flyer-gallery-drag-handle{position:absolute!important;right:8px!important;top:8px!important;bottom:auto!important;display:grid!important;place-items:center!important;width:25px!important;min-width:25px!important;height:25px!important;padding:0!important;border:1px solid rgba(255,255,255,.26)!important;border-radius:8px!important;background:rgba(10,18,30,.70)!important;color:#fff!important;font:900 12px/1 var(--font-caption)!important;letter-spacing:-3px;pointer-events:none;z-index:3}
.flyer-gallery-index{position:absolute!important;right:7px!important;bottom:7px!important;top:auto!important;left:auto!important;display:grid!important;place-items:center!important;min-width:22px!important;width:auto!important;height:22px!important;padding:0 6px!important;border-radius:999px!important;background:rgba(10,18,30,.72)!important;color:#fff!important;font:800 9px var(--font-caption)!important;pointer-events:none}
.viewer-container{z-index:2147483640!important}


/* ==========================================================================
   ROCKET V3.539 · Viewer.js por encima de Galería Drive
   ========================================================================== */
.viewer-container{z-index:2147483646!important}
.viewer-container.viewer-backdrop{background-color:rgba(5,10,18,.90)!important;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.viewer-canvas{background:transparent!important}
.viewer-canvas>img{box-shadow:0 18px 60px rgba(0,0,0,.42)}
.viewer-button{background-color:rgba(0,85,221,.92)!important}
.viewer-toolbar>ul>li{background-color:rgba(0,85,221,.86)!important}


/* ==========================================================================
   ROCKET V3.540 · Visor propio sobre Galería Drive
   ========================================================================== */
.flyer-gallery-lightbox[hidden]{display:none!important}
.flyer-gallery-lightbox{position:fixed;inset:0;z-index:2147483647;display:grid;place-items:center;opacity:0;transition:opacity .14s ease;isolation:isolate}
.flyer-gallery-lightbox.is-open{opacity:1}
.flyer-gallery-lightbox-backdrop{position:absolute;inset:0;background:rgba(3,8,16,.92);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}
.flyer-gallery-lightbox-panel{position:relative;z-index:1;width:min(96vw,1500px);height:min(94vh,1000px);display:grid;grid-template-rows:auto minmax(0,1fr) auto;background:rgba(11,20,34,.98);border:1px solid rgba(148,163,184,.22);border-radius:14px;box-shadow:0 30px 100px rgba(0,0,0,.58);overflow:hidden}
.flyer-gallery-lightbox-header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px 16px;border-bottom:1px solid rgba(148,163,184,.18);color:#fff}
.flyer-gallery-lightbox-header>div{display:flex;align-items:baseline;gap:12px;min-width:0}.flyer-gallery-lightbox-header strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:700 14px/1.25 var(--font-ui),Arial,sans-serif}.flyer-gallery-lightbox-header span{flex:none;color:#aebbd0;font:600 11px/1.2 var(--font-ui),Arial,sans-serif}
.flyer-gallery-lightbox-close{width:34px;height:34px;display:grid;place-items:center;border:1px solid rgba(148,163,184,.24);border-radius:7px;background:#101b2c;color:#fff;font-size:24px;line-height:1;cursor:pointer}
.flyer-gallery-lightbox-stage{position:relative;min-height:0;overflow:hidden;display:grid;place-items:center;padding:18px 64px;background:#050a12}
.flyer-gallery-lightbox-stage img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;transform-origin:center center;transition:transform .12s ease;user-select:none;-webkit-user-drag:none;box-shadow:0 20px 70px rgba(0,0,0,.4)}
.flyer-gallery-lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:34px;height:34px;display:grid;place-items:center;padding:0;border:1px solid rgba(255,255,255,.18);border-radius:7px;background:rgba(9,18,31,.78);color:#fff;font-size:24px;line-height:1;cursor:pointer}.flyer-gallery-lightbox-nav:hover{background:rgba(0,85,221,.9)}.flyer-gallery-lightbox-nav:disabled{opacity:.3;cursor:default}.flyer-gallery-lightbox-nav.is-prev{left:12px}.flyer-gallery-lightbox-nav.is-next{right:12px}
.flyer-gallery-lightbox-toolbar{display:flex;justify-content:center;align-items:center;gap:7px;padding:10px 14px;border-top:1px solid rgba(148,163,184,.18);background:#0c1625}.flyer-gallery-lightbox-toolbar button{min-width:38px;height:34px;padding:0 11px;border:1px solid rgba(148,163,184,.22);border-radius:7px;background:#132034;color:#fff;font:700 13px/1 var(--font-ui),Arial,sans-serif;cursor:pointer}.flyer-gallery-lightbox-toolbar button:hover{border-color:#0055dd;background:#112a52}
@media(max-width:700px){.flyer-gallery-lightbox-panel{width:100vw;height:100vh;border-radius:0;border:0}.flyer-gallery-lightbox-stage{padding:12px 48px}.flyer-gallery-lightbox-nav{width:34px;height:34px}.flyer-gallery-lightbox-nav.is-prev{left:6px}.flyer-gallery-lightbox-nav.is-next{right:6px}}


/* ==========================================================================
   ROCKET V3.541 · Visor Feed 4:5 · imagen completa sin recorte
   ========================================================================== */
.flyer-gallery-lightbox-panel{height:min(96vh,1080px)}
.flyer-gallery-lightbox-stage{display:flex;align-items:center;justify-content:center;min-width:0;min-height:0;padding:10px 64px;overflow:hidden}
.flyer-gallery-lightbox-stage img{width:100%;height:100%;min-width:0;min-height:0;max-width:100%;max-height:100%;object-fit:contain;object-position:center center}
@media(max-width:700px){.flyer-gallery-lightbox-stage{padding:8px 44px}}


/* ==========================================================================
   ROCKET V3.544 · Compartir Instagram · selector de carrusel
   ========================================================================== */
.flyer-share-media-select{display:grid;gap:8px;padding:10px 11px;border:1px solid var(--border);border-radius:14px;background:var(--surface-2)}
.flyer-share-media-select[hidden]{display:none}
.flyer-share-media-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.flyer-share-media-head>div{display:grid;gap:2px;min-width:0}
.flyer-share-media-head strong{font:700 11px/1.25 var(--font-body);color:var(--text)}
.flyer-share-media-head small{font:500 8px/1.35 var(--font-caption);color:var(--muted)}
#flyerShareMediaCount{flex:0 0 auto;border:1px solid var(--border);border-radius:8px;background:var(--surface);padding:3px 7px;font:700 8px/1 var(--font-caption);color:var(--muted)}
.flyer-share-media-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;min-height:58px}
.flyer-share-media-item{position:relative;display:block;aspect-ratio:4/5;padding:0;border:1px solid var(--border);border-radius:9px;overflow:hidden;background:var(--surface);cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}
.flyer-share-media-item:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--rocket) 55%,var(--border))}
.flyer-share-media-item.is-selected{border:2px solid var(--rocket);box-shadow:0 0 0 2px color-mix(in srgb,var(--rocket) 12%,transparent)}
.flyer-share-media-item img{display:block;width:100%;height:100%;object-fit:cover}
.flyer-share-media-check{position:absolute;right:5px;top:5px;display:grid;place-items:center;width:17px;height:17px;border-radius:999px;background:rgba(12,18,28,.72);color:#fff;font:800 10px/1 var(--font-body);backdrop-filter:blur(4px)}
.flyer-share-media-item.is-selected .flyer-share-media-check{background:var(--rocket)}
.flyer-share-media-cover,.flyer-share-media-index{position:absolute;left:5px;bottom:5px;padding:3px 6px;border-radius:999px;background:rgba(12,18,28,.76);color:#fff;font:700 7px/1 var(--font-caption);backdrop-filter:blur(4px)}
.flyer-share-media-placeholder{display:grid;place-items:center;width:100%;height:100%;font:600 8px/1.2 var(--font-caption);color:var(--muted)}
.flyer-share-media-loading,.flyer-share-media-empty{grid-column:1/-1;display:flex;align-items:center;justify-content:center;gap:8px;min-height:64px;border:1px dashed var(--border);border-radius:9px;color:var(--muted);font:600 9px/1.3 var(--font-caption)}
@media(max-width:760px){.flyer-share-media-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:520px){.flyer-share-media-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.flyer-share-media-head{align-items:center}.flyer-share-media-head small{display:none}}


/* ==========================================================================
   ROCKET V3.545 · Multi-RRSS + vista previa navegable
   ========================================================================== */
.flyer-share-media-check svg{width:11px;height:11px;fill:none;stroke:currentColor;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
.flyer-share-preview{position:relative}
.flyer-share-preview-nav{position:absolute;z-index:4;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:34px;height:46px;border:1px solid var(--line);border-radius:9px;background:rgba(10,18,30,.78);color:#fff;font:700 27px/1 var(--font-body);cursor:pointer;backdrop-filter:blur(7px);box-shadow:0 4px 14px rgba(0,0,0,.18)}
.flyer-share-preview-nav.previous{left:12px}.flyer-share-preview-nav.next{right:12px}.flyer-share-preview-nav:hover{background:rgba(10,18,30,.94);border-color:rgba(255,255,255,.2)}
.flyer-share-preview-nav[hidden]{display:none!important}
.flyer-share-preview-counter{position:absolute;z-index:4;right:12px;bottom:10px;min-width:38px;padding:4px 8px;border-radius:999px;background:rgba(10,18,30,.78);color:#fff;text-align:center;font:800 8.5px/1 var(--font-caption);backdrop-filter:blur(7px)}
.flyer-share-preview-counter[hidden]{display:none!important}


/* ==========================================================================
   ROCKET V3.546 · RRSS preview · checks + navegación lateral
   ========================================================================== */
.flyer-share-media-check{
  width:21px;
  height:21px;
  right:6px;
  top:6px;
  border:1px solid rgba(255,255,255,.82);
  background:rgba(8,16,28,.68);
  color:#fff !important;
  box-shadow:0 2px 7px rgba(0,0,0,.28);
}
.flyer-share-media-item.is-selected .flyer-share-media-check{
  background:#0055DD;
  border-color:#fff;
  color:#fff !important;
  box-shadow:0 0 0 2px rgba(0,85,221,.22),0 3px 9px rgba(0,0,0,.28);
}
.flyer-share-media-check .lucide-check{
  width:13px;
  height:13px;
  display:block;
  fill:none !important;
  stroke:#fff !important;
  stroke-width:2.8;
}

/* Las flechas pertenecen al marco de vista previa, no a la imagen. */
.flyer-share-preview > #flyerSharePreviewPrevious,
.flyer-share-preview > #flyerSharePreviewNext{
  position:absolute !important;
  z-index:8 !important;
  top:50% !important;
  bottom:auto !important;
  transform:translateY(-50%) !important;
  width:40px !important;
  height:52px !important;
  margin:0 !important;
  padding:0 !important;
  border:1px solid rgba(255,255,255,.16) !important;
  border-radius:10px !important;
  background:rgba(8,16,28,.78) !important;
  color:#fff !important;
  box-shadow:0 5px 18px rgba(0,0,0,.24) !important;
  backdrop-filter:blur(7px);
}
.flyer-share-preview > #flyerSharePreviewPrevious{left:14px !important;right:auto !important;}
.flyer-share-preview > #flyerSharePreviewNext{right:14px !important;left:auto !important;}
.flyer-share-preview > #flyerSharePreviewPrevious:hover,
.flyer-share-preview > #flyerSharePreviewNext:hover{
  background:rgba(0,85,221,.92) !important;
  border-color:rgba(255,255,255,.42) !important;
}
.flyer-share-preview > #flyerSharePreviewPrevious svg,
.flyer-share-preview > #flyerSharePreviewNext svg{
  width:22px;
  height:22px;
  display:block;
  margin:auto;
}
.flyer-share-preview > #flyerSharePreviewPrevious[hidden],
.flyer-share-preview > #flyerSharePreviewNext[hidden]{display:none !important;}


/* ==========================================================================
   ROCKET V3.547 · Compartir sin gestión de integraciones + Drive copy
   ========================================================================== */
.flyer-share-destination-fields{display:grid;gap:7px}
.flyer-share-destination-fields:empty{display:none}
.flyer-share-destination-fields .flyer-share-page-field{margin-top:0;max-width:100%;padding:9px 10px;border:1px solid var(--line);border-radius:9px;background:var(--surface)}
.flyer-share-destination-fields .flyer-share-page-field>span{font-size:9px}
.flyer-share-destination-fields .flyer-share-page-field .select{width:100%;height:32px;min-height:32px}


/* ==========================================================================
   ROCKET V3.548 · Flyers 10/página + flechas preview tamaño modal-close
   ========================================================================== */
.flyer-share-preview > #flyerSharePreviewPrevious,
.flyer-share-preview > #flyerSharePreviewNext{
  width:36px !important;
  height:36px !important;
  min-width:36px !important;
  min-height:36px !important;
  border-radius:4px !important;
}
.flyer-share-preview > #flyerSharePreviewPrevious svg,
.flyer-share-preview > #flyerSharePreviewNext svg{
  width:18px !important;
  height:18px !important;
}


/* ==========================================================================
   ROCKET V3.549 · Restauración visual exacta V3.546 + tamaño uniforme 36×36
   ========================================================================== */
/* Check seleccionado: conservar el círculo azul ROCKET de V3.546. */
.flyer-share-media-item.is-selected .flyer-share-media-check{
  width:21px !important;
  height:21px !important;
  right:6px !important;
  top:6px !important;
  border:1px solid #fff !important;
  border-radius:999px !important;
  background:#0055DD !important;
  color:#fff !important;
  box-shadow:0 0 0 2px rgba(0,85,221,.22),0 3px 9px rgba(0,0,0,.28) !important;
}
.flyer-share-media-item.is-selected .flyer-share-media-check .lucide-check{
  width:13px !important;
  height:13px !important;
  display:block !important;
  fill:none !important;
  stroke:#fff !important;
  stroke-width:2.8 !important;
}
/* Flechas: mismo aspecto/posición de V3.546. Solo alto y ancho pasan a 36×36. */
.flyer-share-preview > #flyerSharePreviewPrevious,
.flyer-share-preview > #flyerSharePreviewNext{
  position:absolute !important;
  z-index:8 !important;
  top:50% !important;
  bottom:auto !important;
  transform:translateY(-50%) !important;
  width:36px !important;
  height:36px !important;
  min-width:36px !important;
  min-height:36px !important;
  margin:0 !important;
  padding:0 !important;
  border:1px solid rgba(255,255,255,.16) !important;
  border-radius:10px !important;
  background:rgba(8,16,28,.78) !important;
  color:#fff !important;
  box-shadow:0 5px 18px rgba(0,0,0,.24) !important;
  backdrop-filter:blur(7px);
}
.flyer-share-preview > #flyerSharePreviewPrevious{left:14px !important;right:auto !important;}
.flyer-share-preview > #flyerSharePreviewNext{right:14px !important;left:auto !important;}
.flyer-share-preview > #flyerSharePreviewPrevious:hover,
.flyer-share-preview > #flyerSharePreviewNext:hover{
  background:rgba(0,85,221,.92) !important;
  border-color:rgba(255,255,255,.42) !important;
}
.flyer-share-preview > #flyerSharePreviewPrevious svg,
.flyer-share-preview > #flyerSharePreviewNext svg{
  width:22px !important;
  height:22px !important;
  display:block !important;
  margin:auto !important;
}
.flyer-share-preview > #flyerSharePreviewPrevious[hidden],
.flyer-share-preview > #flyerSharePreviewNext[hidden]{display:none !important;}


/* ROCKET V3.554 · DEMO badge border fix (consolidado en V3.555) */
.theme-option[data-demo-locked="true"] .theme-option-badge{border:1px solid rgba(100,116,139,.24)!important;}
html[data-theme="dark"] .theme-option[data-demo-locked="true"] .theme-option-badge{border-color:rgba(148,163,184,.28)!important;}

/* Captaciones: submenu C21 Platinum / C21 Paraguay */
.captaciones-nav-item .captaciones-submenu{min-width:220px}
.captaciones-submenu .nav-link{position:relative}
html[data-sidebar="collapsed"] .captaciones-submenu::before{content:"Captaciones"}
@media(max-width:900px){html:not([data-sidebar="collapsed"]) .captaciones-submenu::before{content:"Captaciones"}}

/* ROCKET V3.563 · Captaciones: etiqueta fija del inventario propio */
.captaciones-platinum-label{font-size:0!important}.captaciones-platinum-label::after{content:"C21 Platinum";font-size:13px;font-weight:inherit;letter-spacing:inherit}

/* V3.566 · Generador Nacional */
.national-closings-card{width:min(620px,calc(100vw - 32px))}.national-period-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.national-period-grid .field{margin:0}@media(max-width:640px){.national-period-grid{grid-template-columns:1fr}}


/* ==========================================================================
   ROCKET V3.567 · Nacional · estándar modal + exportación protegida
   ========================================================================== */
.national-closings-card{width:min(620px,calc(100vw - 32px));overflow:hidden}
.national-closings-card .modal-header{min-height:0;padding:13px 22px 12px;align-items:center}
.national-closings-card .modal-header>div{min-width:0}
.national-closings-card .modal-header h2{line-height:1.2}
.national-closings-card .modal-subtitle{margin:4px 0 0;line-height:1.32}
.national-closings-card .modal-body{padding:14px 22px 3px}
.national-closings-card .national-period-grid{gap:12px}
.national-closings-card .captaciones-import-note{margin-top:10px}
.national-closings-card .captaciones-import-preview{margin-top:10px}
#nationalClosingsMessage{margin:8px 0 0;line-height:1.35}
#nationalClosingsMessage:empty{display:none}
.national-closings-card .modal-actions{padding:8px 22px 15px}
#nationalClosingsMonth option:disabled{color:var(--muted)}
@media(max-width:640px){
  .national-closings-card .modal-header{padding:12px 16px 11px}
  .national-closings-card .modal-body{padding:13px 16px 3px}
  .national-closings-card .modal-actions{padding:8px 16px 14px}
}


/* ROCKET V3.574 · Cierres/Nacional: sin cambios visuales globales; se conservan los estilos V3.573. */

/* ROCKET V3.575 · Cierres/Nacional: enriquecimiento multinivel y persistencia histórica. */


/* ROCKET V3.607 · Visor Flyers · controles 34px centrados + hover temático */
.flyer-gallery-lightbox-close,
.flyer-gallery-lightbox-nav{
  width:34px!important;
  min-width:34px!important;
  height:34px!important;
  padding:0!important;
  display:grid!important;
  place-items:center!important;
  line-height:0!important;
  transition:background-color .14s ease,border-color .14s ease,color .14s ease,box-shadow .14s ease!important;
}
.flyer-gallery-lightbox-nav{font-size:0!important}
.flyer-gallery-lightbox-nav::before{
  content:"";
  display:block;
  width:8px;
  height:8px;
  border:solid currentColor;
  border-width:0 2px 2px 0;
}
.flyer-gallery-lightbox-nav.is-prev::before{transform:rotate(135deg)}
.flyer-gallery-lightbox-nav.is-next::before{transform:rotate(-45deg)}
.flyer-gallery-lightbox-close:hover,
.flyer-gallery-lightbox-nav:hover:not(:disabled){
  border-color:var(--blue)!important;
  background:var(--blue)!important;
  color:#fff!important;
  box-shadow:0 0 0 2px color-mix(in srgb,var(--blue) 18%,transparent)!important;
}
.flyer-gallery-lightbox-close:focus-visible,
.flyer-gallery-lightbox-nav:focus-visible{
  outline:0;
  border-color:var(--blue)!important;
  box-shadow:0 0 0 3px color-mix(in srgb,var(--blue) 25%,transparent)!important;
}

/* ROCKET V3.607 · Visor Flyers · centrado óptico final de navegación */
.flyer-gallery-lightbox-nav{
  position:absolute!important;
}
.flyer-gallery-lightbox-nav::before{
  content:""!important;
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  width:14px!important;
  height:14px!important;
  border:0!important;
  background:currentColor!important;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M8 5l7 7-7 7' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat!important;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M8 5l7 7-7 7' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat!important;
  transform:translate(-50%,-50%)!important;
  transform-origin:center!important;
}
.flyer-gallery-lightbox-nav.is-prev::before{
  transform:translate(-50%,-50%) rotate(180deg)!important;
}
.flyer-gallery-lightbox-nav.is-next::before{
  transform:translate(-50%,-50%)!important;
}


/* ==========================================================================
   ROCKET V3.616 · Confirmación segura de cierre de sesión
   ========================================================================== */
.logout-confirm-card{width:min(420px,100%)}
.logout-confirm-card .modal-header{min-height:58px}
.logout-confirm-copy{margin:0;color:var(--ink);font-size:15px;line-height:1.5}
.logout-confirm-actions{padding-top:8px}
.logout-confirm-actions .button{min-width:120px}


/* ROCKET V3.635 · TOP'S HEADER · gap uniforme real + tres puntos integrados.
   Los controles comparten una sola fila sin huecos internos: el menú de acciones
   forma parte del mismo grupo y conserva exactamente el mismo gap de 10 px. */
@media (min-width: 921px) {
  .workspace-header:has(#topsSearchZone:not([hidden])) .workspace-actions {
    display:none!important;
  }

  .workspace-header:has(#topsSearchZone:not([hidden])) .workspace-search-zone {
    padding-right:20px!important;
  }

  #topsSearchZone:not([hidden]) {
    display:flex!important;
    flex-wrap:nowrap!important;
    align-items:center!important;
    gap:10px!important;
    min-width:0!important;
    width:100%!important;
    flex:1 1 auto!important;
  }

  #topsSearchZone > .advisor-header-filter {
    flex:1 1 0!important;
    width:auto!important;
    min-width:118px!important;
    max-width:none!important;
    height:34px!important;
    min-height:34px!important;
    margin:0!important;
  }

  #topsSearchZone > #topsPeriodFilter,
  #topsSearchZone > #topsTopFilter,
  #topsSearchZone > #topsSegmentFilter {
    flex-grow:1.08!important;
  }

  #topsSearchZone > #topsSegmentFilter[hidden] {
    display:none!important;
  }

  #topsSearchZone > #topsResetFiltersButton {
    flex:0 0 auto!important;
    width:auto!important;
    min-width:96px!important;
    height:34px!important;
    min-height:34px!important;
    margin:0!important;
    padding:0 12px!important;
    box-sizing:border-box!important;
  }

  #topsSearchZone > #headerMoreButton {
    display:inline-grid!important;
    place-items:center!important;
    flex:0 0 34px!important;
    width:34px!important;
    min-width:34px!important;
    height:34px!important;
    margin:0!important;
    padding:0!important;
    border-radius:4px!important;
  }

  #topsSearchZone > #headerMoreButton svg {
    width:13px!important;
    height:3px!important;
  }

}

/* Mes activo: Rocket = azul oficial; Century/Modern = dorado. */
html[data-brand-theme="rocket"] #topsSegmentFilter[data-tops-month-active="true"] {
  appearance: none !important;
  -webkit-appearance: none !important;
  border-color: #0048BE !important;
  background-color: #0055DD !important;
  color: #FFFFFF !important;
  font-weight: 700 !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='m1 1 5 5 5-5' fill='none' stroke='%23ffffff' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 10px center !important;
}
html[data-brand-theme="modern"] #topsSegmentFilter[data-tops-month-active="true"] {
  appearance: none !important;
  -webkit-appearance: none !important;
  border-color: var(--gold-dark) !important;
  background-color: var(--gold) !important;
  color: #FFFFFF !important;
  font-weight: 700 !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='m1 1 5 5 5-5' fill='none' stroke='%23ffffff' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 10px center !important;
}
#topsSegmentFilter[data-tops-month-active="true"] option {
  background: var(--surface) !important;
  color: var(--ink) !important;
}



/* ROCKET V3.640 · Dashboard MOBILE · KPIs compactos en grilla 2×3.
   Regla UX: reducir scroll vertical sin sacrificar legibilidad ni precisión. */
@media (max-width: 620px) {
  .dashboard-kpis {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }

  .dashboard-kpi {
    grid-template-columns: minmax(0, 1fr) 28px !important;
    gap: 6px !important;
    height: 92px !important;
    min-height: 92px !important;
    padding: 10px 9px 9px 11px !important;
    border-radius: 12px !important;
  }

  .dashboard-kpi::before {
    top: 9px !important;
    bottom: 9px !important;
    width: 3px !important;
  }

  .dashboard-kpi-copy {
    align-content: center !important;
    min-width: 0 !important;
  }

  .dashboard-kpi-label {
    font-size: 9.5px !important;
    line-height: 1.1 !important;
  }

  .dashboard-kpi-value {
    margin-top: 3px !important;
    font-size: 22px !important;
    line-height: .98 !important;
    letter-spacing: -.6px !important;
  }

  .dashboard-kpi-value-money {
    font-size: 22px !important;
    line-height: .98 !important;
    letter-spacing: -.6px !important;
    white-space: nowrap !important;
  }

  .dashboard-kpi-meta {
    margin-top: 5px !important;
    max-width: 100% !important;
    font-size: 7.8px !important;
    line-height: 1.15 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  .dashboard-kpi-icon {
    width: 28px !important;
    height: 28px !important;
    border-radius: 9px !important;
  }

  .dashboard-kpi-icon svg {
    width: 15px !important;
    height: 15px !important;
  }
}

@media (max-width: 380px) {
  .dashboard-kpis { gap: 7px !important; }
  .dashboard-kpi {
    grid-template-columns: minmax(0, 1fr) 26px !important;
    height: 90px !important;
    min-height: 90px !important;
    padding: 9px 8px 8px 10px !important;
  }
  .dashboard-kpi-icon { width: 26px !important; height: 26px !important; }
  .dashboard-kpi-icon svg { width: 14px !important; height: 14px !important; }
  .dashboard-kpi-value { font-size: 20px !important; }
  .dashboard-kpi-value-money { font-size: 20px !important; }
  .dashboard-kpi-meta { font-size: 7.4px !important; }
}


/* ROCKET V3.641 · Inventario: WEB conserva USD; MOBILE usa $ para compactar. */
.dashboard-inventory-prefix-mobile{display:none;}
.dashboard-inventory-prefix-web{display:inline;}
@media (max-width:620px){
  .dashboard-inventory-prefix-web{display:none;}
  .dashboard-inventory-prefix-mobile{display:inline;}
}

/* ROCKET V3.654 · WEB: inicio en Dashboard + buscador ID C21 en header.
   El buscador mide 176px: equivalente a 4 accesos de 38px + 3 gaps de 8px. */
@media (min-width:721px){
  .workspace-header:has(#dashboardHeaderActions:not([hidden])) .dashboard-mobile-id-search{flex:0 0 176px;width:176px;max-width:176px}
}

/* ROCKET V3.659 · C21 Geo: media preview + modal alignment */
.dashboard-geo-search{position:relative;display:flex;flex:0 0 176px;width:176px;height:38px;margin:0}
.dashboard-geo-search input{width:100%;min-width:0;height:38px;margin:0;padding:0 32px 0 11px;border:1px solid var(--line);border-radius:11px;outline:0;background:var(--surface);color:var(--ink);font:700 12px/1 var(--font-ui);box-shadow:0 2px 8px rgba(25,43,72,.025);-webkit-appearance:none;appearance:none}
.dashboard-geo-search input::placeholder{color:var(--muted);opacity:1}
.dashboard-geo-search input:focus{border-color:color-mix(in srgb,var(--blue) 58%,var(--line));box-shadow:0 0 0 2px color-mix(in srgb,var(--blue) 14%,transparent)}
.dashboard-geo-search button{position:absolute;top:0;right:0;display:grid;place-items:center;width:32px;height:38px;margin:0;padding:0;border:0;background:transparent;color:var(--muted)}
.dashboard-geo-search button:hover:not(:disabled){color:var(--blue)}
.dashboard-geo-search button svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.dashboard-geo-search.is-loading button svg{animation:rocket-geo-pulse .8s ease-in-out infinite alternate}
@keyframes rocket-geo-pulse{from{opacity:.35;transform:scale(.9)}to{opacity:1;transform:scale(1)}}
.geo-search-card{width:min(980px,100%);overflow:hidden}
.geo-search-card .modal-header{min-height:0;padding:14px 22px 12px;align-items:flex-start}
.geo-search-card .modal-header>div{display:grid;gap:4px;min-width:0;padding-top:0}
.geo-search-card .modal-header h2{margin:0;line-height:1.2}
.geo-search-card .modal-header .modal-subtitle{margin:0;line-height:1.35}
.geo-search-card .modal-header .modal-close{margin-top:0;align-self:flex-start}
.geo-search-body{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,.8fr);gap:18px;min-height:480px}
.geo-search-media{position:relative;display:grid;place-items:center;min-height:440px;overflow:hidden;border:1px solid var(--line);border-radius:10px;background:var(--surface-soft)}
.geo-search-media img{display:block;width:100%;height:100%;min-height:440px;max-height:560px;object-fit:contain;object-position:center;background:var(--surface-soft)}
.geo-search-media img:not([src]),.geo-search-media img.is-error{visibility:hidden}
.geo-search-media:has(img:not([src]))::after,.geo-search-media:has(img.is-error)::after{content:"Imagen no disponible";position:absolute;inset:0;display:grid;place-items:center;color:var(--muted);font-size:12px;font-weight:700}
.geo-search-summary{min-width:0;padding:4px 2px}
.geo-search-id{display:inline-flex;align-items:center;min-height:28px;padding:0 9px;border:1px solid color-mix(in srgb,var(--blue) 42%,var(--line));border-radius:999px;background:color-mix(in srgb,var(--blue) 9%,var(--surface));color:var(--blue-ink);font-size:11px;font-weight:900;letter-spacing:.04em}
.geo-search-summary h3{margin:13px 0 7px;font-size:19px;line-height:1.22;color:var(--ink)}
.geo-search-address{margin:0 0 14px;color:var(--muted);font-size:13px;line-height:1.45}
.geo-search-summary dl{display:grid;gap:0;margin:0;border:1px solid var(--line);border-radius:9px;overflow:hidden}
.geo-search-summary dl>div{display:grid;grid-template-columns:110px minmax(0,1fr);gap:10px;align-items:center;min-height:42px;padding:8px 11px;border-bottom:1px solid var(--line)}
.geo-search-summary dl>div:last-child{border-bottom:0}
.geo-search-summary dt{color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.03em}
.geo-search-summary dd{margin:0;color:var(--ink);font-size:13px;font-weight:800;text-transform:capitalize}
.geo-search-summary small{display:block;margin-top:12px;color:var(--muted);font-size:10px;line-height:1.4}
.geo-search-actions{border-top:1px solid var(--line)}
.geo-search-actions a.button{display:inline-flex;align-items:center;justify-content:center;text-align:center;white-space:nowrap}
@media(max-width:1180px){.dashboard-geo-search{display:none!important}}
@media(max-width:760px){.geo-search-card .modal-header{padding:13px 16px 11px}.geo-search-body{grid-template-columns:1fr;min-height:0}.geo-search-media,.geo-search-media img{min-height:320px}.geo-search-actions{flex-wrap:wrap}.geo-search-actions .button{flex:1 1 auto}}

/* ROCKET V3.662 · C21 Geo: imagen proxy segura para evitar bloqueo de hotlink/CDN. */
.geo-search-media.is-loading::after{content:"Cargando imagen…"!important;position:absolute;inset:0;display:grid;place-items:center;color:var(--muted);font-size:12px;font-weight:700}
.geo-search-media.is-loading img{visibility:hidden!important}


/* ROCKET V3.669 · AMC alineado visualmente con Calculadora y temas */
.amc-view{
  min-height:calc(100vh - var(--header-height));
  padding:0 15px 15px;
  overflow-y:auto;
  background:var(--page);
}
.amc-shell{display:grid;gap:15px;width:100%;margin:0}
.amc-search-card,.amc-subject{
  min-width:0;
  border:1px solid var(--line);
  border-radius:0;
  background:var(--surface);
  box-shadow:0 8px 28px rgba(26,31,38,.05);
}
.amc-search-card{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(330px,460px);
  gap:28px;
  align-items:center;
  padding:20px 22px;
}
.amc-eyebrow,.amc-subject-kicker{
  display:inline-flex;
  align-items:center;
  min-height:25px;
  margin:0 0 10px;
  padding:3px 9px;
  border:1px solid rgba(174,138,71,.55);
  border-radius:0;
  background:rgba(174,138,71,.12);
  color:var(--gold-dark);
  font-size:10px;
  font-weight:800;
  letter-spacing:.45px;
  line-height:1.2;
  text-transform:uppercase;
}
.amc-search-copy h2,.amc-subject-header h2{
  margin:0 0 5px;
  color:var(--ink);
  font-family:var(--font-caption);
  font-size:17px;
  line-height:1.25;
  letter-spacing:.45px;
}
.amc-subject-header h2{font-size:18px}
.amc-search-copy p,.amc-subject-header p{
  margin:0;
  color:var(--muted);
  font-size:12px;
  line-height:1.45;
}
.amc-search-form{display:grid;gap:7px;align-self:stretch;align-content:center}
.amc-search-form>label{font-size:13px;font-weight:700;color:var(--ink)}
.amc-search-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}
.amc-search-row input{
  width:100%;
  min-height:38px;
  padding:8px 10px;
  border:1px solid var(--line);
  border-radius:4px;
  outline:none;
  background:var(--surface);
  color:var(--ink);
  font:inherit;
  font-size:16px;
}
.amc-search-row input:focus{border-color:var(--blue);box-shadow:0 0 0 2px rgba(76,139,247,.14)}
.amc-search-help{margin-top:-1px;color:var(--muted);font-size:11px;line-height:1.4}
.amc-status{
  display:grid;
  gap:3px;
  padding:12px 13px;
  border:1px solid var(--line);
  border-left:3px solid var(--gold);
  border-radius:0;
  background:var(--surface-soft);
  color:var(--ink);
}
.amc-status strong{font-size:12px}.amc-status span{font-size:12px;color:var(--muted)}
.amc-status[data-kind="success"]{border-color:rgba(2,129,90,.38);border-left-color:var(--green);background:rgba(2,129,90,.06)}
.amc-status[data-kind="warning"]{border-color:rgba(174,138,71,.48);border-left-color:var(--gold);background:rgba(174,138,71,.08)}
.amc-status[data-kind="error"]{border-color:rgba(180,35,24,.42);border-left-color:var(--red);background:rgba(180,35,24,.06)}
.amc-subject{overflow:hidden}
.amc-subject-header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:20px;
  padding:20px 22px 16px;
  border-bottom:1px solid var(--line);
}
.amc-subject-badges{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.amc-source-badge,.amc-status-badge{
  display:inline-flex;
  align-items:center;
  min-height:25px;
  padding:3px 9px;
  border:1px solid var(--line);
  border-radius:0;
  background:var(--surface-soft);
  color:var(--ink);
  font-size:10px;
  font-weight:800;
  letter-spacing:.25px;
  white-space:nowrap;
}
.amc-source-badge{border-color:rgba(174,138,71,.55);background:rgba(174,138,71,.12);color:var(--gold-dark)}
.amc-value-strip{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  padding:18px;
  border-bottom:1px solid var(--line);
}
.amc-value-strip>div{
  min-width:0;
  padding:13px 14px;
  border:1px solid var(--line);
  border-radius:0;
  background:var(--surface);
}
.amc-value-strip>div:nth-child(1),.amc-value-strip>div:nth-child(3){border-color:rgba(174,138,71,.6);background:rgba(174,138,71,.08)}
.amc-value-strip span{display:block;margin-bottom:6px;color:var(--muted);font-size:11px;line-height:1.25}
.amc-value-strip strong{display:block;overflow:hidden;color:var(--ink);font-size:17px;font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap}
.amc-data-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  padding:18px;
}
.amc-data-field{
  display:grid;
  gap:4px;
  min-width:0;
  padding:12px 13px;
  border:1px solid var(--line);
  border-radius:0;
  background:var(--surface);
}
.amc-data-field span{font-size:10px;line-height:1.25;color:var(--muted)}
.amc-data-field strong{overflow:hidden;color:var(--ink);font-size:12px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}
.amc-subject-footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:14px 18px;
  border-top:1px solid var(--line);
  background:var(--surface-soft);
}
.amc-next-phase{display:grid;gap:2px}.amc-next-phase strong{font-family:var(--font-caption);font-size:11px;letter-spacing:.35px;text-transform:uppercase;color:var(--ink)}.amc-next-phase span{font-size:11px;color:var(--muted)}
.amc-subject-footer .button{border-color:var(--line);background:transparent}
.amc-subject-footer .button:hover{background:var(--surface-hover)}

html[data-theme="light"][data-brand-theme="rocket"] .amc-eyebrow,
html[data-theme="light"][data-brand-theme="rocket"] .amc-subject-kicker,
html[data-theme="light"][data-brand-theme="rocket"] .amc-source-badge{
  border-color:#0055DD;background:#EAF1FF;color:#0055DD;
}
html[data-theme="light"][data-brand-theme="rocket"] .amc-value-strip>div:nth-child(1),
html[data-theme="light"][data-brand-theme="rocket"] .amc-value-strip>div:nth-child(3){
  border-color:#0055DD;background:#EAF1FF;
}
html[data-theme="light"][data-brand-theme="rocket"] .amc-status{border-left-color:#0055DD}
html[data-theme="light"][data-brand-theme="rocket"] .amc-status[data-kind="success"]{border-left-color:var(--green)}
html[data-theme="light"][data-brand-theme="rocket"] .amc-status[data-kind="warning"]{border-left-color:#0055DD;background:#EAF1FF;border-color:rgba(0,85,221,.45)}

html[data-theme="dark"][data-brand-theme="rocket"] .amc-eyebrow,
html[data-theme="dark"][data-brand-theme="rocket"] .amc-subject-kicker,
html[data-theme="dark"][data-brand-theme="rocket"] .amc-source-badge{
  border-color:#6FA5FF;background:#102A52;color:#9CC0FF;
}
html[data-theme="dark"][data-brand-theme="rocket"] .amc-value-strip>div:nth-child(1),
html[data-theme="dark"][data-brand-theme="rocket"] .amc-value-strip>div:nth-child(3){
  border-color:#0055DD;background:#102A52;
}
html[data-theme="dark"][data-brand-theme="rocket"] .amc-status{border-left-color:#0055DD}
html[data-theme="dark"][data-brand-theme="rocket"] .amc-status[data-kind="success"]{border-color:rgba(2,129,90,.52);border-left-color:#39B98B;background:rgba(2,129,90,.10)}
html[data-theme="dark"][data-brand-theme="rocket"] .amc-status[data-kind="warning"]{border-color:rgba(111,165,255,.42);border-left-color:#0055DD;background:#102A52}
html[data-theme="dark"][data-brand-theme="rocket"] .amc-status[data-kind="error"]{background:rgba(180,35,24,.12)}

@media(max-width:980px){.amc-search-card{grid-template-columns:1fr;gap:16px}.amc-value-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.amc-data-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.amc-view{padding:0 15px 15px}.amc-search-card{padding:18px}.amc-subject-header{padding:18px;flex-direction:column}.amc-subject-badges{justify-content:flex-start}.amc-value-strip,.amc-data-grid{padding:15px}.amc-subject-footer{padding:14px 16px;align-items:flex-start;flex-direction:column}.amc-subject-footer .button{width:100%;justify-content:center}}
@media(max-width:560px){.amc-search-row{grid-template-columns:1fr}.amc-search-row .button{width:100%;justify-content:center}.amc-data-grid,.amc-value-strip{grid-template-columns:1fr}}


/* ROCKET V3.670 · AMC Viewport Fit
   Desktop: aprovecha el alto visible del workspace para mostrar la Fase 1 completa
   sin scroll vertical cuando la pantalla dispone de altura suficiente.
   Mobile/tablet conserva flujo vertical y scroll natural. */
@media (min-width:981px){
  .amc-view{
    padding:0 15px 15px;
  }
  .amc-shell{gap:10px}
  .amc-search-card{
    grid-template-columns:minmax(0,1fr) minmax(330px,430px);
    gap:22px;
    padding:12px 18px;
  }
  .amc-eyebrow,.amc-subject-kicker{
    min-height:22px;
    margin-bottom:6px;
    padding:2px 8px;
  }
  .amc-search-copy h2,.amc-subject-header h2{margin-bottom:3px}
  .amc-search-copy p,.amc-subject-header p{line-height:1.3}
  .amc-search-form{gap:5px}
  .amc-search-row input{min-height:36px;padding:6px 10px}
  .amc-search-help{font-size:10px;line-height:1.25}
  .amc-status{
    gap:1px;
    min-height:44px;
    padding:8px 12px;
    align-content:center;
  }
  .amc-status strong,.amc-status span{line-height:1.25}
  .amc-subject-header{
    gap:16px;
    padding:12px 18px 10px;
  }
  .amc-subject-header h2{font-size:17px}
  .amc-subject-badges{gap:6px}
  .amc-source-badge,.amc-status-badge{min-height:22px;padding:2px 8px}
  .amc-value-strip{
    gap:8px;
    padding:10px 18px;
  }
  .amc-value-strip>div{padding:9px 12px}
  .amc-value-strip span{margin-bottom:3px;font-size:10px}
  .amc-value-strip strong{font-size:15px}
  .amc-data-grid{
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:6px 8px;
    padding:10px 18px;
  }
  .amc-data-field{
    gap:2px;
    min-height:44px;
    padding:7px 10px;
    align-content:center;
  }
  .amc-data-field span{font-size:9px;line-height:1.15}
  .amc-data-field strong{font-size:11px;line-height:1.25}
  .amc-subject-footer{
    gap:14px;
    min-height:44px;
    padding:8px 18px;
  }
  .amc-next-phase{gap:1px}
  .amc-next-phase strong,.amc-next-phase span{font-size:10px}
  .amc-subject-footer .button{min-height:32px;padding-top:5px;padding-bottom:5px}
}

/* En monitores/notebooks con altura útil suficiente, AMC se encaja exactamente
   en el viewport. No se recorta contenido: en alturas menores vuelve el scroll. */
@media (min-width:981px) and (min-height:720px){
  .amc-view{
    height:calc(100vh - 80px);
    min-height:0;
    overflow-y:hidden;
  }
  .amc-shell{
    height:100%;
    min-height:0;
    grid-template-rows:auto auto minmax(0,1fr);
    align-content:start;
  }
  .amc-subject{
    min-height:0;
    display:grid;
    grid-template-rows:auto auto minmax(0,1fr) auto;
  }
  .amc-subject[hidden]{display:none!important}
  .amc-data-grid{
    min-height:0;
    align-content:start;
  }
}

/* Alturas desktop muy ajustadas: densidad adicional antes de recurrir al scroll. */
@media (min-width:981px) and (min-height:720px) and (max-height:790px){
  .amc-search-card{padding:9px 16px}
  .amc-search-copy p{font-size:11px}
  .amc-status{min-height:40px;padding:6px 11px}
  .amc-subject-header{padding:9px 16px 8px}
  .amc-value-strip{padding:8px 16px}
  .amc-value-strip>div{padding:7px 10px}
  .amc-data-grid{gap:5px 7px;padding:8px 16px}
  .amc-data-field{min-height:39px;padding:5px 9px}
  .amc-subject-footer{min-height:39px;padding:6px 16px}
}


/* ROCKET V3.671 · AMC Compact Flow
   El contenido vuelve a determinar la altura real de la propiedad sujeto.
   En desktop se conserva el viewport fit sin estirar artificialmente la tarjeta;
   si una pantalla no alcanza, el scroll aparece sólo como fallback real. */
@media (min-width:981px) and (min-height:720px){
  .amc-view{
    height:calc(100vh - 80px);
    min-height:0;
    overflow-y:auto;
  }
  .amc-shell{
    height:auto;
    min-height:0;
    grid-template-rows:none;
    align-content:start;
  }
  .amc-subject{
    min-height:0;
    display:block;
  }
  .amc-subject[hidden]{display:none!important}
  .amc-data-grid{min-height:0;align-content:start}
}

/* ROCKET V3.671 · Privacidad del Dashboard
   La identidad del usuario permanece visible. Al activar "Ocultar datos" se
   protegen únicamente los valores operativos de los tres bloques indicados:
   Actividad reciente, Próximos seguimientos y Próximas reuniones. */
html[data-private="true"] #dashboardActivityList .dashboard-list-main,
html[data-private="true"] #dashboardActivityList .dashboard-list-time,
html[data-private="true"] #dashboardFollowupList .dashboard-list-main,
html[data-private="true"] #dashboardFollowupList .dashboard-list-time,
html[data-private="true"] #dashboardMeetingsList .dashboard-list-main,
html[data-private="true"] #dashboardMeetingsList .dashboard-list-time{
  filter:blur(6px);
  user-select:none;
}


/* ROCKET V3.672 · AMC Fase 2 · Motor automático de comparables */
.amc-comparables{
  min-width:0;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:0;
  background:var(--surface);
  box-shadow:0 8px 28px rgba(26,31,38,.05);
}
.amc-comparables-header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:20px;
  padding:14px 18px 12px;
  border-bottom:1px solid var(--line);
}
.amc-comparables-header h2{margin:0 0 3px;color:var(--ink);font-family:var(--font-caption);font-size:17px;line-height:1.25;letter-spacing:.45px}
.amc-comparables-header p{margin:0;color:var(--muted);font-size:11px;line-height:1.35}
.amc-comparables-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.amc-comparables-summary{font-size:11px;font-weight:700;color:var(--muted);white-space:nowrap}
.amc-comparables-note{padding:8px 18px;border-bottom:1px solid var(--line);background:var(--surface-soft);color:var(--muted);font-size:10px;line-height:1.35}
/* ROCKET V3.685 · AMC: conserva el look V3.680 y suma Asesor sin scroll horizontal. */
.amc-comparables-table{min-width:0;overflow-x:hidden}
.amc-comparables-head,.amc-comparable-row{
  display:grid;
  grid-template-columns:42px 62px 64px minmax(165px,1.55fr) 82px 100px 100px 70px 96px minmax(105px,.9fr);
  align-items:center;
  column-gap:7px;
  width:100%;
  min-width:0;
}
.amc-comparables-head{min-height:30px;padding:0 14px;border-bottom:1px solid var(--line);background:var(--surface-soft);color:var(--muted);font-size:9px;font-weight:800;letter-spacing:.25px;text-transform:uppercase}
.amc-comparables-list{display:grid}
.amc-comparable-row{min-height:54px;padding:6px 14px;border-bottom:1px solid var(--line);color:var(--ink)}
.amc-comparable-row:last-child{border-bottom:0}
.amc-comparable-row:hover{background:var(--surface-hover)}
.amc-comparable-check{display:grid;place-items:center;cursor:pointer}
.amc-comparable-check input{position:absolute;opacity:0;pointer-events:none}
.amc-comparable-check span{width:18px;height:18px;border:1px solid var(--line);background:var(--surface);display:grid;place-items:center}
.amc-comparable-check input:checked+span{border-color:var(--blue);background:var(--blue)}
.amc-comparable-check input:checked+span::after{content:"✓";color:#fff;font-size:12px;font-weight:900;line-height:1}
.amc-comparable-score{display:grid;gap:1px;align-content:center}
.amc-comparable-score strong{font-size:13px;font-variant-numeric:tabular-nums;color:var(--ink)}
.amc-comparable-score span{font-size:9px;color:var(--muted)}
.amc-comparable-score[data-kind="high"] strong{color:var(--green)}
.amc-comparable-score[data-kind="medium"] strong{color:var(--blue)}
.amc-comparable-score[data-kind="low"] strong{color:var(--muted)}
.amc-comparable-id{color:var(--blue);font-size:11px;font-weight:800;text-decoration:none;white-space:nowrap}
.amc-comparable-id:hover{text-decoration:underline}
.amc-comparable-location,.amc-comparable-metric,.amc-comparable-source,.amc-comparable-advisor{display:grid;gap:1px;min-width:0;align-content:center}
.amc-comparable-location strong,.amc-comparable-metric strong,.amc-comparable-source strong,.amc-comparable-advisor strong,.amc-comparable-advisor a{overflow:hidden;color:var(--ink);font-size:10px;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}
.amc-comparable-location span,.amc-comparable-metric span,.amc-comparable-source span,.amc-comparable-advisor span{overflow:hidden;color:var(--muted);font-size:9px;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}
.amc-comparable-advisor a{color:var(--blue);font-weight:800;text-decoration:none}.amc-comparable-advisor a:hover{text-decoration:underline}
.amc-comparables-empty{display:grid;gap:4px;place-items:center;min-height:130px;padding:20px;text-align:center;color:var(--muted)}
.amc-comparables-empty strong{color:var(--ink);font-size:12px}.amc-comparables-empty span{max-width:620px;font-size:11px;line-height:1.4}
.amc-comparables-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:9px 18px;border-top:1px solid var(--line);background:var(--surface-soft);color:var(--muted);font-size:10px}
.amc-comparables-footer strong{color:var(--ink);font-family:var(--font-caption);font-size:10px;letter-spacing:.25px;text-transform:uppercase;white-space:nowrap}
html[data-theme="light"][data-brand-theme="rocket"] .amc-comparable-score[data-kind="medium"] strong{color:#0055DD}
html[data-theme="dark"][data-brand-theme="rocket"] .amc-comparable-score[data-kind="medium"] strong{color:#6FA5FF}
@media(max-width:980px){.amc-comparables-header{flex-direction:column}.amc-comparables-actions{width:100%;justify-content:space-between}}
@media(max-width:760px){
  .amc-comparables-header{padding:14px 16px 12px}.amc-comparables-note{padding:8px 16px}.amc-comparables-table{overflow:visible}.amc-comparables-head{display:none}.amc-comparables-list{gap:8px;padding:10px 12px}
  .amc-comparable-row{grid-template-columns:34px 66px minmax(0,1fr) 98px;grid-template-areas:"check score location id" "check area price ppm" "check distance source source" "check advisor advisor advisor";min-width:0;min-height:0;gap:7px 9px;padding:10px;border:1px solid var(--line);background:var(--surface)}
  .amc-comparable-check{grid-area:check}.amc-comparable-score{grid-area:score}.amc-comparable-id{grid-area:id;text-align:right}.amc-comparable-location{grid-area:location}.amc-comparable-area{grid-area:area}.amc-comparable-price{grid-area:price}.amc-comparable-ppm{grid-area:ppm}.amc-comparable-distance{grid-area:distance}.amc-comparable-source{grid-area:source}.amc-comparable-advisor{grid-area:advisor}
  .amc-comparables-footer{align-items:flex-start;flex-direction:column;padding:10px 16px}
}


/* ROCKET V3.687 · AMC · scroll vertical único
   El documento/workspace conserva el único scroll vertical. AMC deja de crear
   un segundo contenedor desplazable interno en desktop. */
.amc-view{
  height:auto!important;
  min-height:calc(100vh - var(--header-height));
  overflow-y:visible!important;
  overflow-x:hidden;
}
.amc-shell{height:auto!important;min-height:0}
@media (min-width:981px){
  .amc-view{
    height:auto!important;
    min-height:calc(100vh - 80px)!important;
    overflow-y:visible!important;
  }
}

/* ROCKET V3.687 · AMC Fase 3 · Valoración estadística */
.amc-valuation{min-width:0;overflow:hidden;border:1px solid var(--line);background:var(--surface);box-shadow:0 8px 28px rgba(26,31,38,.05)}
.amc-valuation-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:14px 18px 12px;border-bottom:1px solid var(--line)}
.amc-valuation-header h2{margin:0 0 3px;color:var(--ink);font-family:var(--font-caption);font-size:17px;line-height:1.25;letter-spacing:.45px}
.amc-valuation-header p{margin:0;color:var(--muted);font-size:11px;line-height:1.35}
.amc-valuation-summary{align-self:center;color:var(--muted);font-size:11px;font-weight:800;white-space:nowrap}
.amc-valuation-state{display:grid;gap:3px;min-height:72px;padding:18px;align-content:center;text-align:center;color:var(--muted)}
.amc-valuation-state strong{color:var(--ink);font-size:12px}.amc-valuation-state span{font-size:11px}
.amc-valuation-content{display:grid;gap:0}
.amc-valuation-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:12px 18px;border-bottom:1px solid var(--line)}
.amc-valuation-stats>div{min-width:0;padding:10px 12px;border:1px solid var(--line);background:var(--surface)}
.amc-valuation-stats>div.is-primary{border-color:var(--blue);background:rgba(0,85,221,.08)}
.amc-valuation-stats span,.amc-valuation-range span{display:block;margin-bottom:4px;color:var(--muted);font-size:10px}
.amc-valuation-stats strong{display:block;overflow:hidden;color:var(--ink);font-size:15px;font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap}
.amc-valuation-range{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:12px 18px;border-bottom:1px solid var(--line);background:var(--surface-soft)}
.amc-valuation-range article{min-width:0;padding:12px 14px;border:1px solid var(--line);background:var(--surface)}
.amc-valuation-range article.is-competitive{border-color:var(--blue);box-shadow:inset 0 0 0 1px rgba(0,85,221,.08)}
.amc-valuation-range strong{display:block;color:var(--ink);font-size:18px;font-variant-numeric:tabular-nums}
.amc-valuation-range small{display:block;margin-top:4px;color:var(--muted);font-size:9px;line-height:1.3}
.amc-valuation-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:10px 18px}
.amc-valuation-meta>div{display:grid;gap:2px;min-width:0;padding:9px 12px;border:1px solid var(--line);background:var(--surface)}
.amc-valuation-meta strong{overflow:hidden;color:var(--ink);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.amc-valuation-meta span{color:var(--muted);font-size:9px}
.amc-valuation-method{margin:0;padding:9px 18px;border-top:1px solid var(--line);background:var(--surface-soft);color:var(--muted);font-size:9px;line-height:1.4}
html[data-theme="light"][data-brand-theme="rocket"] .amc-valuation-stats>div.is-primary,html[data-theme="light"][data-brand-theme="rocket"] .amc-valuation-range article.is-competitive{border-color:#0055DD;background:#EAF1FF}
html[data-theme="dark"][data-brand-theme="rocket"] .amc-valuation-stats>div.is-primary,html[data-theme="dark"][data-brand-theme="rocket"] .amc-valuation-range article.is-competitive{border-color:#0055DD;background:#102A52}
@media(max-width:980px){.amc-valuation-header{flex-direction:column}.amc-valuation-summary{align-self:flex-start}.amc-valuation-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.amc-valuation-range,.amc-valuation-meta{grid-template-columns:1fr}.amc-valuation-stats{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.amc-valuation-stats{grid-template-columns:1fr}}



/* ROCKET V3.688 · AMC Fase 4 · Persistencia de borradores */
.amc-valuation-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}
.amc-valuation-actions .button{min-width:124px;white-space:nowrap}
.amc-save-state{margin-top:12px;padding:10px 12px;border:1px solid var(--line);background:var(--surface-2,rgba(255,255,255,.02));display:flex;align-items:center;gap:8px;min-height:42px}
.amc-save-state strong{font-size:12px;color:var(--ink)}
.amc-save-state span{font-size:12px;color:var(--muted)}
.amc-save-state[data-kind="success"]{border-color:rgba(38,199,121,.35);background:rgba(38,199,121,.07)}
.amc-save-state[data-kind="success"] strong{color:#4ade80}
.amc-save-state[data-kind="warning"]{border-color:rgba(245,158,11,.35);background:rgba(245,158,11,.07)}
.amc-save-state[data-kind="warning"] strong{color:#fbbf24}
.amc-save-state[data-kind="info"]{border-color:rgba(37,99,235,.35);background:rgba(37,99,235,.07)}
@media(max-width:760px){.amc-valuation-actions{width:100%;justify-content:space-between}.amc-valuation-actions .button{min-width:0}.amc-save-state{align-items:flex-start;flex-direction:column;gap:3px}}


/* V3.694 · Dashboard: vista administrativa "Ver como" · ubicación + nombres canónicos */
.dashboard-view-as-wrap{position:relative;flex:0 0 auto}
.dashboard-view-as-button[data-active="true"]{border-color:color-mix(in srgb,var(--blue) 42%,var(--line));background:var(--blue-soft);color:var(--blue)}
.dashboard-view-as-popover{position:absolute;z-index:220;top:calc(100% + 7px);right:0;width:min(330px,calc(100vw - 30px));padding:8px;border:1px solid var(--line);border-radius:11px;background:var(--surface);box-shadow:var(--shadow-panel)}
.dashboard-view-as-head{display:grid;gap:2px;padding:5px 7px 8px}.dashboard-view-as-head strong{font-size:12px;color:var(--ink)}.dashboard-view-as-head small{font-size:10px;color:var(--muted)}
.dashboard-view-as-search{display:block;padding:0 3px 7px}.dashboard-view-as-search input{width:100%;height:34px;padding:0 10px;border:1px solid var(--line);border-radius:8px;background:var(--surface-2,var(--surface));color:var(--ink);font:inherit;font-size:11px;outline:none}.dashboard-view-as-search input:focus{border-color:var(--blue);box-shadow:0 0 0 2px color-mix(in srgb,var(--blue) 14%,transparent)}
.dashboard-view-as-list{display:grid;gap:3px;max-height:min(420px,calc(100vh - 190px));overflow-y:auto;padding:1px 2px 2px}
.dashboard-view-as-item{display:grid;grid-template-columns:32px minmax(0,1fr) 20px;align-items:center;gap:8px;width:100%;min-height:44px;padding:6px 7px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--ink);text-align:left}
.dashboard-view-as-item:hover{background:var(--surface-hover)}.dashboard-view-as-item[data-selected="true"]{border-color:color-mix(in srgb,var(--blue) 30%,var(--line));background:var(--blue-soft)}
.dashboard-view-as-avatar{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:color-mix(in srgb,var(--blue) 12%,var(--surface));color:var(--blue);font-size:10px;font-weight:900;letter-spacing:.2px}
.dashboard-view-as-copy{min-width:0}.dashboard-view-as-copy strong,.dashboard-view-as-copy small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-view-as-copy strong{font-size:11px}.dashboard-view-as-copy small{margin-top:2px;color:var(--muted);font-size:9px}
.dashboard-view-as-check{visibility:hidden;color:var(--blue);font-size:13px;font-weight:900;text-align:center}.dashboard-view-as-item[data-selected="true"] .dashboard-view-as-check{visibility:visible}.dashboard-view-as-empty{padding:14px 10px;color:var(--muted);font-size:10px;text-align:center}
.dashboard-view-as-banner{display:inline-flex;align-items:center;gap:8px;flex:0 1 auto;width:max-content;max-width:270px;height:37px;box-sizing:border-box;margin:0;padding:3px 4px 3px 8px;border:1px solid color-mix(in srgb,var(--blue) 25%,var(--line));border-radius:11px;background:var(--blue-soft);color:var(--ink);font-size:10px}
.dashboard-view-as-banner span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-view-as-banner strong{color:var(--blue)}.dashboard-view-as-banner button{height:29px;padding:0 8px;border:0;border-radius:8px;background:var(--surface);color:var(--blue);font-size:9px;font-weight:800;white-space:nowrap}.dashboard-view-as-banner button:hover{background:var(--surface-hover)}
@media(max-width:620px){.dashboard-view-as-popover{position:fixed;top:72px;right:12px;left:12px;width:auto}.dashboard-period-row{flex-wrap:wrap}.dashboard-view-as-banner{order:-1;width:100%;max-width:none;justify-content:space-between}.dashboard-view-as-banner span{max-width:none}.dashboard-view-as-copy small{max-width:210px}}

/* V3.697 · Dashboard Admin · contraste exclusivo Dark Rocket para “Viendo como” */
html[data-theme="dark"][data-brand-theme="rocket"] .dashboard-view-as-banner{
  color:#fff;
}
html[data-theme="dark"][data-brand-theme="rocket"] .dashboard-view-as-banner span{
  color:#fff;
}
html[data-theme="dark"][data-brand-theme="rocket"] .dashboard-view-as-banner strong{
  color:#fff;
  font-weight:900;
}
html[data-theme="dark"][data-brand-theme="rocket"] .dashboard-view-as-banner button{
  background:#0055DD;
  color:#fff;
}
html[data-theme="dark"][data-brand-theme="rocket"] .dashboard-view-as-banner button:hover{
  background:#0048BE;
  color:#fff;
}

/* V3.700 · Recordatorios generales con hora de finalización */
.general-reminder-schedule{display:grid;grid-template-columns:minmax(0,1.25fr) repeat(2,minmax(0,1fr));gap:14px}
@media(max-width:720px){.general-reminder-schedule{grid-template-columns:1fr}}


/* ========================================================================== 
   ROCKET V3.719 · Productividad + Top's + Dashboard MOBILE/PWA
   - Productividad inicia ordenada por % Centurión (lógica en rocket-app.js).
   - Top's usa anchos proporcionales, sin estirar los dropdowns a toda la fila.
   - Dashboard MOBILE/PWA eleva Actualizar / Ver como sobre la barra de período.
   ========================================================================== */
@media (min-width: 921px) {
  #topsSearchZone:not([hidden]) {
    justify-content: flex-end !important;
  }
  #topsSearchZone > #topsYearFilter {
    flex: 0 0 138px !important;
    width: 138px !important;
    min-width: 138px !important;
    max-width: 138px !important;
  }
  #topsSearchZone > #topsPeriodFilter {
    flex: 0 0 190px !important;
    width: 190px !important;
    min-width: 190px !important;
    max-width: 190px !important;
  }
  #topsSearchZone > #topsTopFilter {
    flex: 0 0 210px !important;
    width: 210px !important;
    min-width: 210px !important;
    max-width: 210px !important;
  }
  #topsSearchZone > #topsSegmentFilter:not([hidden]) {
    flex: 0 0 190px !important;
    width: 190px !important;
    min-width: 190px !important;
    max-width: 190px !important;
  }
}

@media (max-width: 620px) {
  body.rocket-mobile-crm-context #dashboardView .dashboard-hero {
    position: relative !important;
  }
  body.rocket-mobile-crm-context #dashboardView .dashboard-period-row {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow: visible !important;
    margin-top: 2px !important;
  }
  body.rocket-mobile-crm-context #dashboardView .dashboard-period {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scrollbar-width: none !important;
  }
  body.rocket-mobile-crm-context #dashboardView .dashboard-period::-webkit-scrollbar {
    display: none !important;
  }
  body.rocket-mobile-crm-context #dashboardView #dashboardRefresh {
    position: absolute !important;
    z-index: 8 !important;
    top: -43px !important;
    right: 0 !important;
    width: 35px !important;
    height: 35px !important;
  }
  body.rocket-mobile-crm-context #dashboardView #dashboardViewAsWrap:not([hidden]) {
    position: absolute !important;
    z-index: 9 !important;
    top: -43px !important;
    right: 0 !important;
  }
  body.rocket-mobile-crm-context #dashboardView .dashboard-period-row:has(#dashboardViewAsWrap:not([hidden])) #dashboardRefresh {
    right: 41px !important;
  }
  body.rocket-mobile-crm-context #dashboardView .dashboard-view-as-wrap .dashboard-view-as-button {
    width: 35px !important;
    height: 35px !important;
  }
  body.rocket-mobile-crm-context #dashboardView .dashboard-view-as-banner:not([hidden]) {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 6px !important;
  }
}


/* ==========================================================================
   ROCKET V3.720 · Dashboard PWA
   - Selector de período ocupa todo el ancho útil de la sección.
   - Actualizar / Cambiar vista se alinean con el borde derecho de las tarjetas.
   - "Cambiar vista" respeta el ancho útil del workspace móvil y suma cierre X.
   ========================================================================== */
.dashboard-view-as-head{position:relative}
.dashboard-view-as-close{
  display:none;
  place-items:center;
  width:31px;
  height:31px;
  padding:0;
  border:1px solid var(--line);
  border-radius:9px;
  background:var(--surface);
  color:var(--muted);
}
.dashboard-view-as-close:hover{background:var(--surface-hover);color:var(--ink)}
.dashboard-view-as-close svg{
  width:16px;
  height:16px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

@media (max-width: 620px) {
  body.rocket-mobile-crm-context #dashboardView .dashboard-hero{
    width:100% !important;
    min-width:0 !important;
    grid-template-columns:minmax(0,1fr) !important;
    justify-items:stretch !important;
    align-items:stretch !important;
  }
  body.rocket-mobile-crm-context #dashboardView .dashboard-hero-copy{
    width:100% !important;
    min-width:0 !important;
  }
  body.rocket-mobile-crm-context #dashboardView .dashboard-period-row{
    justify-self:stretch !important;
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
  }
  body.rocket-mobile-crm-context #dashboardView .dashboard-period{
    display:grid !important;
    grid-template-columns:repeat(6,minmax(0,1fr)) !important;
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
    overflow:visible !important;
  }
  body.rocket-mobile-crm-context #dashboardView .dashboard-period > button{
    width:100% !important;
    min-width:0 !important;
    padding-left:3px !important;
    padding-right:3px !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }

  body.rocket-mobile-crm-context #dashboardView .dashboard-view-as-popover{
    position:fixed !important;
    top:calc(var(--header-height) + 12px) !important;
    left:calc(var(--sidebar-width) + 12px) !important;
    right:12px !important;
    width:auto !important;
    min-width:0 !important;
    max-width:none !important;
    max-height:calc(100dvh - var(--header-height) - 24px) !important;
    box-sizing:border-box !important;
    padding:10px !important;
    overflow:hidden !important;
    border-radius:14px !important;
  }
  body.rocket-mobile-crm-context #dashboardView .dashboard-view-as-head{
    min-height:39px !important;
    padding:5px 42px 9px 7px !important;
  }
  body.rocket-mobile-crm-context #dashboardView .dashboard-view-as-close{
    position:absolute !important;
    top:3px !important;
    right:3px !important;
    display:grid !important;
  }
  body.rocket-mobile-crm-context #dashboardView .dashboard-view-as-search{
    padding:0 3px 8px !important;
  }
  body.rocket-mobile-crm-context #dashboardView .dashboard-view-as-search input{
    font-size:16px !important;
  }
  body.rocket-mobile-crm-context #dashboardView .dashboard-view-as-list{
    max-height:calc(100dvh - var(--header-height) - 154px) !important;
    overscroll-behavior:contain !important;
  }
}


/* ROCKET V3.725 · DEMO controls + paused status */
.invitation-status[data-status="demo_paused"]{background:rgba(99,102,241,.11);color:#4f46e5;border-color:rgba(99,102,241,.26)}
#invitationsView .invitation-demo-actions{gap:6px;align-items:center;overflow:visible}
#invitationsView .invitation-demo-extend-menu{position:relative;display:inline-flex;z-index:2}
#invitationsView .invitation-demo-extend-trigger{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:92px;height:29px;padding:0 9px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--ink);font:inherit;font-size:10px;font-weight:800;line-height:1;cursor:pointer;transition:border-color .16s ease,background .16s ease,color .16s ease}
#invitationsView .invitation-demo-extend-trigger svg{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:1.8;transition:transform .16s ease}
#invitationsView .invitation-demo-extend-menu[data-open="true"]{z-index:40}
#invitationsView .invitation-demo-extend-menu[data-open="true"] .invitation-demo-extend-trigger{border-color:var(--brand);background:color-mix(in srgb,var(--brand) 10%,var(--surface));color:var(--brand)}
#invitationsView .invitation-demo-extend-menu[data-open="true"] .invitation-demo-extend-trigger svg{transform:rotate(180deg)}
#invitationsView .invitation-demo-extend-trigger:hover{border-color:var(--brand);background:var(--surface-hover);color:var(--brand)}
#invitationsView .invitation-demo-extend-popover{position:fixed;right:auto;top:auto;left:auto;z-index:10080;box-sizing:border-box;min-width:132px;padding:5px;border:1px solid var(--line);border-radius:9px;background:var(--surface);box-shadow:0 14px 34px rgba(5,18,38,.24)}
#invitationsView .invitation-demo-extend-popover[hidden]{display:none}
#invitationsView .invitation-demo-extend-popover button{display:flex;width:100%;min-height:31px;align-items:center;padding:6px 9px;border:0;border-radius:6px;background:transparent;color:var(--ink);font:inherit;font-size:10px;font-weight:800;text-align:left;cursor:pointer}
#invitationsView .invitation-demo-extend-popover button:hover,#invitationsView .invitation-demo-extend-popover button:focus-visible{outline:none;background:color-mix(in srgb,var(--brand) 12%,var(--surface));color:var(--brand)}
html[data-theme="dark"] #invitationsView .invitation-demo-extend-popover{box-shadow:0 16px 38px rgba(0,0,0,.42)}
html[data-theme="dark"] .invitation-status[data-status="demo_paused"]{background:rgba(99,102,241,.18);color:#a5b4fc;border-color:rgba(129,140,248,.32)}
@media(max-width:820px){#invitationsView .invitation-demo-actions{flex-wrap:wrap}#invitationsView .invitation-demo-extend-trigger{font-size:11px;min-width:104px}#invitationsView .invitation-demo-extend-popover{min-width:140px}}


/* ==========================================================================
   ROCKET V3.726 · TOP'S · ancho uniforme de filtros WEB
   Todos los selectores del header usan como referencia el ancho del filtro Año.
   Incluye Año, Periodo (Anual/Mes a mes), Top y Mes específico cuando aparece.
   ========================================================================== */
@media (min-width: 921px) {
  #topsSearchZone > #topsYearFilter,
  #topsSearchZone > #topsPeriodFilter,
  #topsSearchZone > #topsTopFilter,
  #topsSearchZone > #topsSegmentFilter:not([hidden]) {
    flex: 0 0 138px !important;
    width: 138px !important;
    min-width: 138px !important;
    max-width: 138px !important;
  }
}


/* ROCKET V3.728 · Menú Broker → Fee + DEMO dropdown tematizado. */
.fee-search-zone{gap:10px}
.fee-search-zone #feeYearFilter{width:138px;min-width:138px}
.fee-header-button{height:30px;min-height:30px;padding:0 13px;border-color:var(--line);font-size:11px;font-weight:800}
.fee-view{box-sizing:border-box;padding:15px;overflow:auto}
.fee-dashboard{display:flex;min-height:100%;flex-direction:column;gap:12px}
.fee-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.fee-kpi{box-sizing:border-box;min-height:88px;padding:13px 15px;border:1px solid var(--line);border-radius:11px;background:var(--surface)}
.fee-kpi span{display:block;color:var(--muted);font-size:10px;font-weight:900;letter-spacing:.06em}
.fee-kpi strong{display:block;margin-top:6px;color:var(--brand);font-size:22px;line-height:1;font-variant-numeric:tabular-nums}
.fee-kpi small{display:block;margin-top:7px;color:var(--muted);font-size:10px}
.fee-period-card{overflow:hidden;border:1px solid var(--line);border-radius:11px;background:var(--surface)}
.fee-period-header{display:flex;min-height:52px;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;border-bottom:1px solid var(--line)}
.fee-period-header>div{display:flex;flex-direction:column;gap:3px}.fee-period-header strong{font-size:13px}.fee-period-header small{color:var(--muted);font-size:10px}
.fee-cloud-pill{display:inline-flex;align-items:center;justify-content:center;padding:4px 8px;border:1px solid color-mix(in srgb,var(--brand) 35%,var(--line));border-radius:999px;background:color-mix(in srgb,var(--brand) 10%,var(--surface));color:var(--brand);font-size:9px;font-weight:900;letter-spacing:.05em;text-transform:uppercase}
.fee-table-wrap{overflow:auto}.fee-table{width:100%;border-collapse:collapse;table-layout:fixed}.fee-table th,.fee-table td{height:38px;padding:7px 12px;border-bottom:1px solid var(--line);font-size:11px;text-align:left}.fee-table thead th{color:var(--muted);font-size:9px;font-weight:900;letter-spacing:.07em;text-transform:uppercase}.fee-table th:nth-child(n+2),.fee-table td:nth-child(n+2){text-align:center}.fee-table tbody tr:hover{background:var(--surface-hover)}.fee-table tfoot th{border-bottom:0;background:color-mix(in srgb,var(--brand) 4%,var(--surface));font-weight:900}.fee-money{font-variant-numeric:tabular-nums;font-weight:800}.fee-na{color:var(--muted)}
.fee-detail-button{height:27px;padding:0 9px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--brand);font:inherit;font-size:10px;font-weight:800;cursor:pointer}.fee-detail-button:hover{border-color:var(--brand);background:color-mix(in srgb,var(--brand) 9%,var(--surface))}
.fee-note{margin:0;padding:0 4px;color:var(--muted);font-size:10px;line-height:1.45}
.fee-detail-overlay{position:fixed;inset:0;z-index:10050;display:flex;align-items:center;justify-content:center;padding:22px;background:rgba(4,13,27,.62);backdrop-filter:blur(4px)}
.fee-detail-modal{box-sizing:border-box;width:min(1050px,calc(100vw - 44px));max-height:min(760px,calc(100dvh - 44px));overflow:auto;border:1px solid var(--line);border-radius:14px;background:var(--surface);color:var(--ink);box-shadow:0 30px 90px rgba(0,0,0,.34)}
.fee-detail-header{position:sticky;top:0;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 17px;border-bottom:1px solid var(--line);background:var(--surface)}
.fee-detail-header h2{margin:0;font-size:16px}.fee-detail-header p{margin:4px 0 0;color:var(--muted);font-size:10px}.fee-detail-close{position:static;flex:0 0 auto}
.fee-detail-register{display:grid;grid-template-columns:minmax(170px,1.25fr) 150px 120px minmax(180px,1.4fr) auto;gap:10px;align-items:end;padding:14px 17px;border-bottom:1px solid var(--line)}.fee-detail-register label{display:flex;min-width:0;flex-direction:column;gap:5px;color:var(--muted);font-size:9px;font-weight:800}.fee-detail-input{box-sizing:border-box;width:100%;height:32px;padding:5px 8px;border:1px solid var(--line);border-radius:7px;background:var(--surface-soft,var(--surface));color:var(--ink);font:inherit;font-size:11px}.fee-detail-input:focus{outline:2px solid color-mix(in srgb,var(--brand) 28%,transparent);border-color:var(--brand)}
.fee-detail-table-wrap{overflow:auto;padding:0 17px 17px}.fee-detail-table{width:100%;min-width:850px;border-collapse:collapse;table-layout:fixed}.fee-detail-table th,.fee-detail-table td{padding:7px 7px;border-bottom:1px solid var(--line);font-size:10px;text-align:left;vertical-align:middle}.fee-detail-table th{color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.05em}.fee-detail-table td:first-child,.fee-detail-table th:first-child{text-align:center;width:38px}.fee-detail-table td:nth-child(3),.fee-detail-table th:nth-child(3){width:120px}.fee-detail-table td:nth-child(5),.fee-detail-table th:nth-child(5){width:110px}.fee-detail-table td:last-child,.fee-detail-table th:last-child{width:150px}.fee-detail-observation{text-align:left}.fee-row-save,.fee-row-delete{height:27px;padding:0 8px;border-radius:6px;font:inherit;font-size:9px;font-weight:850;cursor:pointer}.fee-row-save{border:1px solid var(--line);background:var(--surface);color:var(--brand)}.fee-row-save:hover{border-color:var(--brand);background:color-mix(in srgb,var(--brand) 9%,var(--surface))}.fee-row-delete{margin-left:5px;border:1px solid color-mix(in srgb,#dc2626 48%,var(--line));background:transparent;color:#ef4444}.fee-row-delete:hover{background:rgba(220,38,38,.09)}
@media(max-width:900px){.fee-view{padding:0}.fee-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.fee-dashboard{gap:9px}.fee-period-card,.fee-kpi{border-radius:10px}.fee-detail-overlay{padding:10px 8px 10px calc(var(--sidebar-width,76px) + 8px)}.fee-detail-modal{width:100%;max-height:calc(100dvh - 20px)}.fee-detail-register{grid-template-columns:1fr 1fr}.fee-detail-register label:nth-child(4){grid-column:1/-1}.fee-detail-register .button{grid-column:1/-1}.fee-detail-input{font-size:16px}.fee-search-zone{gap:8px}.fee-search-zone #feeYearFilter{min-width:110px;width:110px}.fee-header-button{padding:0 10px}}


/* ==========================================================================
   ROCKET V3.729 · FEE WEB · header alineado + altura útil sin scroll global
   - Elimina el doble margen superior (80px global + 15px interno).
   - Mantiene 15px reales entre header y contenido, alineado con el manual.
   - Los controles del header llegan al borde derecho útil del módulo.
   - El contenido mensual se adapta a la altura disponible sin forzar scroll
     vertical del workspace en escritorio.
   ========================================================================== */
@media (min-width: 901px) {
  .workspace-header:has(#feeSearchZone:not([hidden])) .workspace-actions {
    display: none !important;
  }

  #feeSearchZone:not([hidden]) {
    display: flex !important;
    flex: 1 1 auto !important;
    width: 100% !important;
    min-width: 0 !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 10px !important;
    padding-left: 15px !important;
    padding-right: 15px !important;
  }

  .workspace-body:has(#feeView:not([hidden])) {
    box-sizing: border-box !important;
    height: 100vh !important;
    min-height: 100vh !important;
    padding-top: var(--header-height) !important;
    overflow: hidden !important;
  }

  .workspace-body:has(#feeView:not([hidden])) > #feeView.fee-view {
    box-sizing: border-box !important;
    height: calc(100vh - var(--header-height)) !important;
    min-height: 0 !important;
    padding: 15px !important;
    overflow: hidden !important;
  }

  #feeView .fee-dashboard {
    height: 100% !important;
    min-height: 0 !important;
  }

  #feeView .fee-period-card {
    display: flex !important;
    min-height: 0 !important;
    flex: 1 1 auto !important;
    flex-direction: column !important;
  }

  #feeView .fee-table-wrap {
    min-height: 0 !important;
    flex: 1 1 auto !important;
    overflow: auto !important;
  }

  #feeView .fee-table {
    height: 100% !important;
  }

  #feeView .fee-table th,
  #feeView .fee-table td {
    height: auto !important;
    padding-top: 5px !important;
    padding-bottom: 5px !important;
  }
}


/* ==========================================================================
   ROCKET V3.730 · FEE WEB · controles uniformes + Azul Rocket
   - Mantiene 15 px de margen derecho útil fijado en V3.729.
   - Año / Actualizar / Exportar CSV comparten el ancho estándar de Top's: 138 px.
   - Los tres controles usan Azul Rocket para conservar contraste en Dark Rocket.
   ========================================================================== */
@media (min-width: 901px) {
  #feeSearchZone > #feeYearFilter,
  #feeSearchZone > #feeRefreshButton,
  #feeSearchZone > #feeExportButton {
    box-sizing: border-box !important;
    flex: 0 0 138px !important;
    width: 138px !important;
    min-width: 138px !important;
    max-width: 138px !important;
    height: 30px !important;
    min-height: 30px !important;
    max-height: 30px !important;
    margin: 0 !important;
  }

  #feeSearchZone > #feeYearFilter,
  #feeSearchZone > .fee-header-button {
    border-color: #0048BE !important;
    background-color: #0055DD !important;
    color: #fff !important;
    font-family: var(--font-ui) !important;
    font-size: 13px !important;
    font-weight: 700 !important;
  }

  #feeSearchZone > #feeYearFilter {
    appearance: none !important;
    -webkit-appearance: none !important;
    padding: 0 34px 0 12px !important;
    line-height: 28px !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='m1 1 5 5 5-5' fill='none' stroke='%23ffffff' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 11px center !important;
    background-size: 12px 8px !important;
  }

  #feeSearchZone > #feeRefreshButton,
  #feeSearchZone > #feeExportButton {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 12px !important;
    white-space: nowrap !important;
  }

  #feeSearchZone > #feeYearFilter:hover,
  #feeSearchZone > .fee-header-button:hover:not(:disabled) {
    border-color: #003FAF !important;
    background-color: #0048BE !important;
    color: #fff !important;
  }

  #feeSearchZone > #feeYearFilter:focus,
  #feeSearchZone > #feeYearFilter:focus-visible,
  #feeSearchZone > .fee-header-button:focus-visible {
    outline: 0 !important;
    border-color: #003FAF !important;
    box-shadow: 0 0 0 3px rgba(0,85,221,.22) !important;
  }
}

/* ==========================================================================
   ROCKET V3.731 · MENÚ BROKER · headers Cierres + Asesores uniformes
   Regla piloto para unificar progresivamente todos los headers Broker:
   - 15 px exactos al borde derecho útil del header.
   - 10 px exactos entre controles/chips/botones visibles.
   - Sin hueco adicional antes del menú de tres puntos.
   - Alcance inicial: Cierres y Asesores WEB.
   ========================================================================== */
@media (min-width: 921px) {
  /* El bloque de filtros/búsqueda llega hasta el grupo de acciones sin el
     padding derecho global de 20 px; el gap de unión lo aporta Actions = 10px. */
  .workspace-header:has(#closingSearchZone:not([hidden])) #closingSearchZone,
  .workspace-header:has(#advisorSearchZone:not([hidden])) #advisorSearchZone {
    gap: 10px !important;
    padding-right: 0 !important;
  }

  /* Evita sumar margins heredados a los 10 px del gap del contenedor. */
  #closingSearchZone:not([hidden]) > #closingFilterToggle,
  #closingSearchZone:not([hidden]) > #closingResetFiltersButton,
  #closingSearchZone:not([hidden]) > .search-input-wrap,
  #advisorSearchZone:not([hidden]) > #advisorCategoryFilter,
  #advisorSearchZone:not([hidden]) > #advisorStatusFilter,
  #advisorSearchZone:not([hidden]) > #advisorResetFiltersButton,
  #advisorSearchZone:not([hidden]) > .search-input-wrap {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }

  /* Acciones del extremo derecho: 10 px entre cada control y 15 px al borde. */
  .workspace-header:has(#closingSearchZone:not([hidden])) .workspace-actions,
  .workspace-header:has(#advisorSearchZone:not([hidden])) .workspace-actions {
    min-width: 0 !important;
    gap: 10px !important;
    padding-left: 10px !important;
    padding-right: 15px !important;
  }

  .workspace-header:has(#closingSearchZone:not([hidden])) .workspace-actions > :is(
    #headerMoreButton,
    #bulkDeleteClosingsButton,
    #newClosingButton
  ),
  .workspace-header:has(#advisorSearchZone:not([hidden])) .workspace-actions > :is(
    #headerMoreButton,
    #bulkDeleteAdvisorsButton,
    #newAdvisorButton
  ) {
    margin: 0 !important;
  }
}


/* ==========================================================================
   ROCKET V3.732 · MENÚ BROKER · headers Productividad + Top's + Seprelad
   Continúa el estándar visual validado en V3.731:
   - 15 px exactos al borde derecho útil del header.
   - 10 px exactos entre controles/chips/botones visibles.
   - Sin huecos heredados antes del menú de tres puntos.
   - Alcance: WEB; MOBILE/PWA conserva su comportamiento actual.
   ========================================================================== */
@media (min-width: 921px) {
  /* Productividad y Seprelad: filtros/buscador llegan compactos hasta Actions. */
  .workspace-header:has(#productivitySearchZone:not([hidden])) #productivitySearchZone,
  .workspace-header:has(#sepreladSearchZone:not([hidden])) #sepreladSearchZone {
    gap: 10px !important;
    padding-right: 0 !important;
  }

  #productivitySearchZone:not([hidden]) > #productivityYearFilter,
  #productivitySearchZone:not([hidden]) > #productivityCategoryFilter,
  #productivitySearchZone:not([hidden]) > #productivityResetFiltersButton,
  #productivitySearchZone:not([hidden]) > .search-input-wrap,
  #sepreladSearchZone:not([hidden]) > #sepreladYearFilter,
  #sepreladSearchZone:not([hidden]) > #sepreladStatusFilter,
  #sepreladSearchZone:not([hidden]) > #sepreladResetFiltersButton,
  #sepreladSearchZone:not([hidden]) > .search-input-wrap {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }

  .workspace-header:has(#productivitySearchZone:not([hidden])) .workspace-actions,
  .workspace-header:has(#sepreladSearchZone:not([hidden])) .workspace-actions {
    min-width: 0 !important;
    gap: 10px !important;
    padding-left: 10px !important;
    padding-right: 15px !important;
  }

  .workspace-header:has(#productivitySearchZone:not([hidden])) .workspace-actions > #headerMoreButton,
  .workspace-header:has(#sepreladSearchZone:not([hidden])) .workspace-actions > #headerMoreButton {
    margin: 0 !important;
  }

  /* Top's integra el botón de tres puntos dentro de su propio toolbar. */
  .workspace-header:has(#topsSearchZone:not([hidden])) .workspace-search-zone {
    padding-right: 15px !important;
  }

  #topsSearchZone:not([hidden]) {
    justify-content: flex-end !important;
    gap: 10px !important;
  }

  #topsSearchZone:not([hidden]) > #topsYearFilter,
  #topsSearchZone:not([hidden]) > #topsPeriodFilter,
  #topsSearchZone:not([hidden]) > #topsTopFilter,
  #topsSearchZone:not([hidden]) > #topsSegmentFilter:not([hidden]),
  #topsSearchZone:not([hidden]) > #topsResetFiltersButton,
  #topsSearchZone:not([hidden]) > #headerMoreButton {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
}


/* ==========================================================================
   ROCKET V3.733 · MENÚ BROKER · Pago de Comisiones + Gastos + More a la derecha
   Continúa el estándar de headers Broker:
   - 15 px exactos al borde derecho útil.
   - 10 px exactos entre controles visibles.
   - El botón de tres puntos, cuando existe, siempre queda como último control.
   - Alcance WEB; MOBILE/PWA conserva su comportamiento actual.
   ========================================================================== */
@media (min-width: 921px) {
  /* Pago de Comisiones no usa acciones rápidas: el toolbar ocupa el ancho útil
     completo y termina exactamente a 15 px del borde derecho. */
  .workspace-header:has(#commissionsSearchZone:not([hidden])) .workspace-actions {
    display: none !important;
  }

  .workspace-header:has(#commissionsSearchZone:not([hidden])) #commissionsSearchZone {
    display: flex !important;
    flex: 1 1 auto !important;
    width: 100% !important;
    min-width: 0 !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 10px !important;
    padding-left: 15px !important;
    padding-right: 15px !important;
  }

  #commissionsSearchZone:not([hidden]) > #commissionsYearFilter,
  #commissionsSearchZone:not([hidden]) > #commissionsMonthFilter,
  #commissionsSearchZone:not([hidden]) > #commissionsResetFiltersButton,
  #commissionsSearchZone:not([hidden]) > .search-input-wrap {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }

  /* Gastos: filtros compactos + acciones a 10 px + borde final de 15 px. */
  .workspace-header:has(#expensesSearchZone:not([hidden])) #expensesSearchZone {
    gap: 10px !important;
    padding-right: 0 !important;
  }

  #expensesSearchZone:not([hidden]) > #expensesYearFilter,
  #expensesSearchZone:not([hidden]) > #expensesMonthFilter,
  #expensesSearchZone:not([hidden]) > #expensesResetFiltersButton,
  #expensesSearchZone:not([hidden]) > .search-input-wrap {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }

  .workspace-header:has(#expensesSearchZone:not([hidden])) .workspace-actions {
    min-width: 0 !important;
    gap: 10px !important;
    padding-left: 10px !important;
    padding-right: 15px !important;
  }

  .workspace-header:has(#expensesSearchZone:not([hidden])) .workspace-actions > :is(
    #bulkDeleteExpensesButton,
    #newExpenseButton,
    #headerMoreButton
  ) {
    margin: 0 !important;
  }

  /* Regla Menú Broker: More siempre es el último control visible del header.
     Top's ya lo contiene dentro de su propio toolbar; Cierres, Asesores y Gastos
     lo resuelven por orden visual sin alterar la lógica de cada acción. */
  .workspace-header:has(#closingSearchZone:not([hidden])) .workspace-actions > #headerMoreButton,
  .workspace-header:has(#advisorSearchZone:not([hidden])) .workspace-actions > #headerMoreButton,
  .workspace-header:has(#expensesSearchZone:not([hidden])) .workspace-actions > #headerMoreButton,
  #topsSearchZone:not([hidden]) > #headerMoreButton {
    order: 99 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}

/* ==========================================================================
   ROCKET V3.734 · FEE · tipografía uniforme / presentación comercial
   - Alinea la escala tipográfica con el estándar de tablas Broker:
       headers 12 px / contenido 13 px / textos auxiliares 12 px.
   - Conserva jerarquía únicamente para valores KPI principales.
   - Elimina microtipografías de 9–10 px que restaban legibilidad.
   - La etiqueta técnica "Supabase" fue retirada del HTML del módulo.
   ========================================================================== */
#feeView {
  font-family: var(--font-ui) !important;
}

#feeView .fee-kpi span {
  font-size: 12px !important;
  line-height: 18px !important;
  font-weight: 700 !important;
  letter-spacing: .55px !important;
}

#feeView .fee-kpi strong {
  font-size: 22px !important;
  line-height: 1.1 !important;
  font-weight: 800 !important;
}

#feeView .fee-kpi small,
#feeView .fee-period-header small,
#feeView .fee-note {
  font-size: 12px !important;
  line-height: 18px !important;
  font-weight: 400 !important;
}

#feeView .fee-period-header {
  justify-content: flex-start !important;
}

#feeView .fee-period-header strong {
  font-size: 13px !important;
  line-height: 18px !important;
  font-weight: 700 !important;
}

#feeView .fee-table thead th {
  font-size: 12px !important;
  line-height: 18px !important;
  font-weight: 700 !important;
  letter-spacing: .55px !important;
}

#feeView .fee-table tbody td,
#feeView .fee-table tfoot th {
  font-size: 13px !important;
  line-height: 18px !important;
}

#feeView .fee-table tbody td {
  font-weight: 400 !important;
}

#feeView .fee-table tbody td:first-child,
#feeView .fee-table tfoot th,
#feeView .fee-money {
  font-weight: 700 !important;
}

#feeView .fee-detail-button {
  min-height: 30px !important;
  padding: 0 11px !important;
  font-size: 12px !important;
  line-height: 18px !important;
  font-weight: 700 !important;
}

/* El modal de detalle adopta la misma escala; evitamos volver a introducir
   texto diminuto al abrir un mes. */
.fee-detail-header h2 {
  font-size: 16px !important;
  line-height: 22px !important;
}

.fee-detail-header p,
.fee-detail-register label {
  font-size: 12px !important;
  line-height: 18px !important;
}

.fee-detail-input {
  font-size: 13px !important;
}

.fee-detail-table th {
  font-size: 12px !important;
  line-height: 18px !important;
  font-weight: 700 !important;
}

.fee-detail-table td {
  font-size: 13px !important;
  line-height: 18px !important;
}

.fee-row-save,
.fee-row-delete {
  font-size: 12px !important;
  font-weight: 700 !important;
}

@media (max-width: 900px) {
  /* En iOS los inputs conservan 16 px para evitar zoom automático al enfocar. */
  .fee-detail-input {
    font-size: 16px !important;
  }
}


/* ==========================================================================
   ROCKET V3.735 · FEE · encabezado de periodo compacto en una sola línea
   - Recupera altura útil para evitar scroll vertical innecesario.
   ========================================================================== */
@media (min-width: 901px) {
  #feeView .fee-period-header {
    min-height: 40px !important;
    padding-top: 7px !important;
    padding-bottom: 7px !important;
  }

  #feeView .fee-period-titleline {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 5px !important;
    min-width: 0;
    white-space: nowrap;
  }

  #feeView .fee-period-titleline strong,
  #feeView .fee-period-titleline small {
    margin: 0 !important;
    line-height: 18px !important;
  }
}


/* ==========================================================================
   ROCKET V3.736 · FEE · columna "Asesores que aplican"
   - Expone por mes el universo real sujeto a Fee tras los 90 días de gracia.
   - Redistribuye las seis columnas aprovechando el ancho disponible.
   ========================================================================== */
@media (min-width: 901px) {
  #feeView .fee-table th:nth-child(1),
  #feeView .fee-table td:nth-child(1) { width: 22%; }

  #feeView .fee-table th:nth-child(2),
  #feeView .fee-table td:nth-child(2) { width: 18%; }

  #feeView .fee-table th:nth-child(3),
  #feeView .fee-table td:nth-child(3) { width: 20%; }

  #feeView .fee-table th:nth-child(4),
  #feeView .fee-table td:nth-child(4),
  #feeView .fee-table th:nth-child(5),
  #feeView .fee-table td:nth-child(5) { width: 13%; }

  #feeView .fee-table th:nth-child(6),
  #feeView .fee-table td:nth-child(6) { width: 14%; }

  #feeView .fee-table thead th:nth-child(3) {
    white-space: nowrap;
  }
}

#feeView .fee-due-count {
  font-variant-numeric: tabular-nums;
  font-weight: 700 !important;
}

@media (max-width: 900px) {
  #feeView .fee-table {
    min-width: 780px;
  }
}


/* ==========================================================================
   ROCKET V3.737 · MENÚ BROKER · controles de header uniformes
   Estándar WEB para los submódulos de Menú Broker:
   - Altura única de control: 38 px.
   - Buscadores, filtros, borrar filtros, papelera, botones Agregar/Cargar/Nuevo
     y More comparten la misma altura visual.
   - Se preservan los gaps de 10 px y margen derecho de 15 px ya normalizados.
   - MOBILE/PWA no se altera.
   ========================================================================== */
@media (min-width: 921px) {
  :root {
    --broker-header-control-height: 38px;
  }

  /* Zonas de header pertenecientes a Menú Broker. */
  :is(
    #closingSearchZone,
    #advisorSearchZone,
    #productivitySearchZone,
    #topsSearchZone,
    #feeSearchZone,
    #sepreladSearchZone,
    #commissionsSearchZone,
    #expensesSearchZone
  ):not([hidden]) {
    gap: 10px !important;
  }

  /* Buscadores: misma caja y misma altura en todos los módulos Broker. */
  :is(
    #closingSearchZone,
    #advisorSearchZone,
    #productivitySearchZone,
    #sepreladSearchZone,
    #commissionsSearchZone,
    #expensesSearchZone
  ):not([hidden]) > .search-input-wrap {
    height: var(--broker-header-control-height) !important;
    min-height: var(--broker-header-control-height) !important;
    max-height: var(--broker-header-control-height) !important;
    box-sizing: border-box !important;
  }

  /* Filtros/selects y borrar filtros: misma línea visual que el buscador. */
  :is(
    #closingSearchZone,
    #advisorSearchZone,
    #productivitySearchZone,
    #topsSearchZone,
    #feeSearchZone,
    #sepreladSearchZone,
    #commissionsSearchZone,
    #expensesSearchZone
  ):not([hidden]) > :is(.advisor-header-filter, .search-preset, .search-reset-button, .fee-header-button) {
    height: var(--broker-header-control-height) !important;
    min-height: var(--broker-header-control-height) !important;
    max-height: var(--broker-header-control-height) !important;
    box-sizing: border-box !important;
  }

  /* Acciones comunes del header Broker: Papelera, Nuevo/Cargar/Agregar y More. */
  .workspace-header:has(:is(
    #closingSearchZone,
    #advisorSearchZone,
    #productivitySearchZone,
    #topsSearchZone,
    #feeSearchZone,
    #sepreladSearchZone,
    #commissionsSearchZone,
    #expensesSearchZone
  ):not([hidden])) .workspace-actions > :is(
    .bulk-delete-reminders-button,
    .new-lead-button,
    .header-more
  ) {
    height: var(--broker-header-control-height) !important;
    min-height: var(--broker-header-control-height) !important;
    max-height: var(--broker-header-control-height) !important;
    box-sizing: border-box !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }

  /* Iconos cuadrados: Papelera y More mantienen proporción exacta 38 × 38. */
  .workspace-header:has(:is(
    #closingSearchZone,
    #advisorSearchZone,
    #productivitySearchZone,
    #topsSearchZone,
    #feeSearchZone,
    #sepreladSearchZone,
    #commissionsSearchZone,
    #expensesSearchZone
  ):not([hidden])) .workspace-actions > :is(
    .bulk-delete-reminders-button,
    .header-more
  ) {
    width: var(--broker-header-control-height) !important;
    min-width: var(--broker-header-control-height) !important;
    max-width: var(--broker-header-control-height) !important;
    padding: 0 !important;
  }

  /* Botones de alta/carga: altura estándar sin alterar el ancho del texto. */
  .workspace-header:has(:is(
    #closingSearchZone,
    #advisorSearchZone,
    #productivitySearchZone,
    #topsSearchZone,
    #feeSearchZone,
    #sepreladSearchZone,
    #commissionsSearchZone,
    #expensesSearchZone
  ):not([hidden])) .workspace-actions > .new-lead-button {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

  /* Top's coloca More dentro de su toolbar, no dentro de workspace-actions. */
  #topsSearchZone:not([hidden]) > #headerMoreButton {
    width: var(--broker-header-control-height) !important;
    min-width: var(--broker-header-control-height) !important;
    max-width: var(--broker-header-control-height) !important;
    height: var(--broker-header-control-height) !important;
    min-height: var(--broker-header-control-height) !important;
    max-height: var(--broker-header-control-height) !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }
}

/* ==========================================================================
   ROCKET V3.738 · MENÚ BROKER · altura compacta de controles WEB
   Referencia visual: controles del header de Fee.
   - Altura estándar: 30 px.
   - Mantiene 10 px de gap entre controles.
   - Mantiene 15 px hasta el borde derecho útil.
   - Aplica a buscadores, filtros, borrar filtros, papelera, Nuevo/Cargar/Agregar
     y botón More de los submódulos de Menú Broker.
   ========================================================================== */
@media (min-width: 921px) {
  :root {
    --broker-header-control-height: 30px;
  }

  /* Asegura que el campo interno del buscador siga exactamente la caja compacta. */
  :is(
    #closingSearchZone,
    #advisorSearchZone,
    #productivitySearchZone,
    #sepreladSearchZone,
    #commissionsSearchZone,
    #expensesSearchZone
  ):not([hidden]) > .search-input-wrap > .search-input {
    height: 100% !important;
    min-height: 0 !important;
    max-height: 100% !important;
    box-sizing: border-box !important;
  }

  /* Mantiene iconografía proporcionada dentro de controles de 30 px. */
  .workspace-header:has(:is(
    #closingSearchZone,
    #advisorSearchZone,
    #productivitySearchZone,
    #topsSearchZone,
    #feeSearchZone,
    #sepreladSearchZone,
    #commissionsSearchZone,
    #expensesSearchZone
  ):not([hidden])) .workspace-actions > :is(
    .bulk-delete-reminders-button,
    .header-more
  ) svg,
  #topsSearchZone:not([hidden]) > #headerMoreButton svg {
    width: 15px !important;
    height: 15px !important;
  }
}

/* ========================================================================== 
   ROCKET V3.739 · TOP'S · Borrar filtros alineado al estándar compacto
   El selector histórico de Top's tenía mayor especificidad y conservaba 34 px.
   Se fuerza 30 px reales para igualarlo con los tres filtros del header.
   ========================================================================== */
@media (min-width: 921px) {
  #topsSearchZone:not([hidden]) > #topsResetFiltersButton {
    height: 30px !important;
    min-height: 30px !important;
    max-height: 30px !important;
    padding: 0 12px !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    line-height: 28px !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 13px !important;
    font-weight: 700 !important;
  }
}

/* ==========================================================================
   ROCKET V3.740 · CONTABILIDAD RESTAURADA
   Control de liquidación de operaciones, adaptado a la arquitectura actual.
   ========================================================================== */
.accounting-shell{width:100%;min-width:0;padding:15px;box-sizing:border-box;}
.accounting-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:12px;}
.accounting-kpi{min-height:82px;border:1px solid var(--border,#d8dee8);border-radius:12px;background:var(--surface,#fff);padding:12px 14px;box-sizing:border-box;display:flex;flex-direction:column;justify-content:center;gap:4px;}
.accounting-kpi>span{font-size:12px;font-weight:800;letter-spacing:.02em;color:var(--muted,#657184);text-transform:uppercase;}
.accounting-kpi>strong{font-size:22px;line-height:1.1;font-weight:900;color:var(--text,#111827);}
.accounting-kpi>small{font-size:12px;line-height:1.25;color:var(--muted,#657184);}
.accounting-table-wrap{width:100%;overflow-x:auto;border:1px solid var(--border,#d8dee8);border-radius:12px;background:var(--surface,#fff);}
.accounting-table{width:100%;min-width:1510px;border-collapse:collapse;table-layout:fixed;margin:0;font-size:12px;}
.accounting-table th,.accounting-table td{height:31px;padding:4px 7px;border-bottom:1px solid var(--border,#d8dee8);text-align:center;vertical-align:middle;white-space:nowrap;box-sizing:border-box;}
.accounting-table th{font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.03em;color:var(--muted,#64748b);background:var(--surface-soft,#f7f9fc);}
.accounting-table tr:last-child td{border-bottom:0;}
.accounting-table th:nth-child(1),.accounting-table td:nth-child(1){width:46px;}
.accounting-table th:nth-child(2),.accounting-table td:nth-child(2){width:120px;}
.accounting-table th:nth-child(3),.accounting-table td:nth-child(3){width:92px;}
.accounting-table th:nth-child(4),.accounting-table td:nth-child(4){width:100px;}
.accounting-table th:nth-child(5),.accounting-table td:nth-child(5){width:190px;}
.accounting-table th:nth-child(n+6):nth-child(-n+13),.accounting-table td:nth-child(n+6):nth-child(-n+13){width:118px;}
.accounting-table th:nth-child(14),.accounting-table td:nth-child(14){width:190px;}
.accounting-advisors{font-weight:700;overflow:hidden;text-overflow:ellipsis;}
.accounting-status-cell{padding-left:5px!important;padding-right:5px!important;}
.accounting-status-control{display:inline-flex;align-items:center;justify-content:center;gap:6px;margin:0!important;font-size:11px;font-weight:800;cursor:pointer;}
.accounting-status-control input{width:16px;height:16px;margin:0!important;accent-color:#0055DD;cursor:pointer;}
.accounting-status-control input:disabled{cursor:not-allowed;}
.accounting-observation{width:100%;height:26px!important;min-height:26px!important;margin:0!important;padding:0 7px!important;border:1px solid var(--border,#d8dee8)!important;border-radius:6px!important;background:var(--surface,#fff)!important;color:var(--text,#111827)!important;font-size:12px!important;box-sizing:border-box!important;}
.accounting-positive{color:#12966f;font-weight:800;}
.accounting-negative{color:#d34848;font-weight:800;}
.accounting-table tbody tr[data-pending="true"] td{background:rgba(211,72,72,.075);}
.accounting-table tbody tr[data-pending="true"] .accounting-status-control{color:#d34848;}
body.theme-dark-rocket .accounting-kpi,body.dark .accounting-kpi,body.theme-dark-rocket .accounting-table-wrap,body.dark .accounting-table-wrap{background:#151e2c;border-color:#314055;}
body.theme-dark-rocket .accounting-table th,body.dark .accounting-table th{background:#182334;color:#9fb3ce;}
body.theme-dark-rocket .accounting-table th,body.theme-dark-rocket .accounting-table td,body.dark .accounting-table th,body.dark .accounting-table td{border-color:#314055;}
body.theme-dark-rocket .accounting-kpi>strong,body.dark .accounting-kpi>strong{color:#f7faff;}
body.theme-dark-rocket .accounting-kpi>span,body.theme-dark-rocket .accounting-kpi>small,body.dark .accounting-kpi>span,body.dark .accounting-kpi>small{color:#9fb3ce;}
body.theme-dark-rocket .accounting-observation,body.dark .accounting-observation{background:#111a27!important;color:#f7faff!important;border-color:#314055!important;}
body.theme-dark-rocket .accounting-table tbody tr[data-pending="true"] td,body.dark .accounting-table tbody tr[data-pending="true"] td{background:rgba(190,55,55,.14);}

@media (min-width:921px){
  #accountingSearchZone:not([hidden]){display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:10px!important;padding-right:15px!important;box-sizing:border-box!important;}
  #accountingSearchZone:not([hidden])>:is(select,button,.search-input-wrap){height:30px!important;min-height:30px!important;max-height:30px!important;margin:0!important;box-sizing:border-box!important;}
  #accountingSearchZone:not([hidden])>select{width:138px!important;min-width:138px!important;max-width:138px!important;padding-top:0!important;padding-bottom:0!important;}
  #accountingSearchZone:not([hidden])>#accountingResetFiltersButton,
  #accountingSearchZone:not([hidden])>#accountingRefreshButton{height:30px!important;min-height:30px!important;max-height:30px!important;margin:0!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;white-space:nowrap!important;padding:0 12px!important;}
  #accountingSearchZone:not([hidden])>.search-input-wrap{width:min(320px,24vw)!important;min-width:220px!important;}
  #accountingSearchZone:not([hidden])>.search-input-wrap>.search-input{height:30px!important;min-height:30px!important;max-height:30px!important;box-sizing:border-box!important;}
}
@media(max-width:1100px){.accounting-kpis{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:920px){.accounting-shell{padding:10px 12px;}.accounting-kpis{grid-template-columns:repeat(2,minmax(0,1fr));}.accounting-search-zone{gap:8px!important;}.accounting-search-zone .search-input-wrap{min-width:180px;}}
@media(max-width:560px){.accounting-kpis{grid-template-columns:1fr;}}


/* ========================================================================== 
   ROCKET V3.741 · CONTABILIDAD + PWA UX
   - Contabilidad WEB: toolbar completamente a la derecha, controles Azul Rocket,
     margen superior normalizado y viewport sin scroll vertical residual.
   - AMC PWA: scroll vertical táctil explícito para acceder a todo el análisis.
   - Fee PWA: KPIs 2x2 compactos + tabla flexible; evita scroll de página cuando
     el alto disponible alcanza y mantiene scroll interno como fallback.
   - Calculadora PWA/iOS: inputs/selects a 16 px efectivos para evitar focus zoom.
   ========================================================================== */

@media (min-width: 921px) {
  /* El contenedor de acciones vacío reservaba ancho a la derecha. Al ocultarlo,
     el toolbar de Contabilidad usa todo el ancho útil y termina a 15 px del borde. */
  .workspace-header:has(#accountingSearchZone:not([hidden])) .workspace-actions {
    display: none !important;
  }

  .workspace-header:has(#accountingSearchZone:not([hidden])) #accountingSearchZone {
    display: flex !important;
    flex: 1 1 auto !important;
    width: 100% !important;
    min-width: 0 !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 10px !important;
    padding-left: 15px !important;
    padding-right: 15px !important;
    overflow: visible !important;
  }

  #accountingSearchZone:not([hidden]) > #accountingYearFilter {
    flex: 0 0 104px !important;
    width: 104px !important;
    min-width: 104px !important;
    max-width: 104px !important;
  }
  #accountingSearchZone:not([hidden]) > #accountingMonthFilter {
    flex: 0 0 150px !important;
    width: 150px !important;
    min-width: 150px !important;
    max-width: 150px !important;
  }
  #accountingSearchZone:not([hidden]) > #accountingStatusFilter {
    flex: 0 0 150px !important;
    width: 150px !important;
    min-width: 150px !important;
    max-width: 150px !important;
  }
  #accountingSearchZone:not([hidden]) > #accountingAdvisorFilter {
    flex: 0 0 150px !important;
    width: 150px !important;
    min-width: 150px !important;
    max-width: 150px !important;
  }
  #accountingSearchZone:not([hidden]) > .search-input-wrap {
    flex: 0 1 250px !important;
    width: 250px !important;
    min-width: 210px !important;
    max-width: 250px !important;
  }
  #accountingSearchZone:not([hidden]) > #accountingResetFiltersButton,
  #accountingSearchZone:not([hidden]) > #accountingRefreshButton {
    flex: 0 0 auto !important;
  }

  /* Contabilidad sigue el estándar visual Rocket, incluido Dark Rocket. */
  #accountingSearchZone:not([hidden]) > :is(
    #accountingYearFilter,
    #accountingMonthFilter,
    #accountingStatusFilter,
    #accountingAdvisorFilter,
    #accountingResetFiltersButton,
    #accountingRefreshButton
  ) {
    height: 30px !important;
    min-height: 30px !important;
    max-height: 30px !important;
    margin: 0 !important;
    border: 1px solid #0048BE !important;
    border-radius: 4px !important;
    background-color: #0055DD !important;
    color: #fff !important;
    font-family: var(--font-ui) !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 28px !important;
    box-sizing: border-box !important;
  }

  #accountingSearchZone:not([hidden]) > :is(
    #accountingYearFilter,
    #accountingMonthFilter,
    #accountingStatusFilter,
    #accountingAdvisorFilter
  ) {
    appearance: none !important;
    -webkit-appearance: none !important;
    padding: 0 34px 0 12px !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='m1 1 5 5 5-5' fill='none' stroke='%23ffffff' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 11px center !important;
    background-size: 12px 8px !important;
  }

  #accountingSearchZone:not([hidden]) > :is(
    #accountingYearFilter,
    #accountingMonthFilter,
    #accountingStatusFilter,
    #accountingAdvisorFilter,
    #accountingResetFiltersButton,
    #accountingRefreshButton
  ):hover:not(:disabled) {
    border-color: #003FAF !important;
    background-color: #0048BE !important;
    color: #fff !important;
  }

  #accountingSearchZone:not([hidden]) > :is(
    #accountingYearFilter,
    #accountingMonthFilter,
    #accountingStatusFilter,
    #accountingAdvisorFilter,
    #accountingResetFiltersButton,
    #accountingRefreshButton
  ):focus-visible,
  #accountingSearchZone:not([hidden]) > :is(
    #accountingYearFilter,
    #accountingMonthFilter,
    #accountingStatusFilter,
    #accountingAdvisorFilter
  ):focus {
    outline: 0 !important;
    border-color: #003FAF !important;
    box-shadow: 0 0 0 3px rgba(0,85,221,.22) !important;
  }

  /* El workspace ya deja 15 px entre header y contenido (65 + 15 = 80).
     V3.740 agregaba otros 15 px dentro del shell: se elimina esa duplicación. */
  .accounting-shell {
    padding: 0 15px 15px !important;
  }

  /* El pequeño scrollbar vertical de la página provenía de min-height + padding.
     Contabilidad queda encajada en el viewport WEB sin cortar su paginación. */
  .workspace-body:has(#accountingView:not([hidden])) {
    box-sizing: border-box !important;
    height: 100dvh !important;
    min-height: 100dvh !important;
    overflow-y: hidden !important;
  }
  #accountingView.accounting-view:not([hidden]) {
    min-height: calc(100dvh - 80px) !important;
    max-height: calc(100dvh - 80px) !important;
    overflow-y: hidden !important;
  }
}

/* APP / PWA · scroll táctil y viewport real con barras dinámicas del sistema. */
@media (max-width: 900px) {
  .workspace-body:has(#amcView:not([hidden])),
  .workspace-body:has(#feeView:not([hidden])) {
    box-sizing: border-box !important;
    height: 100dvh !important;
    min-height: 100dvh !important;
    overflow: hidden !important;
  }

  #amcView.amc-view:not([hidden]) {
    box-sizing: border-box !important;
    height: calc(100dvh - 80px) !important;
    min-height: 0 !important;
    max-height: calc(100dvh - 80px) !important;
    padding: 0 12px calc(16px + env(safe-area-inset-bottom)) !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-y: contain;
    touch-action: pan-y;
  }

  /* Fee: las cuatro tarjetas permanecen 2x2, pero con densidad suficiente para
     dejar la tabla dentro del viewport. Si la pantalla es baja, scrollea la tabla
     (no queda contenido inaccesible ni se genera un scroll de página residual). */
  #feeView.fee-view:not([hidden]) {
    box-sizing: border-box !important;
    height: calc(100dvh - 80px) !important;
    min-height: 0 !important;
    max-height: calc(100dvh - 80px) !important;
    padding: 0 10px calc(10px + env(safe-area-inset-bottom)) !important;
    overflow: hidden !important;
  }
  #feeView .fee-dashboard {
    height: 100% !important;
    min-height: 0 !important;
    gap: 7px !important;
  }
  #feeView .fee-kpis {
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
    gap: 7px !important;
    flex: 0 0 auto !important;
  }
  #feeView .fee-kpi {
    min-height: 60px !important;
    padding: 7px 9px !important;
  }
  #feeView .fee-kpi span {
    font-size: 10.5px !important;
    line-height: 13px !important;
    letter-spacing: .35px !important;
  }
  #feeView .fee-kpi strong {
    margin-top: 3px !important;
    font-size: 18px !important;
    line-height: 20px !important;
  }
  #feeView .fee-kpi small {
    margin-top: 3px !important;
    font-size: 10px !important;
    line-height: 12px !important;
  }
  #feeView .fee-period-card {
    display: flex !important;
    min-height: 0 !important;
    flex: 1 1 auto !important;
    flex-direction: column !important;
    overflow: hidden !important;
  }
  #feeView .fee-period-header {
    min-height: 34px !important;
    padding: 5px 9px !important;
    flex: 0 0 auto !important;
  }
  #feeView .fee-period-titleline {
    display: flex !important;
    min-width: 0 !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 4px !important;
    overflow: hidden !important;
    white-space: nowrap !important;
  }
  #feeView .fee-period-titleline strong,
  #feeView .fee-period-titleline small {
    margin: 0 !important;
    overflow: hidden !important;
    line-height: 16px !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }
  #feeView .fee-period-titleline strong { flex: 0 0 auto !important; font-size: 11px !important; }
  #feeView .fee-period-titleline small { flex: 1 1 auto !important; font-size: 10px !important; }
  #feeView .fee-table-wrap {
    min-height: 0 !important;
    flex: 1 1 auto !important;
    overflow: auto !important;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
    touch-action: pan-x pan-y;
  }
  #feeView .fee-note {
    flex: 0 0 auto !important;
    margin: 0 !important;
    padding: 0 2px 1px !important;
    font-size: 9.5px !important;
    line-height: 12px !important;
  }

  /* iOS amplía automáticamente inputs con tipografía efectiva menor a 16 px.
     Calculadora adopta el mismo antizoom ya usado en otros formularios móviles. */
  #calculatorView .calculator-form :is(input.input, select.select, textarea) {
    font-size: 16px !important;
  }
}


/* ============================================================
   ROCKET V3.743 · HOTFIX CONTABILIDAD · KPI DARK ROCKET
   Regla: los KPIs contables deben mantener contraste explícito
   en cualquier tema oscuro. No afecta Rocket Light.
   ============================================================ */
html[data-theme="dark"] .accounting-kpi{
  background:#151e2c!important;
  border-color:#314055!important;
  color:#f7faff!important;
}
html[data-theme="dark"] .accounting-kpi>span{
  color:#9fb3ce!important;
}
html[data-theme="dark"] .accounting-kpi>strong{
  color:#f7faff!important;
  opacity:1!important;
  -webkit-text-fill-color:#f7faff!important;
}
html[data-theme="dark"] .accounting-kpi>small{
  color:#aebdd0!important;
  opacity:1!important;
  -webkit-text-fill-color:#aebdd0!important;
}

/* ========================================================================== 
   ROCKET V3.745 · BORRAR FILTROS · semántica visual global
   - Texto rojo + borde rojo + fondo transparente.
   - Corrige especialmente Contabilidad, cuyo bloque V3.741 heredaba el
     tratamiento Azul Rocket de los filtros y pisaba el estilo del reset.
   ========================================================================== */
.search-reset-button {
  border-color: #d65a5a !important;
  background: transparent !important;
  background-color: transparent !important;
  color: #c64747 !important;
  box-shadow: none !important;
}
.search-reset-button:hover:not(:disabled) {
  border-color: #b83d3d !important;
  background: transparent !important;
  background-color: transparent !important;
  color: #b83d3d !important;
}
.search-reset-button:focus-visible {
  outline: 2px solid rgba(198,71,71,.35) !important;
  outline-offset: 1px !important;
  border-color: #b83d3d !important;
  background: transparent !important;
  background-color: transparent !important;
  color: #b83d3d !important;
  box-shadow: none !important;
}

/* La regla específica de Contabilidad V3.741 usa IDs + !important; por eso
   necesita una excepción con la misma especificidad semántica al final. */
#accountingSearchZone:not([hidden]) > #accountingResetFiltersButton {
  border: 1px solid #d65a5a !important;
  background: transparent !important;
  background-color: transparent !important;
  color: #c64747 !important;
  box-shadow: none !important;
}
#accountingSearchZone:not([hidden]) > #accountingResetFiltersButton:hover:not(:disabled),
#accountingSearchZone:not([hidden]) > #accountingResetFiltersButton:focus-visible {
  border-color: #b83d3d !important;
  background: transparent !important;
  background-color: transparent !important;
  color: #b83d3d !important;
  box-shadow: none !important;
}


/* ==========================================================================
   ROCKET V3.746 · MENÚ ASESOR · headers unificados con estándar Broker
   - WEB únicamente: controles compactos de 30 px, gap de 10 px y 15 px al borde.
   - Leads, Recordatorios, Flyers, Colegas y Captaciones comparten geometría.
   - Cierres ya hereda el estándar Broker por usar closingSearchZone.
   - Se preservan colores/semántica propios (incluido Borrar filtros en rojo).
   ========================================================================== */
@media (min-width: 921px) {
  :root {
    --advisor-menu-header-control-height: 30px;
    --advisor-menu-header-gap: 10px;
  }

  /* Zonas principales del Menú Asesor: misma separación y sin padding sobrante
     antes del bloque de acciones, igual que el patrón validado en Menú Broker. */
  :is(
    #searchZone,
    #reminderSearchZone,
    #contactsSearchZone,
    #captacionesSearchZone,
    #flyersSearchZone
  ):not([hidden]) {
    gap: var(--advisor-menu-header-gap) !important;
    padding-right: 0 !important;
  }

  #flyersSearchZone:not([hidden]) > .flyers-toolbar {
    display: flex !important;
    align-items: center !important;
    gap: var(--advisor-menu-header-gap) !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  /* Buscadores: caja compacta idéntica a Broker. */
  :is(
    #searchZone,
    #reminderSearchZone,
    #contactsSearchZone,
    #captacionesSearchZone
  ):not([hidden]) > .search-input-wrap,
  #flyersSearchZone:not([hidden]) > .flyers-toolbar > .search-input-wrap {
    height: var(--advisor-menu-header-control-height) !important;
    min-height: var(--advisor-menu-header-control-height) !important;
    max-height: var(--advisor-menu-header-control-height) !important;
    margin: 0 !important;
    box-sizing: border-box !important;
  }

  :is(
    #searchZone,
    #reminderSearchZone,
    #contactsSearchZone,
    #captacionesSearchZone
  ):not([hidden]) > .search-input-wrap > .search-input,
  #flyersSearchZone:not([hidden]) > .flyers-toolbar > .search-input-wrap > .search-input {
    height: 100% !important;
    min-height: 0 !important;
    max-height: 100% !important;
    box-sizing: border-box !important;
  }

  /* Chips, filtros y Borrar filtros: altura única de 30 px. */
  #searchZone:not([hidden]) > :is(#filterToggle, #quickResetFiltersButton),
  #reminderSearchZone:not([hidden]) > :is(#reminderFilterToggle, #reminderResetFiltersButton),
  #contactsSearchZone:not([hidden]) > :is(#contactsOfficeFilter, #contactsClearFilters),
  #captacionesSearchZone:not([hidden]) > :is(
    #captacionesOperationFilter,
    #captacionesTypeFilter,
    #captacionesMunicipalityFilter,
    #captacionesAdvisorFilter,
    #captacionesClearFilters
  ),
  #flyersSearchZone:not([hidden]) > .flyers-toolbar > :is(
    #flyersOperationFilter,
    #flyersAvailabilityFilter,
    #flyersResetFiltersButton
  ) {
    height: var(--advisor-menu-header-control-height) !important;
    min-height: var(--advisor-menu-header-control-height) !important;
    max-height: var(--advisor-menu-header-control-height) !important;
    margin: 0 !important;
    box-sizing: border-box !important;
  }

  /* Acciones del extremo derecho: mismo gap y mismo margen útil del Broker. */
  .workspace-header:has(:is(
    #searchZone,
    #reminderSearchZone,
    #contactsSearchZone,
    #captacionesSearchZone,
    #flyersSearchZone
  ):not([hidden])) .workspace-actions {
    min-width: 0 !important;
    gap: var(--advisor-menu-header-gap) !important;
    padding-left: var(--advisor-menu-header-gap) !important;
    padding-right: 15px !important;
  }

  .workspace-header:has(:is(
    #searchZone,
    #reminderSearchZone,
    #contactsSearchZone,
    #captacionesSearchZone,
    #flyersSearchZone
  ):not([hidden])) .workspace-actions > :is(
    .bulk-delete-reminders-button,
    .new-lead-button,
    .header-more
  ) {
    height: var(--advisor-menu-header-control-height) !important;
    min-height: var(--advisor-menu-header-control-height) !important;
    max-height: var(--advisor-menu-header-control-height) !important;
    margin: 0 !important;
    box-sizing: border-box !important;
  }

  .workspace-header:has(:is(
    #searchZone,
    #reminderSearchZone,
    #contactsSearchZone,
    #captacionesSearchZone,
    #flyersSearchZone
  ):not([hidden])) .workspace-actions > :is(
    .bulk-delete-reminders-button,
    .header-more
  ) {
    width: var(--advisor-menu-header-control-height) !important;
    min-width: var(--advisor-menu-header-control-height) !important;
    max-width: var(--advisor-menu-header-control-height) !important;
    padding: 0 !important;
  }

  .workspace-header:has(:is(
    #searchZone,
    #reminderSearchZone,
    #contactsSearchZone,
    #captacionesSearchZone,
    #flyersSearchZone
  ):not([hidden])) .workspace-actions > .new-lead-button {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

  .workspace-header:has(:is(
    #searchZone,
    #reminderSearchZone,
    #contactsSearchZone,
    #captacionesSearchZone,
    #flyersSearchZone
  ):not([hidden])) .workspace-actions > #headerMoreButton {
    order: 99 !important;
  }

  /* Leads: Kanban/Lista también adopta la geometría compacta del header. */
  .workspace-header:has(#searchZone:not([hidden])) .workspace-title-controls {
    gap: var(--advisor-menu-header-gap) !important;
  }
  .workspace-header:has(#searchZone:not([hidden])) .lead-view-button {
    width: var(--advisor-menu-header-control-height) !important;
    min-width: var(--advisor-menu-header-control-height) !important;
    height: var(--advisor-menu-header-control-height) !important;
    min-height: var(--advisor-menu-header-control-height) !important;
    max-height: var(--advisor-menu-header-control-height) !important;
    margin: 0 !important;
    box-sizing: border-box !important;
  }
}

@media (min-width: 921px) {
  /* Iconografía del Menú Asesor a la misma escala compacta de Broker. */
  .workspace-header:has(:is(
    #searchZone,
    #reminderSearchZone,
    #contactsSearchZone,
    #captacionesSearchZone,
    #flyersSearchZone
  ):not([hidden])) .workspace-actions > :is(
    .bulk-delete-reminders-button,
    .header-more
  ) svg {
    width: 15px !important;
    height: 15px !important;
  }
}

/* ROCKET V3.756 · Dashboard · buscadores destacados Geo + ID.
   Ambos accesos mantienen su geometría y reciben una señal visual permanente:
   borde Rocket con barrido tipo loading + halo pulse, sin bloquear interacción. */
.dashboard-geo-search input,
.dashboard-mobile-id-search input{
  border-color:transparent;
  background:
    linear-gradient(var(--surface),var(--surface)) padding-box,
    linear-gradient(100deg,
      #0055DD 0%,
      #0055DD 26%,
      #8AB7FF 42%,
      #D7E7FF 50%,
      #6EA5FF 58%,
      #0055DD 74%,
      #0055DD 100%) border-box;
  background-size:100% 100%,240% 100%;
  background-position:0 0,120% 0;
  animation:
    rocket-dashboard-search-border-loading 2.35s linear infinite,
    rocket-dashboard-search-pulse 1.75s ease-in-out infinite;
  will-change:background-position,box-shadow;
}
.dashboard-geo-search:focus-within input,
.dashboard-mobile-id-search:focus-within input{
  border-color:transparent;
  animation:
    rocket-dashboard-search-border-loading 1.45s linear infinite,
    rocket-dashboard-search-pulse-focus 1.25s ease-in-out infinite;
}
.dashboard-geo-search button,
.dashboard-mobile-id-search button{
  color:#0055DD;
}
.dashboard-geo-search:hover input,
.dashboard-mobile-id-search:hover input{
  filter:saturate(1.08);
}
@keyframes rocket-dashboard-search-border-loading{
  0%{background-position:0 0,120% 0}
  100%{background-position:0 0,-120% 0}
}
@keyframes rocket-dashboard-search-pulse{
  0%,100%{box-shadow:0 0 0 0 rgba(0,85,221,.05),0 2px 8px rgba(25,43,72,.025)}
  50%{box-shadow:0 0 0 3px rgba(0,85,221,.12),0 0 14px rgba(0,85,221,.18)}
}
@keyframes rocket-dashboard-search-pulse-focus{
  0%,100%{box-shadow:0 0 0 2px rgba(0,85,221,.12),0 0 10px rgba(0,85,221,.14)}
  50%{box-shadow:0 0 0 4px rgba(0,85,221,.16),0 0 18px rgba(0,85,221,.24)}
}
@media (prefers-reduced-motion:reduce){
  .dashboard-geo-search input,
  .dashboard-mobile-id-search input{
    animation:none;
    border-color:#0055DD;
    background:var(--surface);
    box-shadow:0 0 0 2px rgba(0,85,221,.10);
  }
}


/* ==========================================================================
   ROCKET V3.758 · CAPTACIONES C21 PLATINUM · FILTROS AVANZADOS
   Drawer lateral alineado al patrón Canva. WEB mantiene los filtros rápidos
   del header; PWA abre este mismo drawer desde el embudo general.
   ========================================================================== */
body.captaciones-advanced-filter-open{overflow:hidden!important}
.captaciones-advanced-filter-button{
  display:inline-grid;place-items:center;flex:0 0 auto;
  width:30px;min-width:30px;max-width:30px;height:30px;min-height:30px;max-height:30px;
  margin:0;padding:0;border:1px solid var(--line);border-radius:7px;
  background:var(--surface);color:var(--muted);cursor:pointer;box-sizing:border-box;
}
.captaciones-advanced-filter-button[hidden]{display:none!important}
.captaciones-advanced-filter-button svg{width:16px;height:16px}
.captaciones-advanced-filter-button:hover,
.captaciones-advanced-filter-button[data-active="true"]{
  border-color:#0055DD;background:rgba(0,85,221,.08);color:#0055DD;
}
.captaciones-advanced-filter-button[data-active="true"]{box-shadow:inset 0 0 0 1px rgba(0,85,221,.18)}
.captaciones-advanced-filter-scrim[hidden]{display:none!important}
.captaciones-advanced-filter-scrim{
  position:fixed;z-index:1194;top:var(--header-height);right:0;bottom:0;left:var(--sidebar-width);
  background:rgba(8,15,28,.24);-webkit-backdrop-filter:blur(1.5px);backdrop-filter:blur(1.5px);
  opacity:0;transition:opacity .18s ease;
}
.captaciones-advanced-filter-scrim[data-open="true"]{opacity:1}
.captaciones-advanced-filter-drawer{
  position:absolute;top:0;right:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto;
  width:min(430px,calc(100vw - var(--sidebar-width) - 16px));height:100%;
  overflow:hidden;border-left:1px solid var(--line);background:var(--surface);color:var(--ink);
  box-shadow:-18px 0 44px rgba(15,23,42,.22);
  transform:translateX(100%);transition:transform .2s ease;
}
.captaciones-advanced-filter-scrim[data-open="true"] .captaciones-advanced-filter-drawer{transform:translateX(0)}
.captaciones-advanced-filter-head{
  display:flex;align-items:flex-start;justify-content:space-between;gap:14px;
  min-height:72px;padding:16px 16px 14px 20px;border-bottom:1px solid var(--line);
}
.captaciones-advanced-filter-head>div{display:grid;gap:4px;min-width:0}
.captaciones-advanced-filter-head h2{margin:0;font:800 16px/1.2 var(--font-ui)}
.captaciones-advanced-filter-head p{margin:0;color:var(--muted);font:600 11px/1.35 var(--font-caption)}
.captaciones-advanced-filter-close{
  display:grid;place-items:center;flex:none;width:34px;height:34px;padding:0;
  border:1px solid var(--line);border-radius:7px;background:var(--surface);color:var(--ink);cursor:pointer;
}
.captaciones-advanced-filter-close svg{width:17px;height:17px}
.captaciones-advanced-filter-close:hover{border-color:#0055DD;background:#0055DD;color:#fff}
.captaciones-advanced-filter-body{min-height:0;padding:18px 20px 22px;overflow:auto;background:var(--surface)}
.captaciones-advanced-section-title{margin:0 0 10px;color:var(--ink);font:800 12px/1.2 var(--font-caption);letter-spacing:.12px}
.captaciones-advanced-filter-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px 12px}
.captaciones-advanced-field{display:grid;gap:6px;min-width:0}
.captaciones-advanced-field.wide{grid-column:1/-1}
.captaciones-advanced-field label{color:var(--muted);font:700 11px/1.2 var(--font-caption);letter-spacing:.12px}
.captaciones-advanced-field :is(.input,.select){
  width:100%;min-width:0;height:38px;min-height:38px;box-sizing:border-box;font-size:13px;
}
.captaciones-advanced-filter-actions{
  display:flex;align-items:center;justify-content:flex-end;gap:8px;
  padding:12px 20px 16px;border-top:1px solid var(--line);background:var(--surface);
}
.captaciones-advanced-filter-actions .button{min-height:36px}
.captaciones-advanced-filter-actions .button-link{border-color:transparent;background:transparent;color:var(--ink)}
.captaciones-advanced-filter-actions .button-link:hover{background:var(--surface-hover)}
@media(min-width:921px){
  #captacionesSearchZone:not([hidden]) > #captacionesAdvancedFilterButton{
    height:var(--advisor-menu-header-control-height)!important;
    min-height:var(--advisor-menu-header-control-height)!important;
    max-height:var(--advisor-menu-header-control-height)!important;
  }
}
@media(max-width:820px){
  #captacionesAdvancedFilterButton{display:none!important}
  .captaciones-advanced-filter-scrim{
    display:block!important;top:var(--header-height)!important;left:0!important;right:0!important;bottom:0!important;
    background:rgba(8,15,28,.38)!important;-webkit-backdrop-filter:blur(2px)!important;backdrop-filter:blur(2px)!important;
  }
  .captaciones-advanced-filter-scrim[hidden]{display:none!important}
  .captaciones-advanced-filter-drawer{
    width:min(390px,calc(100vw - 72px))!important;max-width:none!important;height:100%!important;
    border-left:1px solid var(--line)!important;border-radius:14px 0 0 14px!important;
    box-shadow:-16px 0 38px rgba(0,0,0,.28)!important;
  }
  .captaciones-advanced-filter-head{min-height:64px!important;padding:14px 14px 12px 16px!important}
  .captaciones-advanced-filter-head h2{font-size:15px!important}
  .captaciones-advanced-filter-head p{font-size:10px!important}
  .captaciones-advanced-filter-body{padding:14px 14px 18px!important}
  .captaciones-advanced-filter-grid{grid-template-columns:1fr!important;gap:11px!important}
  .captaciones-advanced-field.wide{grid-column:auto!important}
  .captaciones-advanced-field :is(.input,.select){height:42px!important;min-height:42px!important;font-size:16px!important}
  .captaciones-advanced-filter-actions{padding:10px 14px calc(12px + env(safe-area-inset-bottom))!important;gap:8px!important}
  .captaciones-advanced-filter-actions .button{flex:1 1 0;min-height:42px!important}
}
@media(max-width:520px){
  .captaciones-advanced-filter-drawer{width:calc(100vw - 58px)!important;border-radius:12px 0 0 12px!important}
}

/* ========================================================================== 
   ROCKET V3.759 · CAPTACIONES C21 PLATINUM · embudo Azul Rocket
   El acceso a Filtros avanzados adopta el mismo tratamiento primario que Canva.
   ========================================================================== */
.captaciones-advanced-filter-button {
  border-color: #0055DD !important;
  background: #0055DD !important;
  color: #FFFFFF !important;
  box-shadow: none !important;
}
.captaciones-advanced-filter-button:hover,
.captaciones-advanced-filter-button:focus-visible,
.captaciones-advanced-filter-button[data-active="true"] {
  border-color: #0047B8 !important;
  background: #0047B8 !important;
  color: #FFFFFF !important;
}
.captaciones-advanced-filter-button svg {
  color: #FFFFFF !important;
  stroke: currentColor !important;
}


/* ==========================================================================
   ROCKET CRM V3.760 · Calendario nativo
   ========================================================================== */
#calendarView.rocket-calendar-view{
  height:100%;margin:0!important;padding:15px!important;overflow:hidden;background:var(--workspace-canvas);
}
#calendarView .rocket-calendar-shell{display:flex;flex-direction:column;width:100%;height:100%;min-height:0;gap:12px;}
#calendarView .rocket-calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:46px;flex:0 0 auto;}
#calendarView .rocket-calendar-period-nav,#calendarView .rocket-calendar-toolbar-actions{display:flex;align-items:center;gap:9px;min-width:0;}
#calendarView .rocket-calendar-period-copy{display:grid;min-width:190px;line-height:1.1;}
#calendarView .rocket-calendar-period-copy strong{text-transform:capitalize;font:700 16px var(--font-caption);color:var(--ink);white-space:nowrap;}
#calendarView .rocket-calendar-period-copy small{margin-top:3px;color:var(--muted);font-size:11px;}
#calendarView .rocket-calendar-today,#calendarView .rocket-calendar-new{height:32px;min-height:32px;border-radius:8px;}
#calendarView .rocket-calendar-today{padding:0 13px;background:var(--surface);border-color:var(--line);color:var(--ink);}
#calendarView .rocket-calendar-new{display:inline-flex;align-items:center;gap:7px;padding:0 14px;border-color:#0055DD!important;background:#0055DD!important;color:#fff!important;font-weight:700;}
#calendarView .rocket-calendar-new:hover{background:#0048BE!important;border-color:#0048BE!important;}
#calendarView .rocket-calendar-new span{font-size:20px;line-height:1;}
#calendarView .rocket-calendar-arrow-group{display:flex;gap:5px;}
#calendarView .rocket-calendar-icon-button{display:grid;place-items:center;width:32px;height:32px;min-width:32px;padding:0;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--muted);cursor:pointer;transition:border-color .16s ease,background .16s ease,color .16s ease,transform .16s ease;}
#calendarView .rocket-calendar-icon-button:hover{border-color:#0055DD;color:#0055DD;background:color-mix(in srgb,#0055DD 8%,var(--surface));transform:translateY(-1px);}
#calendarView .rocket-calendar-icon-button svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
#calendarView .rocket-calendar-view-switch{display:flex;align-items:center;padding:2px;border:1px solid var(--line);border-radius:9px;background:var(--surface-soft);}
#calendarView .rocket-calendar-view-switch button{height:28px;padding:0 11px;border:0;border-radius:7px;background:transparent;color:var(--muted);font:700 11px var(--font-caption);cursor:pointer;}
#calendarView .rocket-calendar-view-switch button[aria-current="true"]{background:#0055DD;color:#fff;box-shadow:0 2px 8px rgba(0,85,221,.22);}
#calendarView .rocket-calendar-layout{display:grid;grid-template-columns:minmax(0,1fr) 286px;gap:12px;min-height:0;flex:1 1 auto;}
#calendarView .rocket-calendar-main-card,#calendarView .rocket-calendar-side-card{border:1px solid var(--line);background:var(--surface);box-shadow:0 2px 8px rgba(11,24,39,.05);}
#calendarView .rocket-calendar-main-card{min-width:0;min-height:0;border-radius:11px;overflow:hidden;}
#calendarView .rocket-calendar-body{height:100%;min-height:0;overflow:auto;scrollbar-width:thin;}
#calendarView .rocket-calendar-side{display:flex;flex-direction:column;gap:10px;min-height:0;overflow:auto;scrollbar-width:thin;}
#calendarView .rocket-calendar-side-card{border-radius:10px;padding:13px;}
#calendarView .rocket-calendar-side-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px;}
#calendarView .rocket-calendar-side-head>div{display:grid;gap:2px;}
#calendarView .rocket-calendar-side-head strong{font:700 12px var(--font-caption);color:var(--ink);}
#calendarView .rocket-calendar-side-head small{font-size:10px;color:var(--muted);}
#calendarView .rocket-calendar-link-button{border:0;background:transparent;color:#0055DD;font:700 10px var(--font-caption);cursor:pointer;padding:4px 0;}
#calendarView .rocket-calendar-loading,#calendarView .rocket-calendar-error{height:100%;min-height:320px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px;color:var(--muted);font-size:12px;text-align:center;}
#calendarView .rocket-calendar-spinner{width:24px;height:24px;border:3px solid color-mix(in srgb,#0055DD 18%,transparent);border-top-color:#0055DD;border-radius:50%;animation:rocketCalendarSpin .8s linear infinite;}
@keyframes rocketCalendarSpin{to{transform:rotate(360deg)}}
#calendarView .rocket-calendar-error strong{color:var(--ink);font-size:14px;}#calendarView .rocket-calendar-error button{height:30px;padding:0 12px;border:1px solid #0055DD;border-radius:7px;background:#0055DD;color:#fff;cursor:pointer;}
#calendarView .rocket-calendar-empty{min-height:260px;display:grid;place-items:center;align-content:center;text-align:center;padding:24px;color:var(--muted);}
#calendarView .rocket-calendar-empty-icon{display:grid;place-items:center;width:48px;height:48px;margin-bottom:8px;border-radius:14px;background:color-mix(in srgb,#0055DD 12%,var(--surface));color:#0055DD;}
#calendarView .rocket-calendar-empty-icon svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.7;}
#calendarView .rocket-calendar-empty strong{color:var(--ink);font:700 15px var(--font-caption);}#calendarView .rocket-calendar-empty p{margin:5px 0 0;font-size:12px;}

/* Mes */
#calendarView .rocket-calendar-month{min-width:720px;height:100%;display:flex;flex-direction:column;}
#calendarView .rocket-calendar-month-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));height:34px;flex:0 0 34px;border-bottom:1px solid var(--line);background:var(--surface-soft);}
#calendarView .rocket-calendar-month-weekdays span{display:grid;place-items:center;color:var(--muted);font:700 10px var(--font-caption);text-transform:uppercase;letter-spacing:.05em;}
#calendarView .rocket-calendar-month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-template-rows:repeat(6,minmax(82px,1fr));flex:1 1 auto;min-height:510px;}
#calendarView .rocket-calendar-day-cell{position:relative;min-width:0;padding:7px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--surface);overflow:hidden;}
#calendarView .rocket-calendar-day-cell:nth-child(7n){border-right:0;}#calendarView .rocket-calendar-day-cell.is-outside{background:color-mix(in srgb,var(--surface-soft) 70%,var(--surface));opacity:.62;}#calendarView .rocket-calendar-day-cell.is-selected{box-shadow:inset 0 0 0 1px color-mix(in srgb,#0055DD 45%,transparent);}#calendarView .rocket-calendar-day-cell.is-today{background:color-mix(in srgb,#0055DD 5%,var(--surface));}
#calendarView .rocket-calendar-day-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:5px;}
#calendarView .rocket-calendar-day-head>button:first-child{display:grid;place-items:center;width:24px;height:24px;border:0;border-radius:50%;background:transparent;color:var(--ink);font:700 10px var(--font-caption);cursor:pointer;}#calendarView .rocket-calendar-day-cell.is-today .rocket-calendar-day-head>button:first-child{background:#0055DD;color:#fff;}
#calendarView .rocket-calendar-day-add{width:22px;height:22px;border:0;border-radius:6px;background:transparent;color:var(--muted);font-size:16px;line-height:1;cursor:pointer;opacity:0;transition:.15s;}#calendarView .rocket-calendar-day-cell:hover .rocket-calendar-day-add{opacity:1;}#calendarView .rocket-calendar-day-add:hover{background:color-mix(in srgb,#0055DD 10%,var(--surface));color:#0055DD;}
#calendarView .rocket-calendar-day-events{display:grid;gap:3px;}
#calendarView .rocket-calendar-event{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:5px;width:100%;min-width:0;height:23px;padding:0 6px;border:0;border-left:3px solid #0055DD;border-radius:5px;background:color-mix(in srgb,#0055DD 10%,var(--surface));color:var(--ink);cursor:pointer;text-align:left;overflow:hidden;}
#calendarView .rocket-calendar-event span{font-size:9px;color:var(--muted);font-variant-numeric:tabular-nums;}#calendarView .rocket-calendar-event strong{font:600 9px var(--font-caption);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}#calendarView .rocket-calendar-event.is-lead{border-left-color:#16a36a;background:color-mix(in srgb,#16a36a 10%,var(--surface));}#calendarView .rocket-calendar-event.is-team{border-left-color:#7b61ff;background:color-mix(in srgb,#7b61ff 11%,var(--surface));}
#calendarView .rocket-calendar-more{height:21px;border:0;background:transparent;color:#0055DD;font:700 9px var(--font-caption);text-align:left;cursor:pointer;padding:0 5px;}

/* Semana / Día */
#calendarView .rocket-calendar-schedule{height:100%;min-width:760px;display:flex;flex-direction:column;}
#calendarView .rocket-calendar-schedule-head{display:grid;grid-template-columns:58px repeat(var(--calendar-days),minmax(110px,1fr));height:48px;flex:0 0 48px;border-bottom:1px solid var(--line);background:var(--surface-soft);}
#calendarView .rocket-calendar-schedule-head>button{display:grid;place-items:center;align-content:center;gap:1px;border:0;border-left:1px solid var(--line);background:transparent;color:var(--ink);cursor:pointer;}#calendarView .rocket-calendar-schedule-head>button small{font-size:9px;text-transform:uppercase;color:var(--muted);}#calendarView .rocket-calendar-schedule-head>button strong{display:grid;place-items:center;width:23px;height:23px;border-radius:50%;font-size:11px;}#calendarView .rocket-calendar-schedule-head>button.is-today strong{background:#0055DD;color:#fff;}
#calendarView .rocket-calendar-schedule-scroll{min-height:0;overflow:auto;flex:1 1 auto;}
#calendarView .rocket-calendar-schedule-body{display:grid;grid-template-columns:58px repeat(var(--calendar-days),minmax(110px,1fr));min-height:840px;position:relative;}
#calendarView .rocket-calendar-time-rail{position:relative;height:840px;background:var(--surface);border-right:1px solid var(--line);}#calendarView .rocket-calendar-time-rail span{position:absolute;right:8px;transform:translateY(-6px);font-size:9px;color:var(--muted);font-variant-numeric:tabular-nums;}
#calendarView .rocket-calendar-day-lane{position:relative;height:840px;border-right:1px solid var(--line);background:repeating-linear-gradient(to bottom,transparent 0,transparent 55px,var(--line) 56px);}#calendarView .rocket-calendar-day-lane.is-today{background-color:color-mix(in srgb,#0055DD 3%,var(--surface));}
#calendarView .rocket-calendar-hour-slot{position:absolute;left:0;right:0;height:56px;border:0;background:transparent;cursor:crosshair;z-index:1;}#calendarView .rocket-calendar-hour-slot:hover{background:color-mix(in srgb,#0055DD 5%,transparent);}
#calendarView .rocket-calendar-timed-event{position:absolute;left:5px;right:5px;z-index:4;display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:5px 7px;border:1px solid color-mix(in srgb,#0055DD 50%,transparent);border-left:4px solid #0055DD;border-radius:7px;background:color-mix(in srgb,#0055DD 88%,#00193d);color:#fff;box-shadow:0 4px 10px rgba(0,0,0,.12);cursor:pointer;overflow:hidden;text-align:left;}#calendarView .rocket-calendar-timed-event span{font-size:9px;opacity:.88;font-variant-numeric:tabular-nums;}#calendarView .rocket-calendar-timed-event strong{font:700 10px var(--font-caption);line-height:1.2;}#calendarView .rocket-calendar-timed-event.is-lead{border-left-color:#2bc986;background:color-mix(in srgb,#087d52 86%,#001d18);}#calendarView .rocket-calendar-timed-event.is-team{border-left-color:#a894ff;background:color-mix(in srgb,#5f46d6 84%,#181035);}

/* Agenda */
#calendarView .rocket-calendar-agenda{padding:14px;display:grid;gap:13px;}
#calendarView .rocket-calendar-agenda-day{border:1px solid var(--line);border-radius:10px;background:var(--surface);overflow:hidden;}#calendarView .rocket-calendar-agenda-day>header{display:flex;align-items:center;justify-content:space-between;padding:9px 11px;border-bottom:1px solid var(--line);background:var(--surface-soft);}#calendarView .rocket-calendar-agenda-day>header>div{display:flex;align-items:baseline;gap:7px;}#calendarView .rocket-calendar-agenda-day>header strong{text-transform:capitalize;font:700 12px var(--font-caption);}#calendarView .rocket-calendar-agenda-day>header small{color:var(--muted);font-size:9px;}#calendarView .rocket-calendar-agenda-day>header button{border:0;background:transparent;color:#0055DD;font:700 10px var(--font-caption);cursor:pointer;}
#calendarView .rocket-calendar-agenda-events{display:grid;}#calendarView .rocket-calendar-agenda-row{display:grid;grid-template-columns:90px minmax(0,1fr) 18px;align-items:center;gap:10px;min-height:58px;padding:8px 12px;border:0;border-bottom:1px solid var(--line);border-left:4px solid #0055DD;background:var(--surface);color:var(--ink);text-align:left;cursor:pointer;}#calendarView .rocket-calendar-agenda-row:last-child{border-bottom:0;}#calendarView .rocket-calendar-agenda-row:hover{background:var(--surface-hover);}#calendarView .rocket-calendar-agenda-row.is-lead{border-left-color:#16a36a;}#calendarView .rocket-calendar-agenda-row.is-team{border-left-color:#7b61ff;}#calendarView .rocket-calendar-agenda-row time{font-size:11px;color:#0055DD;font-weight:700;font-variant-numeric:tabular-nums;}#calendarView .rocket-calendar-agenda-row>span{display:grid;gap:3px;min-width:0;}#calendarView .rocket-calendar-agenda-row strong{font:700 11px var(--font-caption);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}#calendarView .rocket-calendar-agenda-row small{font-size:10px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}#calendarView .rocket-calendar-agenda-row i{font-style:normal;color:var(--muted);font-size:20px;}

/* Panel lateral */
#calendarView .rocket-calendar-mini-title{text-transform:capitalize;color:var(--ink);font:700 11px var(--font-caption);margin-bottom:7px;}#calendarView .rocket-calendar-mini-weekdays,#calendarView .rocket-calendar-mini-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;}#calendarView .rocket-calendar-mini-weekdays span{display:grid;place-items:center;height:20px;color:var(--muted);font-size:8px;font-weight:700;}#calendarView .rocket-calendar-mini-grid button{position:relative;display:grid;place-items:center;height:27px;border:0;border-radius:7px;background:transparent;color:var(--ink);font-size:9px;cursor:pointer;}#calendarView .rocket-calendar-mini-grid button:hover{background:var(--surface-hover);}#calendarView .rocket-calendar-mini-grid button.is-outside{opacity:.35;}#calendarView .rocket-calendar-mini-grid button.is-selected{background:color-mix(in srgb,#0055DD 14%,var(--surface));color:#0055DD;font-weight:700;}#calendarView .rocket-calendar-mini-grid button.is-today{background:#0055DD;color:#fff;font-weight:700;}#calendarView .rocket-calendar-mini-grid button.has-events:after{content:"";position:absolute;bottom:2px;width:3px;height:3px;border-radius:50%;background:currentColor;}
#calendarView .rocket-calendar-upcoming-list{display:grid;gap:3px;}#calendarView .rocket-calendar-upcoming-item{display:grid;grid-template-columns:7px minmax(0,1fr);gap:8px;align-items:center;min-height:42px;padding:6px 7px;border:0;border-radius:7px;background:transparent;color:var(--ink);text-align:left;cursor:pointer;}#calendarView .rocket-calendar-upcoming-item:hover{background:var(--surface-hover);}#calendarView .rocket-calendar-upcoming-dot{width:7px;height:7px;border-radius:50%;background:#0055DD;}#calendarView .rocket-calendar-upcoming-item.is-lead .rocket-calendar-upcoming-dot{background:#16a36a;}#calendarView .rocket-calendar-upcoming-item.is-team .rocket-calendar-upcoming-dot{background:#7b61ff;}#calendarView .rocket-calendar-upcoming-item>span:last-child{display:grid;min-width:0;gap:2px;}#calendarView .rocket-calendar-upcoming-item strong{font:700 10px var(--font-caption);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}#calendarView .rocket-calendar-upcoming-item small{font-size:9px;color:var(--muted);}
#calendarView .rocket-calendar-side-empty{padding:12px 4px;color:var(--muted);font-size:10px;text-align:center;}
#calendarView .rocket-calendar-sync-heading{display:flex;align-items:center;gap:9px;margin-bottom:9px;}#calendarView .rocket-calendar-sync-icon{display:grid;place-items:center;width:31px;height:31px;border-radius:9px;background:color-mix(in srgb,#0055DD 12%,var(--surface));color:#0055DD;}#calendarView .rocket-calendar-sync-icon svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.7;}#calendarView .rocket-calendar-sync-heading>div{display:grid;gap:2px;}#calendarView .rocket-calendar-sync-heading strong{font:700 11px var(--font-caption);}#calendarView .rocket-calendar-sync-heading small{font-size:9px;color:var(--muted);}#calendarView .rocket-calendar-sync-heading small[data-connected="true"]{color:#16a36a;font-weight:700;}
#calendarView .rocket-calendar-status-box{margin:0 0 9px!important;padding:10px!important;gap:6px!important;border-radius:8px!important;}#calendarView .rocket-calendar-status-box .calendar-status-detail{font-size:10px;line-height:1.35;}#calendarView .rocket-calendar-status-box .calendar-status-line strong{font-size:10px;}#calendarView .rocket-calendar-sync-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px;}#calendarView .rocket-calendar-sync-actions .button{min-height:30px;height:30px;padding:0 8px;font-size:9px;border-radius:7px;text-decoration:none;display:flex;align-items:center;justify-content:center;}#calendarView .rocket-calendar-sync-actions #calendarConnect{grid-column:1/-1;}#calendarView .rocket-calendar-sync-note{margin:9px 0 0;color:var(--muted);font-size:9px;line-height:1.4;}#calendarView .rocket-calendar-sync-note strong{color:var(--ink);}

html[data-theme="dark"][data-brand-theme="rocket"] #calendarView .rocket-calendar-main-card,
html[data-theme="dark"][data-brand-theme="rocket"] #calendarView .rocket-calendar-side-card{box-shadow:0 7px 24px rgba(0,0,0,.16);}
@media(max-width:1120px){#calendarView .rocket-calendar-layout{grid-template-columns:minmax(0,1fr) 250px;}#calendarView .rocket-calendar-toolbar{align-items:flex-start;flex-wrap:wrap;}#calendarView .rocket-calendar-toolbar-actions{margin-left:auto;}}
@media(max-width:900px){#calendarView.rocket-calendar-view{overflow:auto!important;}#calendarView .rocket-calendar-layout{grid-template-columns:1fr;}#calendarView .rocket-calendar-side{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));overflow:visible;}#calendarView .rocket-calendar-main-card{min-height:620px;}#calendarView .rocket-calendar-sync-card{grid-column:auto;}}


/* ========================================================================== 
   ROCKET CRM V3.761 · Calendario WEB encajado en viewport
   - El workspace ya reserva ~15px bajo el header (80px total), por lo que
     Calendario no vuelve a sumar margen superior interno.
   - Evita el scrollbar vertical de página en WEB cuando el contenido cabe.
   - La vista Mes no necesita scroll interno; Semana/Día lo conservan donde
     es funcionalmente necesario por la grilla horaria.
   ========================================================================== */
@media (min-width: 901px) {
  .workspace-body:has(#calendarView:not([hidden])) {
    box-sizing: border-box !important;
    height: 100dvh !important;
    min-height: 100dvh !important;
    padding-top: 80px !important;
    padding-bottom: 0 !important;
    overflow: hidden !important;
  }

  .workspace-body:has(#calendarView:not([hidden])) > #calendarView.rocket-calendar-view {
    box-sizing: border-box !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    max-height: 100% !important;
    margin: 0 !important;
    padding: 0 15px 15px !important;
    overflow: hidden !important;
  }

  #calendarView .rocket-calendar-shell,
  #calendarView .rocket-calendar-layout,
  #calendarView .rocket-calendar-main-card,
  #calendarView .rocket-calendar-body {
    min-height: 0 !important;
  }

  #calendarView[data-calendar-view-mode="month"] .rocket-calendar-body {
    overflow-x: auto !important;
    overflow-y: hidden !important;
  }
}

@media (min-width: 901px) and (min-height: 760px) {
  #calendarView .rocket-calendar-side {
    overflow-y: hidden !important;
  }
}


/* ==========================================================================
   ROCKET CRM V3.762 · Calendario WEB · margen superior + sidebar completo
   - La toolbar deja de reservar 46px cuando sus controles reales miden 32px.
     Así el margen visual superior vuelve al estándar sin hueco adicional.
   - Compacta únicamente el panel lateral del Calendario para que la tarjeta
     Google Calendar cierre con su borde inferior dentro del viewport.
   ========================================================================== */
@media (min-width: 901px) {
  #calendarView .rocket-calendar-toolbar {
    min-height: 32px !important;
    height: 32px !important;
  }
  #calendarView .rocket-calendar-side {
    gap: 8px !important;
  }
  #calendarView .rocket-calendar-side-card {
    padding: 10px !important;
  }
  #calendarView .rocket-calendar-side-head {
    margin-bottom: 6px !important;
  }
  #calendarView .rocket-calendar-mini-title {
    margin-bottom: 4px !important;
  }
  #calendarView .rocket-calendar-mini-weekdays span {
    height: 16px !important;
  }
  #calendarView .rocket-calendar-mini-grid button {
    height: 22px !important;
  }
  #calendarView .rocket-calendar-upcoming-list {
    gap: 1px !important;
  }
  #calendarView .rocket-calendar-upcoming-item {
    min-height: 34px !important;
    padding: 3px 5px !important;
  }
  #calendarView .rocket-calendar-sync-heading {
    margin-bottom: 6px !important;
  }
  #calendarView .rocket-calendar-sync-icon {
    width: 28px !important;
    height: 28px !important;
  }
  #calendarView .rocket-calendar-status-box {
    margin-bottom: 6px !important;
    padding: 8px !important;
  }
  #calendarView .rocket-calendar-sync-actions .button {
    min-height: 28px !important;
    height: 28px !important;
  }
  #calendarView .rocket-calendar-sync-note {
    margin-top: 6px !important;
    font-size: 8.5px !important;
    line-height: 1.3 !important;
  }
  #calendarView .rocket-calendar-sync-card {
    flex: 0 0 auto !important;
    overflow: visible !important;
  }
}


/* =========================================================
   ROCKET V3.764 · DESARROLLOS · VISTA INICIAL (base)
   Snapshot normalizado de ZUBA PARK + Magallanes.
   ========================================================= */
.developments-view{padding:15px;overflow:visible}
.developments-shell{display:grid;gap:14px;min-width:0}
.developments-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;padding:18px 20px;border:1px solid var(--border,#2b394b);border-radius:14px;background:linear-gradient(135deg,rgba(0,85,221,.14),rgba(0,85,221,.025) 54%,rgba(255,255,255,.012));box-shadow:0 18px 45px rgba(0,0,0,.13)}
.developments-hero-copy{min-width:0}.developments-kicker{display:block;margin-bottom:4px;color:#6ea7ff;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.developments-hero h2{margin:0;color:var(--text,#f7f9fc);font-size:22px;line-height:1.15}.developments-hero p{max-width:760px;margin:5px 0 0;color:var(--muted,#9fb0c6);font-size:12px;line-height:1.45}.developments-snapshot{display:inline-flex;align-items:center;gap:7px;flex:0 0 auto;padding:7px 10px;border:1px solid rgba(0,85,221,.45);border-radius:999px;background:rgba(0,85,221,.09);color:#cfe0ff;font-size:11px;font-weight:700}.developments-snapshot i{width:7px;height:7px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 4px rgba(34,197,94,.12)}
.developments-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.developments-kpi-grid article{display:grid;gap:3px;min-height:88px;padding:13px 15px;border:1px solid var(--border,#2b394b);border-radius:12px;background:var(--panel,#131d2b)}.developments-kpi-grid span{color:var(--muted,#9fb0c6);font-size:11px;font-weight:700}.developments-kpi-grid strong{color:var(--text,#fff);font-size:23px;line-height:1}.developments-kpi-grid small{color:#708197;font-size:10px;line-height:1.3}
.developments-sources{display:grid;gap:9px}.developments-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;padding:0 2px}.developments-section-heading>div{display:grid;gap:2px}.developments-section-heading strong{font-size:13px;color:var(--text,#fff)}.developments-section-heading small,.developments-section-heading>span{color:var(--muted,#9fb0c6);font-size:10px}.developments-source-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.developments-source-card{display:grid;grid-template-rows:auto auto auto 1fr auto;gap:3px;min-width:0;min-height:132px;padding:12px;text-align:left;border:1px solid var(--border,#2b394b);border-radius:12px;background:var(--panel,#131d2b);color:var(--text,#fff);cursor:pointer;transition:border-color .18s ease,transform .18s ease,background .18s ease}.developments-source-card:hover{transform:translateY(-1px);border-color:rgba(0,85,221,.7);background:rgba(0,85,221,.075)}.developments-source-card.is-selected{border-color:#0055DD;box-shadow:0 0 0 1px rgba(0,85,221,.18) inset}.developments-source-card.is-pending{cursor:default;opacity:.72}.developments-source-card.is-pending:hover{transform:none;border-color:var(--border,#2b394b);background:var(--panel,#131d2b)}.developments-source-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.developments-source-logo{display:grid;place-items:center;width:26px;height:26px;border-radius:8px;background:#0055DD;color:#fff;font-size:12px;font-weight:900}.developments-source-tag{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:120px;padding:3px 6px;border-radius:999px;background:rgba(0,85,221,.12);color:#82adff;font-size:9px;font-weight:800}.developments-source-card strong{margin-top:4px;font-size:13px}.developments-source-card>small{color:#8ea2bb;font-size:10px}.developments-source-card p{margin:5px 0 2px;color:#a8b7ca;font-size:10px;line-height:1.35}.developments-source-meta{font-size:9px;font-weight:800;color:#6ea7ff}
.developments-inventory-card{overflow:hidden;border:1px solid var(--border,#2b394b);border-radius:13px;background:var(--panel,#131d2b)}.developments-inventory-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 13px;border-bottom:1px solid var(--border,#2b394b)}.developments-inventory-head>div{display:grid;gap:1px}.developments-inventory-head strong{font-size:13px}.developments-inventory-head small{color:var(--muted,#9fb0c6);font-size:10px}.developments-readonly-chip{padding:4px 7px;border:1px solid rgba(0,85,221,.35);border-radius:999px;background:rgba(0,85,221,.08);color:#77aaff;font-size:9px;font-weight:800}
.developments-toolbar{display:grid;grid-template-columns:minmax(240px,1.6fr) minmax(130px,.72fr) minmax(130px,.72fr) minmax(155px,.85fr) 125px auto;gap:8px;padding:10px 12px;border-bottom:1px solid var(--border,#2b394b);background:rgba(8,14,23,.14)}.developments-toolbar input,.developments-toolbar select{width:100%;height:34px;min-width:0;border:1px solid #314157;border-radius:8px;background:#111b29;color:var(--text,#fff);font-size:11px;outline:none}.developments-toolbar select{padding:0 9px}.developments-toolbar input:focus,.developments-toolbar select:focus{border-color:#0055DD;box-shadow:0 0 0 2px rgba(0,85,221,.12)}.developments-search-field{position:relative}.developments-search-field svg{position:absolute;left:10px;top:9px;width:16px;height:16px;fill:none;stroke:#72849b;stroke-width:1.8}.developments-search-field input{padding:0 10px 0 34px}.developments-price-field{position:relative;display:block}.developments-price-field span{position:absolute;left:8px;top:3px;color:#65778e;font-size:8px;font-weight:800;pointer-events:none}.developments-price-field input{padding:10px 8px 0}.developments-reset{height:34px;padding:0 10px;border:1px solid rgba(239,68,68,.65);border-radius:8px;background:transparent;color:#ff7474;font-size:10px;font-weight:800;cursor:pointer}.developments-reset:hover{background:rgba(239,68,68,.08)}
.developments-table-wrap{width:100%;overflow-x:auto;overflow-y:visible}.developments-table{width:100%;border-collapse:collapse;table-layout:auto}.developments-table th{height:38px;padding:0 11px;border-bottom:2px solid #33445a;background:#111b28;color:#9eb0c6;font-size:9px;font-weight:800;text-align:left;text-transform:uppercase;letter-spacing:.025em;white-space:nowrap}.developments-table td{height:45px;padding:6px 11px;border-bottom:1px solid #26364a;color:#dce5f0;font-size:10px;vertical-align:middle;white-space:nowrap}.developments-table tr[data-development-unit]{cursor:pointer;transition:background .15s ease}.developments-table tr[data-development-unit]:hover,.developments-table tr[data-development-unit]:focus{outline:none;background:rgba(0,85,221,.07)}.developments-table td strong{display:block;color:#f8fbff;font-size:10px}.developments-table td small{display:block;margin-top:2px;color:#71839a;font-size:8px}.developments-cash-price{color:#79aaff!important}.developments-status{display:inline-flex;align-items:center;justify-content:center;min-width:68px;padding:4px 7px;border:1px solid transparent;border-radius:999px;font-size:8px;font-weight:900}.developments-status.available{border-color:rgba(34,197,94,.34);background:rgba(34,197,94,.10);color:#59d98a}.developments-status.reserved{border-color:rgba(245,158,11,.38);background:rgba(245,158,11,.10);color:#ffc45a}.developments-status.occupied{border-color:rgba(139,92,246,.38);background:rgba(139,92,246,.10);color:#b89cff}.developments-status.sold{border-color:rgba(100,116,139,.38);background:rgba(100,116,139,.12);color:#aeb9c9}.developments-status.unknown{border-color:rgba(239,68,68,.30);background:rgba(239,68,68,.07);color:#ff8585}.developments-empty{display:grid;place-items:center;gap:3px;min-height:150px;color:#8192a8;text-align:center}.developments-empty strong{font-size:12px}.developments-empty span{font-size:10px}
.developments-pagination{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;min-height:45px;padding:7px 12px;border-top:1px solid #2a3a4e;background:#111a27;color:#8496ad;font-size:9px}.developments-page-size{display:flex;align-items:center;gap:6px}.developments-page-size select{height:28px;border:1px solid #314157;border-radius:7px;background:#111b29;color:#fff;font-size:10px}.developments-pagination>strong{font-size:9px;font-weight:700}.developments-pagination nav{display:flex;justify-content:flex-end;align-items:center;gap:4px}.developments-pagination nav>button,.developments-pagination nav div button{width:28px;height:28px;border:1px solid #314157;border-radius:7px;background:#111b29;color:#b8c5d5;font-size:12px;cursor:pointer}.developments-pagination nav>button:disabled{opacity:.35;cursor:default}.developments-pagination nav div{display:flex;gap:4px}.developments-pagination nav div button[aria-current="page"]{border-color:#0055DD;background:#0055DD;color:#fff;font-weight:900}
.developments-roadmap-note{display:flex;gap:11px;padding:11px 13px;border:1px dashed rgba(0,85,221,.45);border-radius:11px;background:rgba(0,85,221,.045)}.developments-roadmap-note>span{display:grid;place-items:center;flex:0 0 auto;width:25px;height:25px;border-radius:8px;background:rgba(0,85,221,.12);color:#6ea7ff;font-weight:900}.developments-roadmap-note div{display:grid;gap:2px}.developments-roadmap-note strong{font-size:10px;color:#dfe9f6}.developments-roadmap-note p{margin:0;color:#7f91a8;font-size:9px;line-height:1.45}
.developments-detail-card{width:min(680px,calc(100vw - 28px))}.developments-detail-kicker{display:block;margin-bottom:3px;color:#6ea7ff;font-size:9px;font-weight:800;text-transform:uppercase}.developments-detail-card .modal-header h3{margin:0}.developments-detail-body{display:grid;gap:14px;padding:16px 18px}.developments-detail-summary{display:flex;align-items:center;gap:10px;padding:11px 12px;border:1px solid #2d3c50;border-radius:10px;background:#111b29}.developments-detail-summary>strong{font-size:13px}.developments-detail-summary>small{margin-left:auto;color:#8799b0;font-size:10px}.developments-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.developments-detail-grid article{display:grid;gap:3px;padding:10px;border:1px solid #2a394c;border-radius:9px;background:#121c2a}.developments-detail-grid span{color:#778ba4;font-size:8px;font-weight:800;text-transform:uppercase}.developments-detail-grid strong{font-size:11px;color:#f4f8fc}.developments-detail-source-note{display:grid;gap:3px;padding:11px;border-left:3px solid #0055DD;background:rgba(0,85,221,.055)}.developments-detail-source-note strong{font-size:10px}.developments-detail-source-note p{margin:0;color:#97a8bc;font-size:9px;line-height:1.4}.developments-detail-source-note small{color:#697d96;font-size:8px}
@media(max-width:1180px){.developments-source-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.developments-toolbar{grid-template-columns:1.4fr repeat(3,minmax(120px,.7fr));}.developments-price-field,.developments-reset{grid-row:2}.developments-price-field{grid-column:1 / span 2}.developments-reset{grid-column:4}}
@media(max-width:900px){.developments-view{padding:10px}.developments-hero{align-items:flex-start;flex-direction:column;padding:14px}.developments-snapshot{align-self:flex-start}.developments-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.developments-source-grid{grid-template-columns:1fr 1fr}.developments-toolbar{grid-template-columns:1fr 1fr}.developments-search-field{grid-column:1/-1}.developments-price-field,.developments-reset{grid-row:auto;grid-column:auto}.developments-table-wrap{overflow:visible}.developments-table,.developments-table tbody,.developments-table tr,.developments-table td{display:block;width:100%}.developments-table thead{display:none}.developments-table tbody{padding:8px}.developments-table tr[data-development-unit]{display:grid;grid-template-columns:1fr 1fr;gap:8px 12px;margin-bottom:8px;padding:11px;border:1px solid #293a4f;border-radius:10px;background:#121c29}.developments-table td{display:grid;grid-template-columns:90px 1fr;align-items:center;min-height:28px;height:auto;padding:2px 0;border:0;white-space:normal}.developments-table td::before{content:attr(data-label);color:#6f839d;font-size:8px;font-weight:800;text-transform:uppercase}.developments-table td[data-label="Desarrollo"],.developments-table td[data-label="Tipología"]{grid-column:1/-1}.developments-pagination{grid-template-columns:1fr auto}.developments-pagination>strong{display:none}.developments-detail-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.developments-source-grid{grid-template-columns:1fr}.developments-toolbar{grid-template-columns:1fr}.developments-price-field,.developments-reset{grid-column:auto}.developments-kpi-grid article{min-height:80px;padding:11px}.developments-kpi-grid strong{font-size:20px}.developments-pagination{grid-template-columns:1fr}.developments-pagination nav{justify-content:space-between}.developments-detail-grid{grid-template-columns:1fr}.developments-detail-summary{align-items:flex-start;flex-wrap:wrap}.developments-detail-summary>small{width:100%;margin-left:0}}


/* =========================================================
   ROCKET V3.765 · DESARROLLOS · HEADER + MARGEN WEB
   - filtros en el header de la sección
   - margen superior alineado al workspace (sin doble padding)
   ========================================================= */
@media (min-width: 901px) {
  .workspace-body:has(#developmentsView:not([hidden])) > #developmentsView.developments-view {
    padding: 0 15px 15px !important;
  }

  .workspace-header:has(#developmentsSearchZone:not([hidden])) .workspace-title-zone {
    width: 205px;
    min-width: 205px;
  }

  .workspace-header:has(#developmentsSearchZone:not([hidden])) .workspace-actions {
    display: none;
  }

  #developmentsSearchZone:not([hidden]) {
    display: grid;
    grid-template-columns:
      minmax(210px,1.55fr)
      minmax(120px,.72fr)
      minmax(120px,.72fr)
      minmax(150px,.88fr)
      minmax(92px,.52fr)
      auto;
    align-items: center;
    gap: 8px;
    padding: 0 15px 0 8px;
    overflow: visible;
  }

  #developmentsSearchZone .developments-search-field,
  #developmentsSearchZone .developments-price-field {
    min-width: 0;
  }

  #developmentsSearchZone input,
  #developmentsSearchZone select,
  #developmentsSearchZone .developments-reset {
    width: 100%;
    height: 30px;
    min-width: 0;
    border-radius: 6px;
    font-size: 10px;
  }

  #developmentsSearchZone input,
  #developmentsSearchZone select {
    border: 1px solid #314157;
    background: #111b29;
    color: var(--text,#fff);
    outline: none;
  }

  #developmentsSearchZone select { padding: 0 8px; }
  #developmentsSearchZone input:focus,
  #developmentsSearchZone select:focus {
    border-color: #0055DD;
    box-shadow: 0 0 0 2px rgba(0,85,221,.12);
  }

  #developmentsSearchZone .developments-search-field { position: relative; }
  #developmentsSearchZone .developments-search-field svg {
    position: absolute;
    z-index: 1;
    left: 9px;
    top: 7px;
    width: 15px;
    height: 15px;
    fill: none;
    stroke: #72849b;
    stroke-width: 1.8;
    pointer-events: none;
  }
  #developmentsSearchZone .developments-search-field input { padding: 0 8px 0 31px; }

  #developmentsSearchZone .developments-price-field { position: relative; display: block; }
  #developmentsSearchZone .developments-price-field span {
    position: absolute;
    z-index: 1;
    left: 7px;
    top: 2px;
    color: #65778e;
    font-size: 7px;
    font-weight: 800;
    pointer-events: none;
  }
  #developmentsSearchZone .developments-price-field input { padding: 9px 7px 0; }

  #developmentsSearchZone .developments-reset {
    width: auto;
    padding: 0 10px;
    border: 1px solid rgba(239,68,68,.65);
    background: transparent;
    color: #ff7474;
    font-weight: 800;
    white-space: nowrap;
    cursor: pointer;
  }
  #developmentsSearchZone .developments-reset:hover { background: rgba(239,68,68,.08); }
}

@media (min-width: 901px) and (max-width: 1280px) {
  .workspace-header:has(#developmentsSearchZone:not([hidden])) .workspace-title-zone {
    width: 170px;
    min-width: 170px;
    padding-left: 20px;
  }
  #developmentsSearchZone:not([hidden]) {
    grid-template-columns:minmax(170px,1.3fr) minmax(100px,.65fr) minmax(105px,.65fr) minmax(125px,.78fr) 88px auto;
    gap: 6px;
    padding-right: 10px;
  }
}

/* En PWA/Mobile los filtros siguen dentro del header, pero se prioriza el buscador
   y se permite desplazamiento horizontal controlado para no comprimir inputs. */
@media (max-width: 900px) {
  .workspace-header:has(#developmentsSearchZone:not([hidden])) .workspace-actions { display:none; }
  #developmentsSearchZone:not([hidden]) {
    display: flex;
    gap: 7px;
    padding: 0 8px;
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-width: none;
  }
  #developmentsSearchZone:not([hidden])::-webkit-scrollbar { display:none; }
  #developmentsSearchZone .developments-search-field { flex:0 0 230px; }
  #developmentsSearchZone select { flex:0 0 140px; }
  #developmentsSearchZone #developmentsTypologyFilter { flex-basis:170px; }
  #developmentsSearchZone .developments-price-field { flex:0 0 105px; }
  #developmentsSearchZone .developments-reset { flex:0 0 auto; }
  #developmentsSearchZone input,
  #developmentsSearchZone select,
  #developmentsSearchZone .developments-reset { height:34px; }
  #developmentsSearchZone input,
  #developmentsSearchZone select {
    min-width:0;
    border:1px solid #314157;
    border-radius:8px;
    background:#111b29;
    color:var(--text,#fff);
    font-size:11px;
    outline:none;
  }
  #developmentsSearchZone select { padding:0 9px; }
  #developmentsSearchZone input:focus,
  #developmentsSearchZone select:focus { border-color:#0055DD;box-shadow:0 0 0 2px rgba(0,85,221,.12); }
}


/* =========================================================
   ROCKET V3.766 · DESARROLLOS · FILTROS ROCKET BLUE
   - filtros primero, buscador neutro al extremo derecho
   - borrar filtros conserva patrón rojo/transparent
   ========================================================= */
@media (min-width: 901px) {
  #developmentsSearchZone:not([hidden]) {
    grid-template-columns:
      minmax(120px,.72fr)
      minmax(120px,.72fr)
      minmax(150px,.88fr)
      minmax(92px,.52fr)
      auto
      minmax(230px,1.55fr) !important;
  }

  #developmentsSearchZone select,
  #developmentsSearchZone .developments-price-field input {
    border-color:#0055DD !important;
    background:#0055DD !important;
    color:#fff !important;
    font-weight:800;
  }
  #developmentsSearchZone select:hover,
  #developmentsSearchZone .developments-price-field input:hover,
  #developmentsSearchZone select:focus,
  #developmentsSearchZone .developments-price-field input:focus {
    border-color:#0047B8 !important;
    background:#0047B8 !important;
    box-shadow:0 0 0 2px rgba(0,85,221,.14) !important;
  }
  #developmentsSearchZone .developments-price-field span { color:rgba(255,255,255,.72) !important; }
  #developmentsSearchZone .developments-price-field input::placeholder { color:rgba(255,255,255,.78); opacity:1; }

  /* El buscador queda deliberadamente neutro, igual que en Cierres/otros headers. */
  #developmentsSearchZone .developments-search-field input {
    border-color:#314157 !important;
    background:#111b29 !important;
    color:var(--text,#fff) !important;
    font-weight:400;
  }
  #developmentsSearchZone .developments-search-field input:focus {
    border-color:#0055DD !important;
    background:#111b29 !important;
  }
  #developmentsSearchZone .developments-search-field svg { stroke:#72849b !important; }
}

@media (min-width: 901px) and (max-width: 1280px) {
  #developmentsSearchZone:not([hidden]) {
    grid-template-columns:minmax(100px,.65fr) minmax(105px,.65fr) minmax(125px,.78fr) 88px auto minmax(180px,1.3fr) !important;
  }
}

@media (max-width: 900px) {
  /* Mantener el mismo orden semántico en PWA: filtros -> limpiar -> buscar. */
  #developmentsSearchZone select,
  #developmentsSearchZone .developments-price-field input {
    border-color:#0055DD !important;
    background:#0055DD !important;
    color:#fff !important;
    font-weight:800;
  }
  #developmentsSearchZone .developments-price-field span { color:rgba(255,255,255,.72) !important; }
  #developmentsSearchZone .developments-price-field input::placeholder { color:rgba(255,255,255,.78); opacity:1; }
  #developmentsSearchZone .developments-search-field input {
    border-color:#314157 !important;
    background:#111b29 !important;
    color:var(--text,#fff) !important;
    font-weight:400;
  }
}


/* =========================================================
   ROCKET V3.767 · TOP'S + CIERRES
   - "N lados · N cierres" en una sola línea.
   - El filtro de asesores de Cierres se alimenta solo de la nómina interna (lógica JS).
   ========================================================= */
#topsView .tops-value{white-space:nowrap;}


/* =========================================================
   ROCKET V3.768 · DESARROLLOS · HEADER SIMPLIFICADO
   - elimina USD máx.
   - tipografía unificada a 12px
   - filtros visibles en minúsculas
   ========================================================= */
#developmentsSearchZone select,
#developmentsSearchZone .developments-reset,
#developmentsSearchZone .developments-search-field input {
  font-size:12px !important;
}
#developmentsSearchZone select {
  text-transform:lowercase !important;
  font-weight:700 !important;
}
/* Precio: conservar etiquetas en minúsculas, pero respetar USD en mayúsculas. */
#developmentsSearchZone #developmentsPriceRangeFilter {
  text-transform:none !important;
}
#developmentsSearchZone .developments-reset {
  text-transform:lowercase !important;
}
@media (min-width:901px) {
  #developmentsSearchZone:not([hidden]) {
    grid-template-columns:
      minmax(125px,.75fr)
      minmax(125px,.75fr)
      minmax(165px,.95fr)
      auto
      minmax(270px,1.65fr) !important;
  }
}
@media (min-width:901px) and (max-width:1280px) {
  #developmentsSearchZone:not([hidden]) {
    grid-template-columns:minmax(105px,.68fr) minmax(110px,.68fr) minmax(135px,.82fr) auto minmax(200px,1.35fr) !important;
  }
}


/* =========================================================
   ROCKET V3.769 · DESARROLLOS · FILTROS SIMÉTRICOS + RANGO
   - Fuente, Estado, Tipología y Rango comparten el ancho base de Estado.
   - Nuevo filtro por precio contado; valor inicial: todos.
   ========================================================= */
@media (min-width:1281px) {
  #developmentsSearchZone:not([hidden]) {
    grid-template-columns:210px 210px 210px 210px auto minmax(240px,1fr) !important;
    gap:8px !important;
  }
  #developmentsSearchZone #developmentsSourceFilter,
  #developmentsSearchZone #developmentsStatusFilter,
  #developmentsSearchZone #developmentsTypologyFilter,
  #developmentsSearchZone #developmentsPriceRangeFilter {
    width:210px !important;
    min-width:210px !important;
    max-width:210px !important;
  }
}
@media (min-width:901px) and (max-width:1280px) {
  #developmentsSearchZone:not([hidden]) {
    grid-template-columns:repeat(4,minmax(120px,1fr)) auto minmax(180px,1.25fr) !important;
    gap:6px !important;
  }
  #developmentsSearchZone #developmentsSourceFilter,
  #developmentsSearchZone #developmentsStatusFilter,
  #developmentsSearchZone #developmentsTypologyFilter,
  #developmentsSearchZone #developmentsPriceRangeFilter {
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
  }
}
@media (max-width:900px) {
  #developmentsSearchZone #developmentsSourceFilter,
  #developmentsSearchZone #developmentsStatusFilter,
  #developmentsSearchZone #developmentsTypologyFilter,
  #developmentsSearchZone #developmentsPriceRangeFilter {
    flex:0 0 150px !important;
    width:150px !important;
  }
}

/* =========================================================
   ROCKET V3.770 · DESARROLLOS · HEADER COMPACTO POR CONTENIDO
   - cada dropdown ocupa solo el ancho necesario para su texto visible
   - el buscador absorbe el espacio restante y permanece completamente visible
   - se eliminan los anchos fijos/simétricos de V3.769 en WEB
   ========================================================= */
@media (min-width:901px) {
  #developmentsSearchZone:not([hidden]) {
    display:flex !important;
    align-items:center !important;
    gap:8px !important;
    min-width:0 !important;
    width:100% !important;
    padding:0 15px 0 8px !important;
    overflow:hidden !important;
  }

  #developmentsSearchZone #developmentsSourceFilter,
  #developmentsSearchZone #developmentsStatusFilter,
  #developmentsSearchZone #developmentsTypologyFilter,
  #developmentsSearchZone #developmentsPriceRangeFilter {
    flex:0 0 auto !important;
    width:auto !important;
    min-width:0 !important;
    field-sizing:content;
    padding-left:10px !important;
    padding-right:28px !important;
    white-space:nowrap;
  }

  /* Límites de seguridad: el texto manda, pero ningún filtro puede comerse el buscador. */
  #developmentsSearchZone #developmentsSourceFilter { max-width:170px !important; }
  #developmentsSearchZone #developmentsStatusFilter { max-width:145px !important; }
  #developmentsSearchZone #developmentsTypologyFilter { max-width:195px !important; }
  #developmentsSearchZone #developmentsPriceRangeFilter { max-width:205px !important; }

  #developmentsSearchZone .developments-reset {
    flex:0 0 auto !important;
    width:auto !important;
    min-width:max-content !important;
  }

  #developmentsSearchZone .developments-search-field {
    flex:1 1 300px !important;
    width:auto !important;
    min-width:220px !important;
    max-width:none !important;
  }
  #developmentsSearchZone .developments-search-field input {
    width:100% !important;
    min-width:0 !important;
  }
}

@media (min-width:901px) and (max-width:1280px) {
  .workspace-header:has(#developmentsSearchZone:not([hidden])) .workspace-title-zone {
    width:155px !important;
    min-width:155px !important;
  }
  #developmentsSearchZone:not([hidden]) { gap:6px !important; padding-right:10px !important; }
  #developmentsSearchZone #developmentsSourceFilter { max-width:145px !important; }
  #developmentsSearchZone #developmentsStatusFilter { max-width:125px !important; }
  #developmentsSearchZone #developmentsTypologyFilter { max-width:165px !important; }
  #developmentsSearchZone #developmentsPriceRangeFilter { max-width:180px !important; }
  #developmentsSearchZone .developments-search-field { min-width:170px !important; flex-basis:220px !important; }
}


/* ============================================================
   ROCKET V3.771 · DESARROLLOS · SINCRONIZACIÓN V1
   ============================================================ */
.developments-sync-cluster{display:flex;align-items:center;gap:8px;flex:0 0 auto}
.developments-sync-button{height:30px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 11px;border:1px solid rgba(0,85,221,.8);border-radius:9px;background:rgba(0,85,221,.1);color:#79aaff;font:800 10px/1 inherit;text-transform:lowercase;cursor:pointer;white-space:nowrap}
.developments-sync-button:hover,.developments-sync-button:focus-visible{background:#0055DD;color:#fff;border-color:#0055DD;outline:none}
.developments-sync-button:disabled{opacity:.58;cursor:wait}
.developments-sync-button.is-loading span{display:inline-block;animation:developments-sync-spin .85s linear infinite}
@keyframes developments-sync-spin{to{transform:rotate(360deg)}}
.developments-snapshot.is-warning{border-color:rgba(245,158,11,.55);color:#f5c86b}
.developments-snapshot.is-warning i{background:#f59e0b;box-shadow:0 0 0 4px rgba(245,158,11,.12)}
#developmentsPriceRangeFilter option:disabled{color:#64748b}
@media(max-width:1100px){.developments-sync-cluster{align-self:flex-start;flex-wrap:wrap}}


/* =========================================================
   ROCKET V3.772 · DESARROLLOS PWA + CAPTACIONES UX
   - Captaciones: Restablecer vuelve a ser un botón enmarcado en WEB/PWA.
   - Desarrollos PWA: scroll vertical real, buscador fijo en header y filtros
     dentro del drawer con temática Rocket Blue.
   - Toast informativo CIVIS/Marena: una línea en WEB y hasta dos en PWA.
   ========================================================= */

/* Captaciones · acción secundaria claramente delimitada. */
#captacionesAdvancedReset{
  min-width:112px;
  min-height:36px;
  padding:0 14px;
  border:1px solid #40516a !important;
  border-radius:8px !important;
  background:transparent !important;
  color:var(--ink,#fff) !important;
  font-size:12px !important;
  font-weight:800 !important;
  line-height:1 !important;
}
#captacionesAdvancedReset:hover,
#captacionesAdvancedReset:focus-visible{
  border-color:#5d7190 !important;
  background:rgba(255,255,255,.045) !important;
  outline:none;
}

/* Mensaje de fuentes pendientes: no cortar innecesariamente en escritorio. */
.toast[data-kind="developments-info"]{
  width:max-content;
  max-width:calc(100vw - 44px);
  white-space:nowrap;
}

@media(max-width:900px){
  /* Desarrollos necesita ser una vista de contenido largo: el workspace es el
     único scroll vertical, igual que Dashboard/Flyers/Canva. */
  body.rocket-mobile-crm-context .workspace-body:has(#developmentsView:not([hidden])){
    overflow-x:hidden !important;
    overflow-y:auto !important;
    -webkit-overflow-scrolling:touch !important;
    overscroll-behavior-y:contain !important;
    touch-action:pan-y !important;
  }
  body.rocket-mobile-crm-context #developmentsView.developments-view:not([hidden]){
    box-sizing:border-box !important;
    height:auto !important;
    min-height:calc(100dvh - var(--header-height,58px)) !important;
    max-height:none !important;
    overflow:visible !important;
    touch-action:pan-y !important;
    padding-bottom:calc(18px + env(safe-area-inset-bottom)) !important;
  }

  /* El buscador permanece visible en el header y los selects viajan al drawer. */
  body.rocket-mobile-crm-context #developmentsSearchZone:not([hidden]){
    display:flex !important;
    align-items:center !important;
    min-width:0 !important;
    flex:1 1 auto !important;
    padding:0 6px 0 10px !important;
  }
  body.rocket-mobile-crm-context #developmentsSearchZone:not([hidden]) > .developments-search-field{
    display:flex !important;
    position:relative !important;
    flex:1 1 auto !important;
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
    height:38px !important;
    margin:0 !important;
  }
  body.rocket-mobile-crm-context #developmentsSearchZone .developments-search-field input{
    display:block !important;
    width:100% !important;
    min-width:0 !important;
    height:38px !important;
    padding:0 9px 0 32px !important;
    border:1px solid #314157 !important;
    border-radius:8px !important;
    background:#111b29 !important;
    color:var(--text,#fff) !important;
    font-size:16px !important; /* iOS: evita focus zoom */
    line-height:1 !important;
    outline:none !important;
  }
  body.rocket-mobile-crm-context #developmentsSearchZone .developments-search-field svg{
    display:block !important;
    position:absolute !important;
    z-index:1;
    left:10px !important;
    top:11px !important;
    width:16px !important;
    height:16px !important;
    stroke:#72849b !important;
    pointer-events:none;
  }

  /* Controles trasladados por rocket-mobile.js al drawer. */
  body.rocket-mobile-crm-context .rocket-mobile-filter-body > :is(
    #developmentsSourceFilter,
    #developmentsStatusFilter,
    #developmentsTypologyFilter,
    #developmentsPriceRangeFilter
  ){
    display:block !important;
    flex:0 0 auto !important;
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
    height:42px !important;
    margin:0 !important;
    padding:0 32px 0 12px !important;
    border:1px solid #0055DD !important;
    border-radius:8px !important;
    background:#0055DD !important;
    color:#fff !important;
    font-size:12px !important;
    font-weight:800 !important;
    text-transform:none !important;
    box-sizing:border-box !important;
  }
  body.rocket-mobile-crm-context .rocket-mobile-filter-body > :is(
    #developmentsSourceFilter,
    #developmentsStatusFilter,
    #developmentsTypologyFilter,
    #developmentsPriceRangeFilter
  ):focus{
    border-color:#0047B8 !important;
    background:#0047B8 !important;
    box-shadow:0 0 0 2px rgba(0,85,221,.15) !important;
    outline:none !important;
  }
  body.rocket-mobile-crm-context .rocket-mobile-filter-body > #developmentsResetFilters{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    flex:0 0 auto !important;
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
    height:42px !important;
    margin:0 !important;
    padding:0 12px !important;
    border:1px solid #d65a5a !important;
    border-radius:8px !important;
    background:transparent !important;
    color:#c64747 !important;
    font-size:12px !important;
    font-weight:800 !important;
    text-transform:lowercase !important;
    box-sizing:border-box !important;
  }

  #captacionesAdvancedReset{
    min-height:42px !important;
    font-size:12px !important;
  }

  .toast[data-kind="developments-info"]{
    left:12px;
    right:12px;
    width:auto;
    max-width:none;
    white-space:normal;
    line-height:1.35;
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
    overflow:hidden;
  }
}


/* =========================================================
   ROCKET V3.774 · FILTROS AVANZADOS · ACCIONES UNIFICADAS
   - Canva: Restablecer vuelve a ser botón secundario enmarcado.
   - Captaciones: Aplicar filtros y Restablecer comparten tipografía,
     altura, padding y ritmo visual en WEB/PWA.
   ========================================================= */
.captaciones-advanced-filter-actions > .button,
html[data-canva-active="true"] .canva-advanced-filter-actions > .button{
  box-sizing:border-box !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:38px;
  padding:0 16px !important;
  border-radius:6px !important;
  font-family:var(--font-ui) !important;
  font-size:13px !important;
  font-weight:700 !important;
  line-height:1 !important;
  white-space:nowrap !important;
}
#captacionesAdvancedReset,
html[data-canva-active="true"] #canvaAdvancedReset{
  min-width:112px;
  border:1px solid #40516a !important;
  background:transparent !important;
  color:var(--ink,#fff) !important;
  text-decoration:none !important;
}
#captacionesAdvancedReset:hover,
#captacionesAdvancedReset:focus-visible,
html[data-canva-active="true"] #canvaAdvancedReset:hover,
html[data-canva-active="true"] #canvaAdvancedReset:focus-visible{
  border-color:#5d7190 !important;
  background:rgba(255,255,255,.045) !important;
  color:var(--ink,#fff) !important;
  outline:none !important;
}
@media(max-width:820px){
  .captaciones-advanced-filter-actions > .button,
  html[data-canva-active="true"] .canva-advanced-filter-actions > .button{
    min-height:42px !important;
    font-size:13px !important;
  }
  #captacionesAdvancedReset,
  html[data-canva-active="true"] #canvaAdvancedReset{
    min-width:0 !important;
  }
}


/* ========================================================================== 
   ROCKET CRM V3.776 · Calendario · eventos azul Rocket + respiración vertical
   - Los recordatorios/equipos dejan de usar el lila y adoptan #0055DD.
   - Semana/Día ganan aire inferior sin alterar la grilla horaria.
   ========================================================================== */
#calendarView .rocket-calendar-event.is-team{
  border-left-color:#0055DD!important;
  background:color-mix(in srgb,#0055DD 11%,var(--surface))!important;
}
#calendarView .rocket-calendar-timed-event.is-team{
  border-color:#0055DD!important;
  border-left-color:#0055DD!important;
  background:#0055DD!important;
  color:#FFFFFF!important;
}
#calendarView .rocket-calendar-agenda-row.is-team{
  border-left-color:#0055DD!important;
}
#calendarView .rocket-calendar-upcoming-item.is-team .rocket-calendar-upcoming-dot{
  background:#0055DD!important;
}
#calendarView .rocket-calendar-timed-event{
  padding:5px 7px 7px!important;
}
#calendarView .rocket-calendar-timed-event span{
  line-height:1!important;
}
#calendarView .rocket-calendar-timed-event strong{
  line-height:1.08!important;
}


/* ========================================================================== 
   ROCKET CRM V3.778 · Calendario · Refresh + próximos recordatorios
   - Horarios con chip tonal azul para dar fondo/aire sin competir con el CTA.
   - "+ Nuevo" como chip primario azul Rocket + texto blanco.
   ========================================================================== */
#calendarView .rocket-calendar-agenda-row time{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  justify-self:start;
  min-width:78px;
  min-height:30px;
  padding:0 9px;
  box-sizing:border-box;
  border:1px solid color-mix(in srgb,#0055DD 58%,transparent);
  border-radius:8px;
  background:color-mix(in srgb,#0055DD 14%,var(--surface));
  color:#2f83ff;
  font-size:10px;
  font-weight:700;
  line-height:1;
  white-space:nowrap;
}
#calendarView .rocket-calendar-agenda-day>header button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:26px;
  padding:0 10px;
  box-sizing:border-box;
  border:1px solid #0055DD;
  border-radius:999px;
  background:#0055DD;
  color:#FFFFFF;
  font:700 10px/1 var(--font-caption);
  white-space:nowrap;
  cursor:pointer;
  transition:background .15s ease,border-color .15s ease,transform .15s ease;
}
#calendarView .rocket-calendar-agenda-day>header button:hover,
#calendarView .rocket-calendar-agenda-day>header button:focus-visible{
  background:#0047B8;
  border-color:#0047B8;
}
#calendarView .rocket-calendar-agenda-day>header button:active{
  transform:translateY(1px);
}
@media(max-width:900px){
  #calendarView .rocket-calendar-agenda-row{
    grid-template-columns:82px minmax(0,1fr) 16px;
    gap:8px;
  }
  #calendarView .rocket-calendar-agenda-row time{
    min-width:72px;
    min-height:28px;
    padding:0 7px;
    font-size:9px;
  }
  #calendarView .rocket-calendar-agenda-day>header button{
    min-height:28px;
    padding:0 10px;
  }
}

/* ROCKET CRM V3.778 · Calendario · Refresh a la derecha + 5ta fila próximos */
#calendarView .rocket-calendar-toolbar-actions > .rocket-calendar-view-switch{order:0;}
#calendarView #calendarNewEvent{order:1;}
#calendarView #calendarRefresh{order:2;margin-left:0;border-color:#0055DD!important;background:#0055DD!important;color:#fff!important;}
#calendarView #calendarRefresh:hover{border-color:#0048BE!important;background:#0048BE!important;color:#fff!important;transform:translateY(-1px);}
#calendarView #calendarRefresh:focus-visible{outline:2px solid color-mix(in srgb,#0055DD 42%, transparent);outline-offset:2px;}
#calendarView .rocket-calendar-upcoming-list{display:grid;gap:4px;}
#calendarView .rocket-calendar-upcoming-item,#calendarView .rocket-calendar-upcoming-item.is-placeholder{display:grid;grid-template-columns:7px minmax(0,1fr);gap:8px;align-items:center;min-height:42px;padding:6px 7px;border:0;border-radius:7px;background:transparent;color:var(--ink);text-align:left;}
#calendarView .rocket-calendar-upcoming-item.is-placeholder{cursor:default;opacity:.92;}
#calendarView .rocket-calendar-upcoming-item.is-placeholder .rocket-calendar-upcoming-dot{background:color-mix(in srgb,var(--muted) 55%, transparent);}
#calendarView .rocket-calendar-upcoming-item.is-placeholder strong{color:var(--muted);font-weight:700;}
#calendarView .rocket-calendar-upcoming-item.is-placeholder small{opacity:0;}
@media (max-width: 1120px){
  #calendarView .rocket-calendar-toolbar-actions > .rocket-calendar-view-switch{order:0;}
  #calendarView #calendarNewEvent{order:1;}
  #calendarView #calendarRefresh{order:2;}
}


/* ==========================================================================
   ROCKET CRM V3.779 · Calendario · lateral perfectamente alineado en WEB
   La tarjeta de Google Calendar absorbe únicamente el espacio libre restante
   para cerrar exactamente sobre la misma línea inferior del calendario.
   ========================================================================== */
@media (min-width: 901px) {
  #calendarView .rocket-calendar-side {
    height: 100%;
  }
  #calendarView .rocket-calendar-sync-card {
    flex: 1 1 auto !important;
    min-height: 0;
  }
}
