.niva-setting-summary { gap:14px; }
.niva-setting-summary>.pd-summary-copy { flex:1;min-width:0; }
.niva-settings-icon { display:inline-block;flex:0 0 20px;width:20px;height:20px;color:#64748b;vertical-align:middle; }
:root.dark .niva-settings-icon { color:#94a3b8; }
.settings-title-with-icon { display:flex;align-items:center;gap:10px; }
.niva-notice-stack { position:fixed;z-index:14000;top:calc(16px + env(safe-area-inset-top,0px));right:24px;width:400px;max-width:calc(100vw - 32px);display:flex;flex-direction:column;gap:10px;pointer-events:none; }
.niva-notice { display:flex;align-items:flex-start;gap:10px;padding:13px 12px 13px 16px;border:1px solid #e2e8f0;border-radius:14px;background:#fff;color:#0f172a;box-shadow:0 8px 24px rgba(15,23,42,.12);font-size:14px;line-height:1.55;pointer-events:auto; }
:root.dark .niva-notice { background:#1c1c24;border-color:#9db4d42b;color:rgba(255,255,255,.92);box-shadow:0 8px 24px rgba(0,0,0,.3); }
.niva-notice-mark { flex:0 0 20px;width:20px;height:20px;margin-top:2px;color:#dc2626; }
.niva-notice--success .niva-notice-mark { color:#059669; }
.niva-notice--info .niva-notice-mark { color:#1470e0; }
:root.dark .niva-notice-mark { color:#f87171; }
:root.dark .niva-notice--success .niva-notice-mark { color:#34d399; }
:root.dark .niva-notice--info .niva-notice-mark { color:#3e9bff; }
.niva-notice-text { flex:1;min-width:0;white-space:pre-line;overflow-wrap:anywhere;padding-top:1px; }
.niva-notice-close { flex:0 0 32px;width:32px;height:32px;margin:-5px -4px -5px 0;padding:0;border:0;border-radius:6px;background:transparent;color:#64748b;font-family:inherit;font-size:22px;line-height:32px;cursor:pointer; }
:root.dark .niva-notice-close { color:#cbd5e1; }
.niva-notice-close:focus-visible,.niva-inline-feedback button:focus-visible { outline:2px solid #1470e0;outline-offset:2px; }
:root.dark .niva-notice-close:focus-visible,:root.dark .niva-inline-feedback button:focus-visible { outline-color:#3e9bff; }
.niva-inline-feedback-host { display:contents; }
.niva-inline-feedback { display:flex;align-items:flex-start;gap:8px;margin:10px 0 0;padding:10px 12px;border:1px solid rgba(239,68,68,.2);border-radius:10px;background:#fef2f2;color:#b91c1c;font-size:13px;line-height:1.6;white-space:pre-line;overflow-wrap:anywhere; }
.niva-inline-feedback>span { flex:1;min-width:0; }
.niva-inline-feedback button { flex:0 0 24px;width:24px;height:24px;border:0;border-radius:4px;background:transparent;color:inherit;font-size:20px;line-height:20px;cursor:pointer; }
:root.dark .niva-inline-feedback { background:rgba(239,68,68,.08);border-color:rgba(248,113,113,.24);color:#fca5a5; }
@media(max-width:600px) { .niva-notice-stack { right:16px;left:16px;width:auto;max-width:none; } }

.niva-node-search { margin:14px 0 16px;min-width:0; }
.niva-node-search-field { display:flex;align-items:center;gap:9px;min-width:0;min-height:44px;padding:0 12px;border:1px solid #cbd5e1;border-radius:10px;background:#fff;color:#64748b; }
.niva-node-search-field>svg { flex:0 0 18px; }
.niva-node-search-field:focus-within { border-color:#1470e0;outline:2px solid rgba(20,112,224,.14); }
.niva-node-search-field input { flex:1;min-width:0;width:100%;height:42px;padding:0;border:0;outline:0;background:transparent;color:#0f172a;font:inherit;font-size:14px; }
.niva-node-search-field input::placeholder { color:#64748b;opacity:1; }
.niva-node-search-field input::-webkit-search-cancel-button { -webkit-appearance:none; }
.niva-node-search-field button { flex:0 0 30px;width:30px;height:30px;padding:0;border:0;border-radius:5px;background:transparent;color:#64748b;font-size:22px;cursor:pointer; }
.niva-node-search-field button:focus-visible { outline:2px solid #1470e0;outline-offset:2px; }
.niva-node-search-count { margin:7px 0 0;font-size:12px;line-height:1.6;color:#64748b; }
:root:root.dark .niva-node-search-field { border-color:#9db4d42b;background:rgba(255,255,255,.03);color:#cbd5e1; }
:root:root.dark .niva-node-search-field:focus-within { border-color:#3e9bff;outline-color:rgba(62,155,255,.2); }
:root:root.dark .niva-node-search-field input { color:rgba(255,255,255,.92); }
:root:root.dark .niva-node-search-field input::placeholder,:root:root.dark .niva-node-search-field button,:root:root.dark .niva-node-search-count { color:#aebccc; }
:root:root.dark .niva-node-search-field button:focus-visible { outline-color:#3e9bff; }
:root:root .wallet-grid>.aff-promo { grid-column:1/-1;margin:0;padding:12px 16px; }
.wallet-promotion-link { display:flex;justify-content:space-between;gap:12px;grid-column:1/-1;min-width:0;padding:14px 16px;border:1px solid #e2e8f0;border-radius:14px;background:#fff;color:#64748b;font:inherit;font-size:13px;text-align:left;cursor:pointer; }
:root:root.dark .wallet-promotion-link { background:rgba(255,255,255,.02);border-color:#9db4d42b;color:#cbd5e1; }
.wallet-promotion-link:focus-visible { outline:2px solid #1470e0;outline-offset:3px; }
:root:root.dark .wallet-promotion-link:focus-visible { outline-color:#3e9bff; }
/* Keep secondary information readable, without increasing headline weights. */
:root:root .dashboard-layout .entry-label,:root:root .dashboard-layout .info-label,:root:root .dashboard-layout .history-time,:root:root .dashboard-layout .tier-section-label,:root:root .dashboard-layout .stat-label,:root:root .dashboard-layout .node-count,:root:root .dashboard-layout .order-meta,:root:root .dashboard-layout .order-id { color:#64748b; }
:root:root.dark .dashboard-layout .entry-label,:root:root.dark .dashboard-layout .info-label,:root:root.dark .dashboard-layout .history-time,:root:root.dark .dashboard-layout .tier-section-label,:root:root.dark .dashboard-layout .stat-label,:root:root.dark .dashboard-layout .node-count,:root:root.dark .dashboard-layout .order-meta,:root:root.dark .dashboard-layout .order-id { color:#b6c2d1; }
:root:root .pd-summary-description,:root:root .qi .qi-tip,:root:root .dl2 .dl2-sub,:root:root .dl2 .dl2-desc,:root:root .dl2 .dl2-links,:root:root .cnf-root .cnf-batch-hint,:root:root .cnf-root .cnf-overview-total,:root:root .cnf-root .cnf-facet-label { color:#64748b; }
:root:root.dark .pd-summary-description,:root:root.dark .qi .qi-tip,:root:root.dark .dl2 .dl2-sub,:root:root.dark .dl2 .dl2-desc,:root:root.dark .dl2 .dl2-links,:root:root.dark .cnf-root .cnf-batch-hint,:root:root.dark .cnf-root .cnf-overview-total,:root:root.dark .cnf-root .cnf-facet-label { color:#b6c2d1; }
:root:root .qi .qi-tag,:root:root .dl2 .dl2-badge--hot,:root:root .plans-page .reco-tag { background:#1470e0;color:#fff;font-size:11px;line-height:18px; }
:root:root .qi .qi-tag { padding:0 5px; }
:root:root .wallet-recharge-card .chip-badge { font-size:11px;line-height:18px; }

.cnf-overview>.niva-node-search { margin:0 0 16px; }

:root:root .cnf-root .cnf-batch-summary,:root:root .cnf-root .cnf-group-title,:root:root .cnf-root .cnf-group-count { color:#64748b; }
:root:root.dark .cnf-root .cnf-batch-summary,:root:root.dark .cnf-root .cnf-group-title,:root:root.dark .cnf-root .cnf-group-count { color:#b6c2d1; }

/* Covers late page-scoped styles as well as the shared skeleton component. */
html:root .skeleton { position:relative;overflow:hidden;background:#e2e8f0;background-image:none;flex-shrink:0;max-width:100%;border-radius:6px;animation:none; }
html:root.dark .skeleton { background:#2a3443; }
html:root .skeleton::after { content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.6),transparent);transform:translateX(-100%);animation:niva-loading-shimmer 1.8s ease-in-out infinite; }
html:root.dark .skeleton::after { background:linear-gradient(90deg,transparent,rgba(157,180,212,.13),transparent); }
@keyframes niva-loading-shimmer { to { transform:translateX(100%); } }
.niva-loading-state { grid-column:1/-1;display:grid;gap:14px;min-width:0;width:100%; }
.niva-loading-label { position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0; }
.niva-loading-card { display:flex;flex-direction:column;gap:18px;min-width:0;padding:22px;background:#fff;border:1px solid #e2e8f0;border-radius:24px; }
:root.dark .niva-loading-card { background:#171c24;border-color:#9db4d42b; }
.niva-loading-card>.skeleton:last-child { margin-top:auto; }
.niva-loading-main { display:grid;gap:20px;min-width:0; }
.niva-loading--quick { padding:12px 0; }
.niva-loading--notice,.niva-loading--nodes { gap:10px; }
@media(min-width:992px) { .niva-loading--wallet {grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:20px}.niva-loading--plans {grid-template-columns:repeat(3,minmax(0,1fr))} }
.niva-resilient-icon { position:relative;display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;background:none;border:0;box-shadow:none;border-radius:0;overflow:visible; }
.niva-resilient-icon>img { position:absolute;inset:0;display:block;object-fit:contain;width:100%;height:100%;opacity:0;transition:opacity .15s ease-out;background:none;border:0;border-radius:0;box-shadow:none; }
.niva-resilient-icon>img.is-ready {opacity:1}
.niva-icon-initials {font-size:11px;line-height:1;font-weight:650;color:#475569}
:root.dark .niva-icon-initials {color:#cbd5e1}
@media(prefers-reduced-motion:reduce) {html:root .skeleton::after{animation:none;transform:none;opacity:.15}.niva-resilient-icon>img{transition:none}}

.niva-read-feedback {display:flex;align-items:center;flex-wrap:wrap;gap:8px 10px;grid-column:1/-1;min-width:0;margin:10px 0 14px;padding:10px 12px;border:1px solid #e2e8f0;border-radius:12px;background:#f8fafc;color:#64748b;font-size:13px;font-weight:400;line-height:1.6}
.niva-read-feedback>svg {flex:0 0 16px}
.niva-read-message {flex:1;min-width:110px}
.niva-read-retry {min-height:44px;flex:0 0 auto;padding:8px 12px;border:1px solid #cbd5e1;border-radius:10px;background:#fff;color:#1470e0;font:inherit;cursor:pointer}
.niva-read-retry:focus-visible {outline:2px solid #1470e0;outline-offset:2px}
:root.dark .niva-read-feedback {background:#9db4d408;border-color:#9db4d42b;color:#cbd5e1}
:root.dark .niva-read-retry {background:#171c24;border-color:#9db4d42b;color:#79baff}
:root.dark .niva-read-retry:focus-visible {outline-color:#79baff}
.niva-read-spinner {width:14px;height:14px;flex:0 0 14px;border:2px solid #1470e033;border-top-color:#1470e0;border-radius:50%;animation:niva-read-spin .9s linear infinite}
:root.dark .niva-read-spinner {border-color:#79baff33;border-top-color:#79baff}
@keyframes niva-read-spin {to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.niva-read-spinner{animation:none}}

/* Background reads announce progress without moving already visible content. */
.niva-read-feedback:not(.has-error) {position:absolute;width:1px;min-width:0;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.niva-read-feedback:not(.has-error) .niva-read-spinner {animation:none}
