/* Reglas oscuras AP. Carga controlada por ap-global.js. */

/* ap-theme.css */
:root {
    color-scheme: dark;
    --ap-dark-text: var(--ap-color-text-on-dark,#f2f2f2);
    --ap-dark-muted: #b2b2b2;
    --ap-dark-gold: var(--ap-gold);
    --ap-dark-primary-action: var(--ap-dark-gold,var(--ap-gold));
    --ap-dark-primary-action-interactive: var(--ap-color-accent-muted);
}

/* SUPERFICIES NOCTURNAS CON MATIZ CONTROLADO
   ap-global.css aplica el matiz perceptual de cada acento sobre una escala
   neutral comun para Gold, Ocean, Teal y Crimson. */

html[data-ap-resolved-theme="dark"] .ap-phase-projection,
html[data-ap-theme="dark"] .ap-phase-projection{
  --phase-surface:var(--ap-dark-surface,#181818);
  --phase-surface-soft:var(--ap-dark-surface,#181818);
  --phase-border:var(--ap-dark-border,#3e3e3e);
  --phase-text:#ededed;
  --phase-muted:#a4a4a4;
  --phase-axis:#f3f3f3;
  --phase-grid:#343434;
  --phase-green:#69b945;
  --phase-yellow:#ffb02e;
  --phase-red:#ff6259;
}
html[data-ap-resolved-theme="dark"] .planning-view,
html[data-ap-theme="dark"] .planning-view{
  --phase-green:#69b945;
  --phase-yellow:#ffb02e;
  --phase-red:#ff6259;
  --pace-alert-caution-fill:#d49a24;
  --pace-alert-caution-stroke:#ffd16a;
  --pace-alert-caution-mark:#111111;
  --pace-alert-danger-fill:#ef5149;
  --pace-alert-danger-stroke:#ff9a94;
  --pace-alert-danger-mark:#fff;
  --ap-ribbon-icon-surface:var(--ap-color-accent-surface);
  --ap-ribbon-icon-surface-strong:var(--ap-color-accent-surface-strong);
  --ap-ribbon-icon-border:var(--ap-color-accent-border);
  --ap-ribbon-icon-ink:var(--ap-color-accent-bright);
}
html:is([data-ap-resolved-theme="dark"],[data-ap-theme="dark"]) body :is(#phaseWeeklyPacePreview,#phaseExpectedPace).ap-phase-pace-value.is-pace-recommended{color:var(--phase-green)!important}
html:is([data-ap-resolved-theme="dark"],[data-ap-theme="dark"]) body :is(#phaseWeeklyPacePreview,#phaseExpectedPace).ap-phase-pace-value.is-pace-caution{color:var(--phase-yellow)!important}
html:is([data-ap-resolved-theme="dark"],[data-ap-theme="dark"]) body :is(#phaseWeeklyPacePreview,#phaseExpectedPace).ap-phase-pace-value.is-pace-excessive{color:var(--phase-red)!important}
.ap-phase-projection .ap-phase-chart__grid text,
.ap-phase-projection .ap-phase-chart__axis-labels,
.ap-phase-projection .ap-phase-chart__points text{
  fill:#f3f3f3!important;
  color:#f3f3f3!important;
  -webkit-text-fill-color:#f3f3f3!important;
  opacity:1!important;
}
html:is([data-ap-resolved-theme="dark"],[data-ap-theme="dark"]) .planning-view .macro-ring>circle:first-child{
  stroke:#454545!important;
}
html[data-ap-resolved-theme="dark"] .ap-dropdown__option[aria-selected="true"],
html[data-ap-theme="dark"] .ap-dropdown__option[aria-selected="true"]{background:var(--ap-gold);color:var(--ap-color-on-accent);box-shadow:none}
html[data-ap-resolved-theme="dark"] .ap-dropdown__option[aria-selected="true"] small,
html[data-ap-theme="dark"] .ap-dropdown__option[aria-selected="true"] small{color:var(--ap-color-on-accent)}
html[data-ap-resolved-theme="dark"] .ap-dropdown,
html[data-ap-theme="dark"] .ap-dropdown{--dropdown-surface:var(--ap-dark-surface,#181818);--dropdown-text:#ededed;--dropdown-muted:#a4a4a4;--dropdown-border:var(--ap-dark-border,#3e3e3e)}
html:is([data-ap-resolved-theme="dark"],[data-ap-theme="dark"]) body .ap-dropdown__menu,
html:is([data-ap-resolved-theme="dark"],[data-ap-theme="dark"]) body .ap-dropdown__menu--portal{
  background:var(--ap-dark-surface,#181818)!important;
  opacity:1!important;
}
html:is([data-ap-resolved-theme="dark"],[data-ap-theme="dark"]) body .ap-dropdown__option[aria-selected="true"]{
  background:var(--ap-gold)!important;
  color:var(--ap-color-on-accent)!important;
}

html[data-ap-resolved-theme="dark"] .ap-dropdown__option:focus-visible,
html[data-ap-theme="dark"] .ap-dropdown__option:focus-visible{background:var(--ap-dark-hover,#3a3a3a);color:#eeeeee;box-shadow:inset 3px 0 0 var(--ap-gold)}@media(hover:hover) and (pointer:fine){html[data-ap-resolved-theme="dark"] .ap-dropdown__option:not([aria-selected="true"]):hover,
html[data-ap-theme="dark"] .ap-dropdown__option:not([aria-selected="true"]):hover{background:var(--ap-dark-hover,#3a3a3a);color:#eeeeee;box-shadow:inset 3px 0 0 var(--ap-gold)}}

html[data-ap-resolved-theme="dark"] .ap-dropdown__option:focus-visible small,
html[data-ap-theme="dark"] .ap-dropdown__option:focus-visible small{color:#d1d1d1}@media(hover:hover) and (pointer:fine){html[data-ap-resolved-theme="dark"] .ap-dropdown__option:not([aria-selected="true"]):hover small,
html[data-ap-theme="dark"] .ap-dropdown__option:not([aria-selected="true"]):hover small{color:#d1d1d1}}

html[data-ap-resolved-theme="dark"] .country-picker-option:focus-visible,
html[data-ap-theme="dark"] .country-picker-option:focus-visible{background:var(--ap-dark-hover,#3a3a3a)!important;color:#eeeeee!important;box-shadow:inset 3px 0 0 var(--ap-gold)}@media(hover:hover) and (pointer:fine){html[data-ap-resolved-theme="dark"] .country-picker-option:not([aria-selected="true"]):hover,
html[data-ap-theme="dark"] .country-picker-option:not([aria-selected="true"]):hover{background:var(--ap-dark-hover,#3a3a3a)!important;color:#eeeeee!important;box-shadow:inset 3px 0 0 var(--ap-gold)}}

html[data-ap-resolved-theme="dark"] .country-picker-option:focus-visible small,
html[data-ap-theme="dark"] .country-picker-option:focus-visible small{background:#464646!important;color:#eeeeee!important}@media(hover:hover) and (pointer:fine){html[data-ap-resolved-theme="dark"] .country-picker-option:not([aria-selected="true"]):hover small,
html[data-ap-theme="dark"] .country-picker-option:not([aria-selected="true"]):hover small{background:#464646!important;color:#eeeeee!important}}
html[data-ap-resolved-theme="dark"] .country-picker-option[aria-selected="true"],
html[data-ap-theme="dark"] .country-picker-option[aria-selected="true"]{background:var(--ap-gold)!important;color:var(--ap-color-on-accent)!important;box-shadow:none}
html[data-ap-resolved-theme="dark"] .country-picker-option[aria-selected="true"] small,
html[data-ap-theme="dark"] .country-picker-option[aria-selected="true"] small{background:#111!important;color:var(--ap-gold)!important}

  html,
  body {
    background: var(--ap-dark-bg) !important;
    color: var(--ap-dark-text) !important;
  }

  @media (max-width: 760px) {
    ap-sidebar {
      background: #0b0b0b;
      color: #ffffff;
    }

    ap-sidebar .ap-nav-item {
      color: #e2e2e2;
    }


    ap-sidebar .ap-nav-item:focus-visible {
      background: var(--ap-sidebar-hover);
    }@media(hover:hover) and (pointer:fine){ap-sidebar .ap-nav-item:not(.active):hover{
      background: var(--ap-sidebar-hover);
    }}

    ap-sidebar .ap-nav-item.active {
      background: var(--ap-sidebar-active);
    }
  }

  body,
  main,
  .wrapper,
  .advisor-home,
  .planning-view,
  .config-view,
  .existing-view,
  .welcome {
    color: var(--ap-dark-text);
  }

  /* Fondo principal uniforme: Valoración define el estándar nocturno. */
  .asesorados-content,
  .ap-tab-page,
  .advisor-home,
  .valuation-view,
  .planning-view,
  .config-view,
  .existing-view,
  .home-card {
    background: var(--ap-dark-tab-bg) !important;
  }

  /* Superficies generales */
  .home-panel,
  .ap-surface,
  .home-dashboard-action,
  .home-status-grid,
  .advisor-action,
  .card,
  .config-panel,
  .existing-filters,
  .existing-results,
  .existing-footer,
  .valuation-panel,
  .method-rule,
  .planning-panel,
  .planning-client,
  .database-status,
  .excel-drop,
  .projection-card,
  .planning-split,
  .planning-split > div,
  .planning-energy .energy-grid,
  .planning-energy .energy-grid > div,
  .planning-view .macros-grid,
  .planning-view .macros-grid > div,
  .body-projection-content,
  .planning-view .body-projection-grid > .projection-card {
    background: var(--ap-dark-surface) !important;
    border-color: var(--ap-dark-border) !important;
    color: var(--ap-dark-text) !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .24) !important;
  }

  .advisor-action:focus-visible,
  .home-dashboard-action:focus-visible,
  .home-action:focus-visible {
    border-color: var(--ap-dark-gold) !important;
  }@media(hover:hover) and (pointer:fine){.advisor-action:hover,
  .home-dashboard-action:hover,
  .home-action:hover{
    border-color: var(--ap-dark-gold) !important;
  }}

  .advisor-action-icon,
  .home-icon,
  .home-action-icon {
    background: rgba(203, 169, 119, .12) !important;
  }

  /* Texto */
  h1, h2, h3, h4,
  label,
  strong,
  .advisor-action,
  .home-dashboard-action,
  .home-panel h1,
  .planning-hero h1,
  .result-name,
  .client-field label {
    color: var(--ap-dark-text);
  }

  p,
  small,
  .advisor-kicker,
  .advisor-welcome p:not(.advisor-kicker),
  .advisor-action small,
  .home-dashboard-action small,
  .advisor-footer,
  .home-panel p,
  .planning-hero p,
  .planning-client small,
  .method-rule p,
  .quick-label,
  .macro-status,
  .macro-legend,
  .projection-values > .projection-delta {
    color: var(--ap-dark-muted) !important;
  }

  a {
    color: var(--ap-dark-gold);
  }

  /* Formularios */
  input,
  select,
  textarea,
  output:not(.ap-unit-mobile-display),
  .field,
  .result-value input,
  .result-value textarea,
  .planning-field input,
  .planning-field select,
  .planning-field output {
    background: var(--ap-dark-field) !important;
    border-color: var(--ap-dark-border) !important;
    color: var(--ap-dark-text) !important;
  }

  input::placeholder,
  textarea::placeholder {
    color: #949494 !important;
    opacity: 1;
  }

  input[readonly],
  input:disabled,
  select:disabled,
  textarea:disabled,
  .macro-input-card input[readonly] {
    background: var(--ap-dark-surface,#181818) !important;
    color: #a4a4a4 !important;
  }

  option {
    background: var(--ap-dark-field);
    color: var(--ap-dark-text);
  }

  .home-action.secondary,
  .client-button,
  .valuation-button,
  .existing-clear,
  .recent-searches button,
  .existing-footer button:not(.ap-save-button),
  .prescription-input-wrap input {
    background: var(--ap-dark-field) !important;
    border-color: var(--ap-dark-border) !important;
    color: var(--ap-dark-text) !important;
  }

  @media(hover:hover) and (pointer:fine){.home-action.secondary:hover,
  .client-button:hover,
  .valuation-button:hover,
  .existing-clear:hover,
  .recent-searches button:hover,
  .existing-footer button:not(.ap-save-button):hover {
    background: var(--ap-dark-hover,#3a3a3a) !important;
    border-color: var(--ap-dark-gold) !important;
  }}

  /* Divisiones, tablas y bloques informativos */
  .client-actions,
  .valuation-row,
  .valuation-row > label,
  .valuation-row > .result-name,
  .metric-summary,
  .metric-item,
  .planning-split > div + div,
  .energy-grid > div + div,
  .macros-grid > div + div,
  .formula-description,
  .formula-guide,
  table,
  th,
  td {
    border-color: var(--ap-dark-border) !important;
  }

  .valuation-note,
  .planning-note,
  .phase-note,
  .projection-important,
  .planning-view .projection-phase .phase-duration,
  .formula-guide {
    background: color-mix(in srgb,var(--ap-color-accent) 9%,var(--ap-dark-surface-raised)) !important;
    border-color: color-mix(in srgb,var(--ap-color-accent) 42%,var(--ap-dark-border)) !important;
    color: #d1d1d1 !important;
  }

  .planning-view .projection-phase .phase-duration strong,
  .activity-contribution-legend .activity-share,
  .macro-chart-row .macro-legend,
  .macro-summary-table thead th,
  .macro-ring text {
    color: var(--ap-dark-text) !important;
    fill: var(--ap-dark-text);
  }

  .projection-objectives-head,
  .existing-table thead,
  .macro-summary-table thead,
  .plan-table th {
    background: color-mix(in srgb,var(--ap-color-accent) 14%,var(--ap-dark-surface-raised)) !important;
    color: var(--ap-dark-text) !important;
  }

  .macro-ring-center {
    background: var(--ap-dark-surface-raised) !important;
    box-shadow: 0 0 0 1px var(--ap-dark-border) !important;
  }

  .bar {
    background: #353535 !important;
  }

  .planning-choice .selected,
  .energy-total {
    background: var(--ap-color-accent-surface) !important;
    border-color: var(--ap-color-accent-muted) !important;
    color: var(--ap-dark-text) !important;
  }

  .phase-scroll button,
  .phase-weeks i,
  .phase-dot,
  .legend-dot {
    background: #2d2d2d !important;
    border-color: #5a5a5a !important;
    color: var(--ap-dark-gold) !important;
  }

  .phase-legend {
    background: #242424 !important;
    border: 1px solid #454545 !important;
    color: var(--ap-dark-muted) !important;
  }

  .phase-scroll-track {
    background: #353535 !important;
    border: 1px solid #484848 !important;
  }

  .phase-scroll-track i {
    background: #858585 !important;
  }

  .phase-line {
    background: #707070 !important;
  }

  .phase-point b,
  .phase-point small,
  .projection-phase-dates {
    color: var(--ap-dark-text) !important;
  }

  .phase-point.start .phase-dot,
  .legend-dot.black {
    background: #8a8a8a !important;
    border-color: #8a8a8a !important;
  }

  .legend-dot.gold,
  .legend-dot.flag,
  .phase-point.goal .phase-dot {
    background: #2d2d2d !important;
    border-color: var(--ap-dark-gold) !important;
    color: var(--ap-dark-gold) !important;
  }

  /* Bloques de actividad */
  .activity-contribution {
    background: var(--ap-dark-surface-raised,#202020) !important;
    border-color: var(--ap-dark-border,#3e3e3e) !important;
    color: var(--ap-dark-text) !important;
  }

  .activity-contribution-bar {
    background: var(--ap-dark-field,#252525) !important;
    border-color: var(--ap-dark-border,#3e3e3e) !important;
  }

  .activity-contribution-head small,
  .activity-contribution-legend span,
  .activity-contribution-legend small,
  .activity-contribution-legend .activity-decimal,
  .activity-contribution-empty {
    color: var(--ap-dark-muted) !important;
  }

  .activity-contribution-legend b,
  .activity-contribution-legend .activity-share {
    color: var(--ap-dark-text) !important;
  }

  /* Distribución de la composición corporal */
  .body-composition-card,
  .results-dashboard .body-composition-card {
    background: var(--ap-dark-surface-raised,#202020) !important;
    border-color: var(--ap-dark-border,#3e3e3e) !important;
    color: var(--ap-dark-text) !important;
  }

  .body-composition-copy h3 {
    color: var(--ap-dark-text) !important;
  }

  .body-composition-copy p,
  .body-composition-legend {
    color: var(--ap-dark-muted) !important;
  }

  .body-composition-legend strong {
    color: var(--ap-dark-text) !important;
  }

  .body-composition-legend .fat-dot {
    background: #111 !important;
  }

  .body-composition-card {
    --ap-composition-fat: #111;
    --ap-composition-lean: var(--ap-gold);
  }

  .body-composition-pie {
    border-color: #515151 !important;
    box-shadow: 0 20px 20px rgba(0, 0, 0, .28) !important;
  }

  .body-composition-pie.is-empty {
    background: #2d2d2d !important;
  }

  .body-composition-pie span {
    color: var(--ap-dark-muted) !important;
  }

  .body-composition-pie:not(.is-empty) {
    border-color: #3b3b3b !important;
  }

  /* Configuración */
  .config-panel {
    background: var(--ap-dark-surface) !important;
  }

  .config-title p,
  .config-data dd,
  .config-success span,
  .config-info,
  .config-footer {
    color: var(--ap-dark-muted) !important;
  }

  .config-db-actions,
  .config-backup-actions,
  .config-about > div {
    border-color: var(--ap-dark-border) !important;
  }

  .config-success {
    background: #182218 !important;
    border-color: #3d5739 !important;
  }

  .config-success strong {
    color: #85bd70 !important;
  }

  .config-button,
  .config-info {
    background: var(--ap-dark-field,#252525) !important;
    border-color: #494949 !important;
    color: var(--ap-dark-text) !important;
  }


  .config-button:focus-visible {
    background: #303030 !important;
    border-color: var(--ap-dark-gold) !important;
  }@media(hover:hover) and (pointer:fine){.config-button:hover{
    background: #303030 !important;
    border-color: var(--ap-dark-gold) !important;
  }}

  /* Acciones principales: acento en reposo y superficie clara sólo en hover. */
  .client-button.primary,
  .valuation-button.primary,
  .planning-save {
    background: var(--ap-dark-primary-action) !important;
    border-color: var(--ap-dark-primary-action) !important;
    color: #0b0b0b !important;
    box-shadow: none;
  }


  .client-button.primary:focus-visible,
  .valuation-button.primary:focus-visible,
  .planning-save:focus-visible {
    background: var(--ap-dark-primary-action-interactive) !important;
    border-color: var(--ap-dark-primary-action-interactive) !important;
    color: #0b0b0b !important;
  }@media(hover:hover) and (pointer:fine){.client-button.primary:hover,
  .valuation-button.primary:hover,
  .planning-save:hover{
    background: var(--ap-dark-primary-action-interactive) !important;
    border-color: var(--ap-dark-primary-action-interactive) !important;
    color: #0b0b0b !important;
  }}

  .config-icon {
    background: rgba(203, 169, 119, .12) !important;
  }

  /* Consulta y búsqueda de asesorados */
  .existing-filters,
  .existing-results,
  .existing-footer,
  .home-status-grid {
    background: var(--ap-dark-surface) !important;
    border-color: var(--ap-dark-border) !important;
  }

  .existing-results-head,
  .existing-table th,
  .existing-table td,
  .home-status-grid > div {
    border-color: var(--ap-dark-border) !important;
  }

  .existing-heading p,
  .existing-table th,
  .existing-footer small,
  .home-status-grid small {
    color: var(--ap-dark-muted) !important;
  }

  .client-status.activo {
    background: #182218 !important;
    border-color: #3d5739 !important;
    color: #85bd70 !important;
  }

  .client-status.pausado {
    background: #2a2a2a !important;
    border-color: #6a5430 !important;
    color: #d6a23a !important;
    -webkit-text-fill-color: #d6a23a !important;
  }

  .client-status.finalizado {
    background: var(--ap-dark-field,#252525) !important;
    border-color: #484848 !important;
    color: #b2b2b2 !important;
  }

  /* La sección de resultados ya usa una base oscura; solo se armonizan sus tarjetas. */
  .results-dashboard .results-group {
    background: var(--ap-dark-surface) !important;
    border-color: var(--ap-dark-border) !important;
    color: var(--ap-dark-text) !important;
  }

  .valuation-view input:not([readonly]),
  .valuation-view select,
  .valuation-view textarea {
    background: #2a2a2a !important;
    border-color: #484848 !important;
    color: var(--ap-dark-text) !important;
  }

  .valuation-view input[readonly] {
    background: #242424 !important;
    border-color: #404040 !important;
    color: #b2b2b2 !important;
  }

  .valuation-panel.results-panel,
  .results-panel .results-dashboard {
    background: var(--ap-dark-surface,#181818) !important;
    border-color: var(--ap-dark-border) !important;
  }

  .results-dashboard .result-value input,
  .results-dashboard .justification-row .result-value textarea {
    background: #292929 !important;
    border-color: var(--ap-dark-border) !important;
    color: var(--ap-dark-text) !important;
  }

  .results-dashboard .official-result .result-value input {
    background: #2b2b2b !important;
    color: var(--ap-gold) !important;
  }

  /* Pantalla de acceso */
  body:has(.screen) {
    background: var(--ap-dark-canvas) !important;
  }

  .screen .logo-frame .logo-desktop {
    content: url("../assets/ap-horizontal-dark-recolor.png?v=20260801-3");
    position: static;
    width: 100%;
    height: auto;
    object-fit: fill;
    margin: 0 auto;
    transform: none;
  }

  @media (max-width: 600px) {
    .logo-frame .logo-mobile-light {
      display: none !important;
    }

    .logo-frame .logo-mobile-dark {
      display: block;
      position: static;
      width: 100%;
      height: auto;
      margin: 0 auto;
      object-fit: fill;
      transform: none;
    }
  }

  @media (max-width: 600px) and (min-height: 720px) {
    .logo-frame {
      height: auto;
      aspect-ratio: 944 / 561;
    }

    .logo-frame .logo-mobile-dark {
      display: none !important;
    }

    .logo-frame .logo-mobile-dark-with-tagline {
      display: block;
      position: static;
      width: 100%;
      height: auto;
      margin: 0 auto;
      object-fit: fill;
      transform: none;
    }
  }

  .screen .field {
    background: rgba(32, 32, 30, .92) !important;
  }

  .screen .assessment {
    background: var(--ap-dark-surface) !important;
    border-color: var(--ap-dark-border) !important;
  }

  .screen .field-icon,
  .screen .eye,
  .screen .note {
    color: var(--ap-dark-muted) !important;
  }

  .screen .remember input {
    border-color: var(--ap-dark-muted);
  }

  .screen .remember input:checked {
    border-color: var(--ap-dark-muted);
    background: transparent;
    box-shadow: none;
  }

  .screen .remember input:checked + .remember-mark {
    background: var(--gold);
    opacity: 1;
  }

  .screen .version {
    color: var(--ap-dark-text);
  }

  .screen .primary {
    color: #0b0b0b;
  }


  .screen .primary:focus-visible {
    background: #f2f2f2;
    color: #0b0b0b;
  }@media(hover:hover) and (pointer:fine){.screen .primary:hover{
    background: #f2f2f2;
    color: #0b0b0b;
  }}
.ap-save-button{
    border-color:var(--ap-dark-primary-action,var(--ap-gold))!important;
    background:var(--ap-dark-primary-action,var(--ap-gold))!important;
    color:var(--ap-color-on-accent)!important;
    box-shadow:none!important;
  }
  .config-logout-action{
    border-color:var(--config-crimson,#87383e)!important;
    background:var(--config-crimson,#87383e)!important;
    color:#0b0b0b!important;
    box-shadow:none!important;
  }
  .config-logout-action:focus-visible{
    border-color:color-mix(in srgb,var(--config-crimson,#87383e) 46%,#fff)!important;
    background:color-mix(in srgb,var(--config-crimson,#87383e) 46%,#fff)!important;
    color:#0b0b0b!important;
    box-shadow:none!important;
  }
  @media(hover:hover) and (pointer:fine){
    .config-logout-action:hover{
      border-color:color-mix(in srgb,var(--config-crimson,#87383e) 46%,#fff)!important;
      background:color-mix(in srgb,var(--config-crimson,#87383e) 46%,#fff)!important;
      color:#0b0b0b!important;
      box-shadow:none!important;
    }
  }
  :root body .config-accent-option .config-accent-buttons .ap-save-button,
  :root body .config-accent-option .config-accent-buttons .ap-save-button:focus-visible{
    box-shadow:none!important;
  }@media(hover:hover) and (pointer:fine){
  :root body .config-accent-option .config-accent-buttons .ap-save-button:hover{
    box-shadow:none!important;
  }}
  .ap-save-button:focus-visible{
    border-color:var(--ap-dark-primary-action-interactive,var(--ap-color-accent-muted))!important;
    background:var(--ap-dark-primary-action-interactive,var(--ap-color-accent-muted))!important;
    color:var(--ap-color-on-accent)!important;
  }
.ap-cancel-button,.ap-secondary-button{
    border-color:var(--ap-dark-gold,var(--ap-gold))!important;
    background:var(--ap-dark-surface,#181818)!important;
    color:var(--ap-dark-gold,var(--ap-gold))!important;
  }
  .ap-cancel-button:focus-visible,
  .ap-secondary-button:focus-visible{
    border-color:var(--ap-color-accent-bright)!important;
    background:var(--ap-color-accent-surface-strong)!important;
    color:var(--ap-gold)!important;
  }
  /* Excepción de contraste: Seleccionar vive sobre filas del mismo tono que la superficie secundaria. */
  .select-client.ap-secondary-button{
    background:#0b0b0b!important;
    border-color:#424242!important;
    color:#fff!important;
  }
  .select-client.ap-secondary-button:focus-visible{
    background:var(--ap-color-accent-surface-strong)!important;
    border-color:var(--ap-color-accent-bright)!important;
    color:var(--ap-gold)!important;
  }
  @media(hover:hover) and (pointer:fine){
    .ap-save-button:hover{
      border-color:var(--ap-dark-primary-action-interactive,var(--ap-color-accent-muted))!important;
      background:var(--ap-dark-primary-action-interactive,var(--ap-color-accent-muted))!important;
      color:var(--ap-color-on-accent)!important;
    }
    .ap-cancel-button:hover,
    .ap-secondary-button:hover,
    .select-client.ap-secondary-button:hover{
      border-color:var(--ap-color-accent-bright)!important;
      background:var(--ap-color-accent-surface-strong)!important;
      color:var(--ap-gold)!important;
    }
  }
#login-form .field input,
  #login-form .field input:focus,
  #login-form .field input:focus-visible{
    border:0!important;
    outline:0!important;
    background:transparent!important;
    box-shadow:none!important;
    text-decoration:none!important;
    -webkit-text-fill-color:var(--ap-dark-text,#f2f2f2)!important;
  }
  #login-form .field input::placeholder{
    color:#949494!important;
    -webkit-text-fill-color:#949494!important;
    opacity:1;
  }
  #login-form .field input:-webkit-autofill,
  #login-form .field input:-webkit-autofill:focus{
    border:0!important;
    background-color:transparent!important;
    background-clip:text!important;
    -webkit-background-clip:text!important;
    -webkit-text-fill-color:var(--ap-dark-text,#f2f2f2)!important;
    -webkit-box-shadow:none!important;
    box-shadow:none!important;
    caret-color:var(--ap-dark-text,#f2f2f2);
    text-decoration:none!important;
    transition:background-color 9999s ease-out 0s;
  }@media(hover:hover) and (pointer:fine){
  #login-form .field input:-webkit-autofill:hover{
    border:0!important;
    background-color:transparent!important;
    background-clip:text!important;
    -webkit-background-clip:text!important;
    -webkit-text-fill-color:var(--ap-dark-text,#f2f2f2)!important;
    -webkit-box-shadow:none!important;
    box-shadow:none!important;
    caret-color:var(--ap-dark-text,#f2f2f2);
    text-decoration:none!important;
    transition:background-color 9999s ease-out 0s;
  }}
  #login-form .field:focus-within{
    border-color:var(--ap-dark-gold,var(--ap-gold))!important;
    outline:none!important;
    box-shadow:0 0 0 2px color-mix(in srgb,var(--ap-gold) 22%,transparent)!important;
  }

/* config-v2.css */

/* Asesorados_AP.html */
.country-picker-trigger,.country-picker-panel,.country-picker-search{border-color:var(--ap-dark-border,#3e3e3e);background:var(--ap-dark-field,#252525);color:var(--ap-dark-text,#f2f2f2)}.country-picker-option{border-bottom-color:var(--ap-dark-border,#3e3e3e)}.country-picker-option:focus-visible{background:var(--ap-dark-surface-raised,#202020)}@media(hover:hover) and (pointer:fine){.country-picker-option:not([aria-selected="true"]):hover{background:var(--ap-dark-surface-raised,#202020)}}.country-picker-option small{background:#353535;color:var(--ap-dark-gold,var(--ap-gold))}.country-picker-trigger.is-placeholder,.country-picker-empty,.country-picker-hint{color:var(--ap-dark-muted,#b2b2b2)}
.activity-picker-control,.activity-picker-menu,.activity-picker-option{background:var(--ap-dark-field,#252525);border-color:var(--ap-dark-border,#3e3e3e);color:#f2f2f2}.activity-picker.is-open .activity-picker-control,.activity-picker-menu{border-color:var(--ap-gold)}.activity-picker-option:focus-visible{background:var(--ap-dark-hover,#3a3a3a);border-color:var(--ap-gold)}@media(hover:hover) and (pointer:fine){.activity-picker-option:not([aria-selected="true"]):hover{background:var(--ap-dark-hover,#3a3a3a);border-color:var(--ap-gold)}}.activity-picker-option[aria-selected="true"]{background:var(--ap-gold);color:var(--ap-color-on-accent)}.activity-chip{background:var(--ap-color-accent-soft-strong)}

/* ESTÁNDAR AP NOCTURNO DE CAMPOS
   Editable = estilo de selector "Muy baja".
   Calculado/bloqueado = estilo de "Factor por pasos". */
html:is([data-ap-resolved-theme="dark"],[data-ap-theme="dark"]) body
  :is(
    input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="button"]):not([type="submit"]):not([type="reset"]):not([readonly]):not(:disabled),
    textarea:not([readonly]):not(:disabled),
    select:not(:disabled),
    .country-picker-trigger:not(:disabled),
    .country-picker-search:not(:disabled),
    .ap-dropdown__trigger:not(:disabled),
    .activity-picker-control:not(:disabled)
  ){
  background:var(--ap-dark-surface,#181818)!important;
  color:#ededed!important;
  font-weight:400!important;
}

/* CONTRATO FINAL AP: todos los menús nocturnos son opacos y dominan el stacking local. */
html:is([data-ap-resolved-theme="dark"],[data-ap-theme="dark"]) body :is(.ap-dropdown__menu,.country-picker-panel,.activity-picker-menu){
  background:var(--ap-dark-surface,#181818)!important;
  opacity:1!important;
  isolation:isolate!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
html:is([data-ap-resolved-theme="dark"],[data-ap-theme="dark"]) body :is(.ap-dropdown__menu--portal,.country-picker-panel){
  z-index:2147483000!important;
}
html:is([data-ap-resolved-theme="dark"],[data-ap-theme="dark"]) body .activity-picker.is-open{
  position:relative;
  z-index:2147482999!important;
}
html:is([data-ap-resolved-theme="dark"],[data-ap-theme="dark"]) body :is(.ap-dropdown__option,.country-picker-option,.activity-picker-option):not([aria-selected="true"]){
  background:var(--ap-dark-surface,#181818)!important;
  color:#ededed!important;
  opacity:1!important;
}
@media(hover:hover) and (pointer:fine){html:is([data-ap-resolved-theme="dark"],[data-ap-theme="dark"]) body :is(.ap-dropdown__option,.country-picker-option,.activity-picker-option):not([aria-selected="true"]):is(:hover,:focus,:focus-visible){
  background:var(--ap-dark-hover,#3a3a3a)!important;
  color:#eeeeee!important;
}}
html:is([data-ap-resolved-theme="dark"],[data-ap-theme="dark"]) body :is(.ap-dropdown__option,.country-picker-option,.activity-picker-option)[aria-selected="true"]{
  background:var(--ap-gold)!important;
  color:#111!important;
  opacity:1!important;
}

/* Selectores automáticos: referencia visual global en modo nocturno. */
html:is([data-ap-resolved-theme="dark"],[data-ap-theme="dark"]) body .ap-auto-toggle{
  --ap-toggle-surface:var(--ap-dark-surface,#181818);
  --ap-toggle-border:var(--ap-dark-border,#3e3e3e);
  --ap-toggle-text:color-mix(in srgb,var(--ap-color-accent-bright) 52%,var(--ap-dark-surface,#181818));
  --ap-toggle-selected-surface:color-mix(in srgb,var(--ap-color-accent) 11%,var(--ap-dark-surface,#181818));
  --ap-toggle-selected-border:var(--ap-color-accent-border);
  --ap-toggle-selected-text:var(--ap-color-accent-bright);
}

html:is([data-ap-resolved-theme="dark"],[data-ap-theme="dark"]) body .macro-summary-table thead th{
  font-weight:800!important;
}

html:is([data-ap-resolved-theme="dark"],[data-ap-theme="dark"]) body .existing-table thead th{
  color:var(--ap-dark-text,#f2f2f2)!important;
}

/* ESTÁNDAR AP: el estado activo siempre recupera el oro de los tooltips. */
html:is([data-ap-resolved-theme="dark"],[data-ap-theme="dark"]) body
  :is(
    input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),
    textarea,
    select,
    .country-picker-trigger,
    .country-picker-search,
    .ap-dropdown__trigger,
    .activity-picker-control
  ):is(:focus,:focus-visible),
html:is([data-ap-resolved-theme="dark"],[data-ap-theme="dark"]) body .country-picker-trigger[aria-expanded="true"],
html:is([data-ap-resolved-theme="dark"],[data-ap-theme="dark"]) body .ap-dropdown.is-open .ap-dropdown__trigger,
html:is([data-ap-resolved-theme="dark"],[data-ap-theme="dark"]) body .activity-picker.is-open .activity-picker-control,
html:is([data-ap-resolved-theme="dark"],[data-ap-theme="dark"]) body .ap-date-control:focus-within>.ap-date-display{
  border-color:var(--ap-gold)!important;
  outline:none!important;
  box-shadow:0 0 0 2px color-mix(in srgb,var(--ap-gold) 28%,transparent)!important;
}

html:is([data-ap-resolved-theme="dark"],[data-ap-theme="dark"]) body
  :is(
    input[readonly],
    input:disabled:not([type="checkbox"]):not([type="radio"]),
    textarea[readonly],
    textarea:disabled,
    select:disabled,
    output:not(.ap-unit-mobile-display),
    [aria-readonly="true"],
    .ap-dropdown__trigger:disabled,
    .activity-picker-control:disabled
  ){
  background:var(--ap-dark-field,#252525)!important;
  color:var(--ap-dark-text,#f2f2f2)!important;
  font-weight:400!important;
  opacity:1!important;
}

html:is([data-ap-resolved-theme="dark"],[data-ap-theme="dark"]) body
  :is(input[readonly],input:disabled,textarea[readonly],textarea:disabled)::placeholder{
  color:var(--ap-color-accent-bright)!important;
  -webkit-text-fill-color:var(--ap-color-accent-bright)!important;
  opacity:1!important;
}

/* ESTÁNDAR AP PRIORITARIO: los valores autocalculados heredan el acento.
   La doble condición de tema supera reglas heredadas de vistas concretas. */
html:is(
  [data-ap-resolved-theme="dark"][data-ap-resolved-theme="dark"],
  [data-ap-theme="dark"][data-ap-theme="dark"]
) body
  :is(
    input[readonly],
    input:disabled:not([type="checkbox"]):not([type="radio"]),
    textarea[readonly],
    textarea:disabled,
    select:disabled,
    output:not(.ap-unit-mobile-display),
    [aria-readonly="true"],
    .ap-dropdown__trigger:disabled,
    .activity-picker-control:disabled
  ){
  background:var(--ap-dark-field,#252421)!important;
  border-color:var(--ap-dark-border,#3e3a34)!important;
  color:var(--ap-color-accent-bright)!important;
  -webkit-text-fill-color:var(--ap-color-accent-bright)!important;
  opacity:1!important;
}

/* La unidad equivalente es informativa: conserva menor peso que el input activo. */
html:is([data-ap-resolved-theme="dark"],[data-ap-theme="dark"]) body
  .ap-unit-field:has(>.ap-unit-value:is([readonly],:disabled))>.ap-unit-suffix{
  color:var(--ap-color-accent-bright,var(--ap-gold))!important;
  opacity:1!important;
}
html:is(
  [data-ap-resolved-theme="dark"][data-ap-resolved-theme="dark"],
  [data-ap-theme="dark"][data-ap-theme="dark"]
) body .ap-dual-unit-control.ap-dual-unit-control output.ap-unit-secondary.ap-unit-secondary{
  background:color-mix(in srgb,var(--ap-dark-field,#252421) 58%,var(--ap-dark-surface,#181818))!important;
  border-color:color-mix(in srgb,var(--ap-dark-border,#3e3a34) 72%,var(--ap-dark-surface,#181818))!important;
  color:var(--ap-color-accent-bright,var(--ap-gold))!important;
  -webkit-text-fill-color:var(--ap-color-accent-bright,var(--ap-gold))!important;
  font-weight:400!important;
}

/* Excepcion semantica: el ritmo semanal conserva su semaforo. */
html:is([data-ap-resolved-theme="dark"],[data-ap-theme="dark"]) body
  :is(#phaseWeeklyPacePreview,#phaseExpectedPace).is-pace-recommended{
  color:var(--phase-green)!important;
  -webkit-text-fill-color:var(--phase-green)!important;
}
html:is([data-ap-resolved-theme="dark"],[data-ap-theme="dark"]) body
  :is(#phaseWeeklyPacePreview,#phaseExpectedPace).is-pace-caution{
  color:var(--phase-yellow)!important;
  -webkit-text-fill-color:var(--phase-yellow)!important;
}
html:is([data-ap-resolved-theme="dark"],[data-ap-theme="dark"]) body
  :is(#phaseWeeklyPacePreview,#phaseExpectedPace).is-pace-excessive{
  color:var(--phase-red)!important;
  -webkit-text-fill-color:var(--phase-red)!important;
}
html:is([data-ap-resolved-theme="dark"],[data-ap-theme="dark"]) body
  :is(#phaseWeeklyPacePreview,#phaseExpectedPace)[data-pace-status="neutral"]{
  color:var(--ap-dark-text,#f2f2f2)!important;
  -webkit-text-fill-color:var(--ap-dark-text,#f2f2f2)!important;
}
html:is([data-ap-resolved-theme="dark"],[data-ap-theme="dark"]) body
  #phaseWeeklyPacePreview[data-pace-status="neutral"]{
  background:var(--ap-dark-field,#252525)!important;
  border-color:var(--ap-dark-border,#3e3e3e)!important;
}
@media(hover:hover) and (pointer:fine){
  html:is([data-ap-resolved-theme="dark"],[data-ap-theme="dark"]) .ap-phase-chart__point:not(.is-selected):not(.is-in-selected-range):hover .ap-phase-chart__point-marker{filter:drop-shadow(0 0 8px color-mix(in srgb,var(--ap-color-accent) 72%,transparent))}
}

/* Ningún valor dentro de un field utiliza negrita, sin importar su estado. */
html:is([data-ap-resolved-theme="dark"],[data-ap-theme="dark"]) body
  :is(
    input:not([type="hidden"]),
    textarea,
    select,
    option,
    output,
    .country-picker-trigger,
    .country-picker-option,
    .country-picker-option strong,
    .ap-dropdown__trigger,
    .ap-dropdown__option,
    .ap-dropdown__option strong,
    .activity-picker-control,
    .activity-picker-option
  ){
  font-weight:400!important;
}
html:is([data-ap-resolved-theme="dark"],[data-ap-theme="dark"]) body .planning-view .planning-minor-title,
html:is([data-ap-resolved-theme="dark"],[data-ap-theme="dark"]) body .planning-view .planning-field>strong.planning-field-minor-title{
  color:var(--ap-dark-text,#f2f2f2)!important;
  font-family:Arial,sans-serif!important;
  font-size:var(--ap-field-label-size)!important;
  font-weight:700!important;
  line-height:1.35!important;
  letter-spacing:normal!important;
  text-transform:none!important;
}

/* Respaldo táctil global: neutraliza reglas hover heredadas de hojas antiguas. */
@media(hover:none),(pointer:coarse){
  html:is([data-ap-resolved-theme="dark"],[data-ap-theme="dark"]) body .config-logout-action:is(:hover,:focus,:focus-visible){
    border-color:var(--config-crimson,#87383e)!important;
    background:var(--config-crimson,#87383e)!important;
    color:#0b0b0b!important;
    box-shadow:none!important;
    outline:none!important;
    transform:none!important;
  }
  html:is([data-ap-resolved-theme="dark"],[data-ap-theme="dark"]) body .ap-save-button:is(:hover,:focus,:focus-visible),
  html:is([data-ap-resolved-theme="dark"],[data-ap-theme="dark"]) body .client-button.ap-save-button:is(:hover,:focus,:focus-visible),
  html:is([data-ap-resolved-theme="dark"],[data-ap-theme="dark"]) body .valuation-button.ap-save-button:is(:hover,:focus,:focus-visible),
  html:is([data-ap-resolved-theme="dark"],[data-ap-theme="dark"]) body .existing-footer .ap-save-button:is(:hover,:focus,:focus-visible){
    border-color:var(--ap-dark-primary-action,var(--ap-gold))!important;
    background:var(--ap-dark-primary-action,var(--ap-gold))!important;
    color:var(--ap-color-on-accent)!important;
    box-shadow:none!important;
    transform:none!important;
  }
  html:is([data-ap-resolved-theme="dark"],[data-ap-theme="dark"]) body .ap-cancel-button:is(:hover,:focus,:focus-visible),
  html:is([data-ap-resolved-theme="dark"],[data-ap-theme="dark"]) body .ap-secondary-button:is(:hover,:focus,:focus-visible){
    border-color:var(--ap-dark-gold,var(--ap-gold))!important;
    background:var(--ap-dark-surface,#181818)!important;
    color:var(--ap-dark-gold,var(--ap-gold))!important;
    box-shadow:none!important;
    outline:none!important;
    transform:none!important;
  }
  html:is([data-ap-resolved-theme="dark"],[data-ap-theme="dark"]) body .select-client.ap-secondary-button:is(:hover,:focus,:focus-visible){
    border-color:#424242!important;
    background:#0b0b0b!important;
    color:#fff!important;
    box-shadow:none!important;
    outline:none!important;
    transform:none!important;
  }

  html:is([data-ap-resolved-theme="dark"],[data-ap-theme="dark"]) body ap-sidebar .ap-nav-item:not(.active):is(:hover,:focus,:focus-visible){
    background:transparent!important;
    color:#e2e2e2!important;
    box-shadow:none!important;
    outline:none!important;
  }

  html:is([data-ap-resolved-theme="dark"],[data-ap-theme="dark"]) body
    :is(.ap-dropdown__option,.country-picker-option,.activity-picker-option):not([aria-selected="true"]):is(:hover,:focus,:focus-visible){
    background:var(--ap-dark-surface,#181818)!important;
    color:#ededed!important;
    box-shadow:none!important;
    outline:none!important;
  }
  html:is([data-ap-resolved-theme="dark"],[data-ap-theme="dark"]) body
    :is(.ap-dropdown__option,.country-picker-option,.activity-picker-option):not([aria-selected="true"]):is(:hover,:focus,:focus-visible) small{
    background:#353535!important;
    color:var(--ap-dark-gold,var(--ap-gold))!important;
  }
  html:is([data-ap-resolved-theme="dark"],[data-ap-theme="dark"]) body
    :is(.ap-dropdown:not(.is-open) .ap-dropdown__trigger,.country-picker-trigger:not([aria-expanded="true"]),.activity-picker:not(.is-open) .activity-picker-control):is(:hover,:focus,:focus-visible){
    border-color:var(--ap-dark-border,#3e3e3e)!important;
    background:var(--ap-dark-field,#252525)!important;
    color:var(--ap-dark-text,#f2f2f2)!important;
    box-shadow:none!important;
    outline:none!important;
  }
}

/* Las muestras de Configuración representan cada acento, no el acento activo
   de la aplicación. Esta excepción debe permanecer después del respaldo táctil. */
html:is([data-ap-resolved-theme="dark"],[data-ap-theme="dark"]) body
  .config-accent-option .config-accent-buttons .ap-save-button{
  border-color:var(--config-accent)!important;
  background:var(--config-accent)!important;
  color:var(--ap-color-button-text,#111)!important;
  box-shadow:none!important;
}
@media(hover:hover) and (pointer:fine){
  html:is([data-ap-resolved-theme="dark"],[data-ap-theme="dark"]) body
    .config-accent-option .config-accent-buttons .ap-save-button:hover{
    border-color:color-mix(in srgb,var(--config-accent) 46%,#fff)!important;
    background:color-mix(in srgb,var(--config-accent) 46%,#fff)!important;
    color:var(--ap-color-button-text,#111)!important;
  }
}
