/* ========================================================================== 
   GEO-UX-109 — Theme switcher and final visual convergence
   ========================================================================== */
.ui-092 {
    transition: background-color .16s ease, color .16s ease;
}
.ui-092 .panel,
.ui-092 .step-card,
.ui-092 :where(.article-row,.review-card,.project-kpi-grid article,.content-gap-kpis-v108 article) {
    transition: border-color .16s ease, background-color .16s ease, box-shadow .16s ease;
}
.ui-092 .topbar { background:var(--ui-surface); backdrop-filter:none; }
.ui-092 .panel { background:var(--ui-surface); border-color:var(--ui-border); }
.ui-092 .btn.primary { border-color:var(--ui-brand); background:var(--ui-brand); }
.ui-092 .btn.primary:hover { border-color:var(--ui-brand-hover); background:var(--ui-brand-hover); }
.ui-092 .btn:hover { transform:none; }
.ui-092 .btn:active { transform:translateY(1px); }
.ui-092 .btn.secondary { color:var(--ui-brand); }
.ui-092 .text-link,
.ui-092 .eyebrow { color:var(--ui-brand); }
.ui-092 .count-chip { color:var(--ui-muted); background:transparent; }
html[data-geo-theme] body.ui-092 .app-shell .btn.primary { box-shadow:none; }
html[data-geo-theme] body.ui-092 .app-shell .menu a.active {
    border-radius:6px;
    background:color-mix(in srgb,var(--ui-brand) 14%,transparent);
    box-shadow:inset 2px 0 0 var(--ui-brand);
}

/* Theme selector lives in the existing account dropdown to avoid topbar clutter. */
.ui-092 .top-user-dropdown { width: 300px; }
.ui-092 .theme-menu-block-v109 {
    margin: 6px 0 0;
    padding: 10px 10px 9px;
    border-top: 1px solid var(--ui-border);
}
.ui-092 .theme-menu-head-v109 {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-bottom:9px;
}
.ui-092 .theme-menu-head-v109 strong { font-size:13px; }
.ui-092 .theme-menu-head-v109 small { color:var(--ui-muted); font-size:11px; }
.ui-092 .theme-options-v109 { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; }
.ui-092 .top-user-dropdown .theme-option-v109 {
    min-width:0;
    min-height:56px;
    display:grid;
    justify-items:center;
    align-content:center;
    gap:5px;
    padding:7px 5px;
    border:1px solid var(--ui-border);
    border-radius:10px;
    color:var(--ui-text-2);
    background:var(--ui-surface-subtle);
    font-size:11px;
    font-weight:650;
    text-align:center;
    cursor:pointer;
}

