
.noesia-swa-admin-wrap .noesia-swa-gdh {
    --gdh-bg: var(--noesia-swa-bg, #f5f5f5);
    --gdh-surface: var(--noesia-swa-surface, #ffffff);
    --gdh-surface-2: var(--noesia-swa-surface-2, #f3f3f3);
    --gdh-border: var(--noesia-swa-border, #d9d9d9);
    --gdh-text: var(--noesia-swa-text, #101010);
    --gdh-muted: var(--noesia-swa-text-muted, #777777);
    --gdh-soft: var(--noesia-swa-text-soft, #4a4a4a);
    --gdh-accent: var(--noesia-swa-blue, #1f4ab8);
    --gdh-accent-2: #69c7ff;
    --gdh-success: var(--noesia-swa-green, #2c9a4b);
    --gdh-danger: var(--noesia-swa-red, #c53f3f);
    --gdh-shadow: var(--noesia-swa-shadow, 0 12px 30px rgba(0, 0, 0, 0.08));
    color: var(--gdh-text);
}
.noesia-swa-gdh * { box-sizing: border-box; }
.noesia-swa-gdh__hero,
.noesia-swa-gdh__card,
.noesia-swa-gdh__metric-card,
.noesia-swa-gdh__provider-pill,
.noesia-swa-gdh__mini-card,
.noesia-swa-gdh__tabs button,
.noesia-swa-gdh__button {
    border: 1px solid var(--gdh-border);
}
.noesia-swa-gdh__hero,
.noesia-swa-gdh__card,
.noesia-swa-gdh__metric-card {
    background: var(--gdh-surface);
    border-radius: 22px;
    box-shadow: var(--gdh-shadow);
}
.noesia-swa-admin-wrap.noesia-swa-theme-dark .noesia-swa-gdh__hero,
.noesia-swa-admin-wrap.noesia-swa-theme-dark .noesia-swa-gdh__card,
.noesia-swa-admin-wrap.noesia-swa-theme-dark .noesia-swa-gdh__metric-card,
.noesia-swa-admin-wrap.noesia-swa-theme-black .noesia-swa-gdh__hero,
.noesia-swa-admin-wrap.noesia-swa-theme-black .noesia-swa-gdh__card,
.noesia-swa-admin-wrap.noesia-swa-theme-black .noesia-swa-gdh__metric-card {
    background: linear-gradient(180deg, rgba(27, 36, 55, 0.95) 0%, rgba(12, 18, 31, 0.98) 100%);
}
.noesia-swa-gdh__hero {
    display: flex;
    justify-content: space-between;
    gap: 24px;
    padding: 26px 28px;
    margin: 10px 0 18px;
}
.noesia-swa-gdh__eyebrow {
    display: inline-block;
    margin-bottom: 10px;
    font-size: 12px;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--gdh-accent);
    font-weight: 800;
}
.noesia-swa-gdh h2,
.noesia-swa-gdh h3,
.noesia-swa-gdh h4 { color: var(--gdh-text); margin: 0; }
.noesia-swa-gdh h3 { font-size: 2.2em; font-weight: 900; line-height: 1.05; }
.noesia-swa-gdh__hero h2 { font-size: 3em; font-weight: 900; line-height: 1; margin-bottom: 10px; }
.noesia-swa-gdh p,
.noesia-swa-gdh small,
.noesia-swa-gdh li,
.noesia-swa-gdh label span { color: var(--gdh-muted); }
.noesia-swa-gdh__hero-copy p { color: var(--gdh-soft); }
.noesia-swa-gdh__hero-actions { display: flex; flex-direction: column; gap: 12px; align-items: flex-end; min-width: 240px; }
.noesia-swa-gdh__status { display: inline-flex; align-items: center; justify-content: center; min-height: 42px; padding: 0 16px; border-radius: 999px; background: var(--gdh-surface-2); color: var(--gdh-text); border: 1px solid var(--gdh-border); font-weight: 700; }
.noesia-swa-gdh__status.is-error { background: rgba(197, 63, 63, 0.12); color: var(--gdh-danger); border-color: rgba(197, 63, 63, 0.35); }
.noesia-swa-gdh__button { border-radius: 16px !important; padding: 10px 18px !important; min-height: 46px !important; font-weight: 800 !important; background: linear-gradient(135deg, var(--gdh-accent) 0%, var(--gdh-accent-2) 100%) !important; color: #ffffff !important; box-shadow: 0 16px 36px rgba(31, 74, 184, 0.22); }
.noesia-swa-gdh__button:hover { filter: brightness(1.03); }
.noesia-swa-gdh__button--ghost { background: var(--gdh-surface-2) !important; color: var(--gdh-text) !important; box-shadow: none; }
.noesia-swa-gdh__button.is-busy { opacity: 0.8; pointer-events: none; }
.noesia-swa-gdh__provider-strip,
.noesia-swa-gdh__overview,
.noesia-swa-gdh__cards-inline,
.noesia-swa-gdh__settings-grid,
.noesia-swa-gdh__button-row { display: grid; gap: 14px; }
.noesia-swa-gdh__provider-strip { grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); margin-bottom: 16px; }
.noesia-swa-gdh__provider-pill,
.noesia-swa-gdh__mini-card { background: var(--gdh-surface); border-radius: 16px; padding: 14px 16px; color: var(--gdh-text); }
.noesia-swa-admin-wrap.noesia-swa-theme-dark .noesia-swa-gdh__provider-pill,
.noesia-swa-admin-wrap.noesia-swa-theme-dark .noesia-swa-gdh__mini-card,
.noesia-swa-admin-wrap.noesia-swa-theme-black .noesia-swa-gdh__provider-pill,
.noesia-swa-admin-wrap.noesia-swa-theme-black .noesia-swa-gdh__mini-card { background: rgba(255,255,255,0.05); }
.noesia-swa-gdh__overview { grid-template-columns: repeat(5, minmax(0, 1fr)); margin-bottom: 18px; }
.noesia-swa-gdh__metric-card { padding: 18px; display: flex; flex-direction: column; gap: 10px; }
.noesia-swa-gdh__metric-card strong,
.noesia-swa-gdh__mini-card strong { font-size: 1.6em; font-weight: 900; color: var(--gdh-text); }
.noesia-swa-gdh__tabs { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 18px; }
.noesia-swa-gdh__tabs button { padding: 12px 18px; border-radius: 999px; background: var(--gdh-surface); color: var(--gdh-text); font-weight: 800; cursor: pointer; }
.noesia-swa-admin-wrap.noesia-swa-theme-dark .noesia-swa-gdh__tabs button,
.noesia-swa-admin-wrap.noesia-swa-theme-black .noesia-swa-gdh__tabs button { background: rgba(255,255,255,0.05); }
.noesia-swa-gdh__tabs button.is-active { background: linear-gradient(135deg, rgba(31, 74, 184, 0.12), rgba(105, 199, 255, 0.18)); border-color: rgba(31, 74, 184, 0.35); color: var(--gdh-text); }
.noesia-swa-gdh__panel { display: none; }
.noesia-swa-gdh__panel.is-active { display: block; }
.noesia-swa-gdh__grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 18px; }
.noesia-swa-gdh__card { padding: 22px; overflow: hidden; }
.noesia-swa-gdh__card--span-2 { grid-column: span 2; }
.noesia-swa-gdh__card--span-3 { grid-column: span 3; }
.noesia-swa-gdh__card-head { display: flex; justify-content: space-between; gap: 18px; margin-bottom: 18px; }
.noesia-swa-gdh__cards-inline { grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); margin-bottom: 18px; }
.noesia-swa-gdh__mini-card { display: flex; flex-direction: column; gap: 8px; }
.noesia-swa-gdh__notice,
.noesia-swa-gdh__empty,
.noesia-swa-gdh__loading { border-radius: 16px; padding: 14px 16px; background: var(--gdh-surface-2); color: var(--gdh-soft); border: 1px solid var(--gdh-border); }
.noesia-swa-gdh__notice.is-info { background: rgba(31, 74, 184, 0.08); }
.noesia-swa-gdh__table { width: 100%; border-collapse: collapse; overflow: hidden; border-radius: 18px; }
.noesia-swa-gdh__table th,
.noesia-swa-gdh__table td { padding: 12px 14px; border-bottom: 1px solid var(--gdh-border); text-align: left; color: var(--gdh-text); }
.noesia-swa-gdh__table th { color: var(--gdh-text); font-weight: 800; background: var(--gdh-surface-2); }
.noesia-swa-gdh__series-block + .noesia-swa-gdh__series-block { margin-top: 18px; }
.noesia-swa-gdh__series-block h4 { margin: 0 0 10px; font-size: 1.05em; color: var(--gdh-text); }
.noesia-swa-gdh__indicator-section + .noesia-swa-gdh__indicator-section { margin-top: 22px; }
.noesia-swa-gdh__section-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 12px; padding: 0 2px; }
.noesia-swa-gdh__section-head h4 { margin: 0; font-size: 1em; letter-spacing: 0.04em; text-transform: uppercase; color: var(--gdh-accent); }
.noesia-swa-gdh__settings-grid { grid-template-columns: repeat(2, minmax(0,1fr)); margin-bottom: 16px; }
.noesia-swa-gdh__settings-grid label { display: flex; flex-direction: column; gap: 8px; }
.noesia-swa-gdh__settings-grid select,
.noesia-swa-gdh__settings-grid input { min-height: 48px; border-radius: 14px; border: 1px solid var(--gdh-border); background: var(--gdh-surface); color: var(--gdh-text); padding: 0 14px; }
.noesia-swa-admin-wrap.noesia-swa-theme-dark .noesia-swa-gdh__settings-grid select,
.noesia-swa-admin-wrap.noesia-swa-theme-dark .noesia-swa-gdh__settings-grid input,
.noesia-swa-admin-wrap.noesia-swa-theme-black .noesia-swa-gdh__settings-grid select,
.noesia-swa-admin-wrap.noesia-swa-theme-black .noesia-swa-gdh__settings-grid input { background: rgba(255,255,255,0.05); }
.noesia-swa-gdh__source-list { margin: 0; padding-left: 18px; display: flex; flex-direction: column; gap: 12px; }
.noesia-swa-gdh__loading { display: inline-flex; align-items: center; gap: 10px; }
.noesia-swa-gdh__spinner { width: 16px; height: 16px; border: 2px solid rgba(127,127,127,0.25); border-top-color: var(--gdh-accent); border-radius: 50%; animation: noesiaSwaGdhSpin 0.8s linear infinite; }
@keyframes noesiaSwaGdhSpin { to { transform: rotate(360deg); } }
@media (max-width: 1280px) { .noesia-swa-gdh__overview { grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (max-width: 1024px) { .noesia-swa-gdh__grid, .noesia-swa-gdh__settings-grid { grid-template-columns: 1fr; } .noesia-swa-gdh__card--span-2, .noesia-swa-gdh__card--span-3 { grid-column: auto; } .noesia-swa-gdh__hero { flex-direction: column; } .noesia-swa-gdh__hero-actions { align-items: flex-start; } }

.noesia-swa-admin-wrap.noesia-swa-theme-minimal .noesia-swa-gdh__hero,
.noesia-swa-admin-wrap.noesia-swa-theme-minimal .noesia-swa-gdh__card,
.noesia-swa-admin-wrap.noesia-swa-theme-minimal .noesia-swa-gdh__metric-card,
.noesia-swa-admin-wrap.noesia-swa-theme-minimal .noesia-swa-gdh__provider-pill,
.noesia-swa-admin-wrap.noesia-swa-theme-minimal .noesia-swa-gdh__mini-card,
.noesia-swa-admin-wrap.noesia-swa-theme-minimal .noesia-swa-gdh__tabs button,
.noesia-swa-admin-wrap.noesia-swa-theme-minimal .noesia-swa-gdh__settings-grid select,
.noesia-swa-admin-wrap.noesia-swa-theme-minimal .noesia-swa-gdh__settings-grid input {
    background: var(--gdh-surface);
    color: var(--gdh-text);
}
.noesia-swa-admin-wrap.noesia-swa-theme-minimal .noesia-swa-gdh__button--ghost {
    background: var(--gdh-surface-2) !important;
    color: var(--gdh-text) !important;
}
.noesia-swa-admin-wrap.noesia-swa-theme-minimal .noesia-swa-gdh__notice,
.noesia-swa-admin-wrap.noesia-swa-theme-minimal .noesia-swa-gdh__empty,
.noesia-swa-admin-wrap.noesia-swa-theme-minimal .noesia-swa-gdh__loading,
.noesia-swa-admin-wrap.noesia-swa-theme-minimal .noesia-swa-gdh__table th {
    background: var(--gdh-surface-2);
    color: var(--gdh-text);
}
.noesia-swa-admin-wrap.noesia-swa-theme-minimal .noesia-swa-gdh p,
.noesia-swa-admin-wrap.noesia-swa-theme-minimal .noesia-swa-gdh small,
.noesia-swa-admin-wrap.noesia-swa-theme-minimal .noesia-swa-gdh li,
.noesia-swa-admin-wrap.noesia-swa-theme-minimal .noesia-swa-gdh label span,
.noesia-swa-admin-wrap.noesia-swa-theme-minimal .noesia-swa-gdh__hero-copy p,
.noesia-swa-admin-wrap.noesia-swa-theme-minimal .noesia-swa-gdh__source-list,
.noesia-swa-admin-wrap.noesia-swa-theme-minimal .noesia-swa-gdh__status {
    color: var(--gdh-soft);
}

.noesia-swa-gdh__indicator-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 18px; }
.noesia-swa-gdh__indicator-card { background: var(--gdh-surface-2); border: 1px solid var(--gdh-border); border-radius: 18px; padding: 18px; box-shadow: inset 0 1px 0 rgba(255,255,255,0.04); }
.noesia-swa-admin-wrap.noesia-swa-theme-dark .noesia-swa-gdh__indicator-card,
.noesia-swa-admin-wrap.noesia-swa-theme-black .noesia-swa-gdh__indicator-card { background: rgba(255,255,255,0.04); }
@media (max-width: 1024px) { .noesia-swa-gdh__indicator-grid { grid-template-columns: 1fr; } }
.noesia-swa-admin-wrap.noesia-swa-theme-minimal .noesia-swa-gdh__indicator-card { background: var(--gdh-surface-2); color: var(--gdh-text); }
