/* Progressive disclosure candidate. Uses the deployed NIVA palette and cards. */
:root .pd-disclosure { min-width: 0; }
:root .dashboard-layout .pd-disclosure.panel-card { display: block; }
:root .pd-summary {
  display: flex; align-items: center; justify-content: space-between;
  gap: 16px; min-height: 44px; cursor: pointer; list-style: none;
  color: #0f172a; -webkit-tap-highlight-color: transparent;
}
:root.dark .pd-summary { color: #e4e7ec; }
:root .pd-summary::-webkit-details-marker { display: none; }
:root .pd-summary::marker { content: ''; }
:root .pd-summary:focus-visible { outline: 2px solid #1470e0; outline-offset: 5px; border-radius: 8px; }
:root.dark .pd-summary:focus-visible { outline-color: #3e9bff; }
:root .pd-summary-copy { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
:root .pd-summary-title { font-size: 14px; font-weight: 600; line-height: 1.5; }
:root .pd-summary-description { font-size: 12px; font-weight: 400; line-height: 1.6; color: #64748b; overflow-wrap: anywhere; }
:root.dark .pd-summary-description { color: #ffffff8c; }
:root .pd-chevron { display: inline-flex; align-items: center; justify-content: center; flex: none; width: 24px; height: 24px; font-size: 24px; line-height: 1; color: #64748b; }
:root.dark .pd-chevron { color: #9db4d4; }
:root details[open] > .pd-summary > .pd-chevron { transform: rotate(90deg); }
:root .pd-disclosure-body { min-width: 0; padding-top: 18px; }
:root .pd-disclosure[open] > .pd-summary { padding-bottom: 16px; border-bottom: 1px solid #e2e8f0; }
:root.dark .pd-disclosure[open] > .pd-summary { border-color: #9db4d421; }
:root .pd-inline { min-width: 0; }
:root .pd-inline > .pd-summary { min-height: 44px; }
:root .pd-inline > .pd-summary .pd-summary-title { font-size: 13px; }
:root .pd-inline > .pd-summary .pd-summary-description { font-size: 12px; }
:root .pd-inline > .pd-disclosure-body { padding-top: 12px; }
:root .settings-container .tab-panel:has(> .pd-disclosure) { display: flex; flex-direction: column; gap: 12px; }
:root .settings-container .tab-panel > .pd-disclosure { grid-area: auto !important; margin: 0; padding: 16px 22px; }
:root .settings-container .tab-panel > .pd-disclosure .pd-disclosure-body > .setting-line:first-child { padding-top: 0; }
:root .settings-container .tab-panel > .pd-disclosure .pd-disclosure-body > .setting-line:last-child { padding-bottom: 0; }
:root .settings-container .pd-disclosure .sub-empty { padding: 4px 0 14px; }
:root .settings-container .pd-disclosure .pd-disclosure-body > .sub-action-btn { margin-top: 0; }
:root .settings-container .pd-disclosure .pd-disclosure-body > .info-list + .sub-action-btn { margin-top: 12px; }
:root .settings-container .btn-logout-ghost { margin-top: 8px; }
:root .pd-quick-import { display: flex; flex-direction: column; gap: 14px; }
:root .pd-quick-import > .pd-client-picker { border-bottom: 1px solid #e2e8f0; padding-bottom: 14px; }
:root.dark .pd-quick-import > .pd-client-picker { border-color: #9db4d421; }
:root .pd-quick-import .qi-plats { margin: 0; padding: 0; flex-wrap: wrap; }
:root .pd-quick-import .qi-apps { margin-top: 12px; flex-wrap: wrap; }
:root .pd-quick-import .qi-body { gap: 12px; }
:root .pd-quick-import .qi-tip { margin: 0; }
:root .pd-quick-import .pd-import-more { margin-top: 0; padding-top: 10px; border-top: 1px solid #e2e8f0; }
:root.dark .pd-quick-import .pd-import-more { border-color: #9db4d421; }
:root .pd-quick-import .pd-import-more > .pd-disclosure-body { display: flex; flex-direction: column; align-items: stretch; gap: 14px; }
:root .pd-quick-import .pd-import-more > .pd-disclosure-body > .qi-btn { width: 100%; padding: 0 14px; }
:root .pd-quick-import .qi-links { display: flex; flex-direction: column; align-items: flex-start; border: 0; padding: 0; margin: 0; gap: 12px; }
:root .pd-quick-import .pd-link-security { border-top: 1px solid #e2e8f0; padding-top: 12px; }
:root.dark .pd-quick-import .pd-link-security { border-color: #9db4d421; }
:root .pd-quick-import .pd-link-security .qi-reset { min-height: 40px; }
:root .pd-plan-actions { margin-top: 12px; padding-top: 12px; border-top: 1px solid #e2e8f0; }
:root.dark .pd-plan-actions { border-color: #9db4d421; }
:root .pd-plan-actions > .pd-disclosure-body { display: flex; flex-direction: column; gap: 12px; }
:root .pd-plan-actions .renew-help-btn { width: auto; min-height: 36px; padding: 6px 12px; align-self: flex-start; }
:root .subscription-grid > .pd-auto-renew.panel-card { padding: 16px 22px; }
:root .pd-auto-renew .pd-disclosure-body { display: flex; flex-direction: column; gap: 14px; }
:root .pd-auto-renew:has(.ar-result-warn) > .pd-summary .pd-summary-description { color: #b45309; }
:root.dark .pd-auto-renew:has(.ar-result-warn) > .pd-summary .pd-summary-description { color: #fbbf24; }
:root .dl2 .pd-platform-picker { margin-bottom: 16px; }
:root .dl2 .pd-platform-picker .dl2-tabs { margin-bottom: 0; }
:root .dl2 .pd-disclosure { padding: 16px 20px; border-radius: 24px; }
:root .dl2 .pd-download-options { grid-column: 1 / -1; padding-top: 14px; border-top: 1px solid #e2e8f0; }
:root.dark .dl2 .pd-download-options { border-color: #9db4d421; }
:root .dl2 .pd-download-options .dl2-links { margin-top: 12px; }
:root .dl2 .dl2-btn--lg { min-width: 0; max-width: 100%; }
:root .dl2 .dl2-btn--lg > span:not(.dl2-btn-sub) { min-width: 0; white-space: normal; line-height: 1.4; }
:root .dl2 .dl2-btn--lg .dl2-btn-sub { flex: none; }
:root .dl2 .pd-other-clients .dl2-card { box-shadow: none; border-radius: 14px; }
:root .dl2 .pd-other-clients .dl2-grid { gap: 14px; }
@media (min-width: 992px) {
  :root .settings-container .tab-panel:has(> .pd-disclosure) { gap: 14px; }
  :root .settings-container .tab-panel > .pd-disclosure { padding: 18px 24px; }
  :root .subscription-grid > .pd-auto-renew.panel-card { padding: 18px 24px; }
}

/* Native focus must not scroll the clipped carousel along its horizontal axis. */
@supports (overflow: clip) {
  :root .dashboard-layout .carousel-wrap { overflow: clip; }
}

/* Approved follow-up: a subtle highlight on disclosure arrows. */
:root .pd-chevron { color: #1470e0; background: #1470e00a; border-radius: 8px; }
:root.dark .pd-chevron { color: #8cc4ff; background: #3e9bff14; }

/* Constrain flex children so each page owns its vertical scroll area. */
:root .dashboard-layout .main-area,
:root .dashboard-layout .carousel-wrap,
:root .dashboard-layout .carousel-track,
:root .dashboard-layout .carousel-page,
:root .dashboard-layout .secondary-route { min-height: 0; }

/* Account action: centered on desktop, comfortable tap target on phones. */
:root .settings-container .btn-logout-ghost { width:100%;max-width:320px;min-height:48px;height:48px;margin:18px auto 0;align-self:center;border-radius:14px;border-color:#ef44441f;background:#ef444406;color:#ef4444;transition:background .15s,border-color .15s,color .15s,opacity .15s; }
:root.dark .settings-container .btn-logout-ghost { color:#f87171;border-color:#f8717124;background:#f8717108; }
:root .settings-container .btn-logout-ghost:active:not(:disabled) { transform:translateY(.5px); }
:root .settings-container .btn-logout-ghost:focus-visible { outline:2px solid #ef444473;outline-offset:4px; }
:root.dark .settings-container .btn-logout-ghost:focus-visible { outline-color:#f8717180; }
:root .settings-container .btn-logout-ghost:disabled { opacity:.6;cursor:wait; }
@media (hover:hover) { :root .settings-container .btn-logout-ghost:hover:not(:disabled) { background:#ef44440d;border-color:#ef444438; } :root.dark .settings-container .btn-logout-ghost:hover:not(:disabled) { background:#f8717114;border-color:#f8717147; } }
@media (max-width:991px) { :root .settings-container .btn-logout-ghost { max-width:none; } }