.ui-092 .top-user-dropdown .theme-option-v109:hover { border-color:var(--ui-border-strong); background:var(--ui-surface-hover); }
.ui-092 .top-user-dropdown .theme-option-v109[aria-pressed="true"] {
    border-color:var(--ui-brand);
    color:var(--ui-brand);
    background:var(--ui-brand-soft);
    box-shadow:0 0 0 2px color-mix(in srgb, var(--ui-brand) 10%, transparent);
}
.ui-092 .theme-swatches-v109 { display:flex; gap:3px; }
.ui-092 .theme-swatches-v109 i { width:10px; height:10px; border-radius:50%; box-shadow:inset 0 0 0 1px rgba(15,23,42,.08); }
.ui-092 .top-user-dropdown .theme-option-v109[data-theme-option="classic"] i:nth-child(1){background:#2563d9}.ui-092 .top-user-dropdown .theme-option-v109[data-theme-option="classic"] i:nth-child(2){background:#121d2e}.ui-092 .top-user-dropdown .theme-option-v109[data-theme-option="classic"] i:nth-child(3){background:#f5f7fa}
.ui-092 .top-user-dropdown .theme-option-v109[data-theme-option="mint"] i:nth-child(1){background:#0f7c72}.ui-092 .top-user-dropdown .theme-option-v109[data-theme-option="mint"] i:nth-child(2){background:#132724}.ui-092 .top-user-dropdown .theme-option-v109[data-theme-option="mint"] i:nth-child(3){background:#f3f8f7}
.ui-092 .top-user-dropdown .theme-option-v109[data-theme-option="slate"] i:nth-child(1){background:#526d94}.ui-092 .top-user-dropdown .theme-option-v109[data-theme-option="slate"] i:nth-child(2){background:#17212e}.ui-092 .top-user-dropdown .theme-option-v109[data-theme-option="slate"] i:nth-child(3){background:#f4f6f8}
.ui-092 .top-user-dropdown form { margin-top:0; }
.ui-092 .top-user-dropdown form button { color:var(--ui-danger); }

/* Context/status surfaces remain contained; ordinary page introductions do not. */
.ui-092.page-project-detail .project-detail-hero,
.ui-092.page-content-gaps .content-gap-hero-v88 {
    border-radius:var(--ui-card-radius);
    background:var(--ui-surface);
    box-shadow:none;
}
.ui-092 .launch-readiness-hero-v90 {
    border-radius:var(--ui-card-radius);
    box-shadow:none;
}
.ui-092 :is(
    .matrix-hero-v86,
    .geo-report-hero-v87,
    .service-center-hero-v89,
    .admin-model-hero,
    .about-hero,
    .ai-hero,
    .help-hero,
    .profile-hero,
    .admin-hero
) {
    padding:2px 2px 16px;
    border:0;
    border-bottom:1px solid var(--ui-border);
    border-radius:0;
    color:var(--ui-text);
    background:transparent;
    box-shadow:none;
}
.ui-092 :is(
    .matrix-hero-v86,
    .geo-report-hero-v87,
    .service-center-hero-v89,
    .admin-model-hero,
    .about-hero,
    .ai-hero,
    .help-hero,
    .profile-hero,
    .admin-hero
) :where(h1,h2,h3) { color:var(--ui-text); }
.ui-092 :is(
    .matrix-hero-v86,
    .geo-report-hero-v87,
    .service-center-hero-v89,
    .admin-model-hero,
    .about-hero,
    .ai-hero,
    .help-hero,
    .profile-hero,
    .admin-hero
) :where(p,small) { color:var(--ui-muted); }

/* Dashboard starts with the next operation, not a marketing hero. */
html[data-geo-theme] body.ui-092.page-dashboard .welcome-panel {
    min-height:auto;
    padding:18px 20px;
    border:0;
    border-left:3px solid var(--ui-brand);
    border-radius:0;
    color:var(--ui-text);
    background:var(--ui-surface-subtle);
    box-shadow:none;
}
html[data-geo-theme] body.ui-092.page-dashboard .welcome-panel .eyebrow { color:var(--ui-brand); }
html[data-geo-theme] body.ui-092.page-dashboard .welcome-panel h2 {
    margin-bottom:6px;
    color:var(--ui-text);
    font-size:20px;
}
html[data-geo-theme] body.ui-092.page-dashboard .welcome-panel p {
    margin-bottom:14px;
    color:var(--ui-muted);
    font-size:13px;
    line-height:1.55;
}
html[data-geo-theme] body.ui-092.page-dashboard .welcome-panel .btn.primary {
    border-color:var(--ui-brand);
    color:#fff;
    background:var(--ui-brand);
}
html[data-geo-theme] body.ui-092.page-dashboard .welcome-panel .btn.ghost {
    border-color:var(--ui-border-strong);
    color:var(--ui-text-2);
    background:transparent;
}
.ui-092.page-project-detail .project-kpi-grid article,
.ui-092.page-content-gaps .content-gap-kpis-v108 article,
.ui-092.page-content .article-row-v83,
.ui-092.page-review .review-card { background:var(--ui-surface); }
.ui-092.page-content .article-row-v83:hover,
.ui-092.page-review .review-card:hover { border-color:var(--ui-border-strong); }
.ui-092.page-review .review-warning,
.ui-092.page-content .inline-warning { box-shadow:none; }

@media (max-width: 640px) {
    .ui-092 .top-user-dropdown { width:min(300px,calc(100vw - 24px)); }
}
@media (prefers-reduced-motion: reduce) {
    .ui-092,
    .ui-092 .panel,
    .ui-092 .step-card { transition:none; }
    .ui-092 .btn:active { transform:none; }
}
