/* AI and Notifications use the same open, line-separated rhythm as Account.
   These wrappers stay in the DOM for existing behaviour, but are not visual cards. */
#settingsView #settings-tab-ai,
#settingsView #settings-tab-notifications {
    width: 100% !important;
    max-width: 800px !important;
    margin: 0 auto !important;
    padding: 8px 0 !important;
    box-sizing: border-box !important;
}

#settingsView #settings-tab-subscription .subscription-usage.usage-overview,
#settingsView #settings-tab-ai > .settings-card,
#settingsView #settings-tab-ai .ai-settings-card,
#settingsView #settings-tab-ai .ai-settings-panel,
#settingsView #settings-tab-notifications > .settings-card,
#settingsView #settings-tab-notifications .notification-settings-box,
#settingsView #settings-tab-notifications .notification-settings-grid {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: visible !important;
}

/* AI heading follows the account profile header: one calm header, then rows. */
#settingsView #settings-tab-ai .ai-settings-heading {
    display: flex !important;
    align-items: center !important;
    gap: 20px !important;
    min-height: 60px !important;
    margin: 0 !important;
    padding: 0 0 24px !important;
    border: 0 !important;
    border-bottom: 1px solid var(--border-color, rgba(255, 255, 255, .08)) !important;
    background: transparent !important;
    box-shadow: none !important;
}

#settingsView #settings-tab-ai .ai-settings-heading-icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 60px !important;
    height: 60px !important;
    min-width: 60px !important;
    flex: 0 0 60px !important;
    border: 0 !important;
    border-radius: 50% !important;
    background: var(--accent-color) !important;
    color: #fff !important;
    box-shadow: none !important;
}

#settingsView #settings-tab-ai .ai-settings-heading-icon svg {
    width: 30px !important;
    height: 30px !important;
}

#settingsView #settings-tab-ai .ai-settings-heading .settings-card-title,
#settingsView #settings-tab-notifications > .settings-card > .settings-card-title {
    margin: 0 !important;
    color: var(--text-primary) !important;
    font-size: 17px !important;
    font-weight: 600 !important;
    line-height: 1.25 !important;
}

#settingsView #settings-tab-ai .ai-settings-heading .settings-card-subtitle,
#settingsView #settings-tab-notifications > .settings-card > .settings-card-subtitle {
    margin: 6px 0 0 !important;
    padding: 0 !important;
    color: var(--text-secondary) !important;
    font-size: 12.5px !important;
    line-height: 1.45 !important;
    border: 0 !important;
}

#settingsView #settings-tab-ai .ai-settings-panel {
    display: block !important;
    min-width: 0 !important;
}

/* One separator per option, matching .account-settings-row. */
#settingsView #settings-tab-ai .ai-settings-row,
#settingsView #settings-tab-notifications .notification-setting-row,
#settingsView #settings-tab-notifications .notification-preview-row {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 72px !important;
    box-sizing: border-box !important;
    gap: 24px !important;
    margin: 0 !important;
    padding: 20px 0 !important;
    border: 0 !important;
    border-bottom: 1px solid var(--border-color, rgba(255, 255, 255, .08)) !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    transform: none !important;
}

#settingsView #settings-tab-ai .ai-settings-row::before,
#settingsView #settings-tab-ai .ai-settings-row::after,
#settingsView #settings-tab-notifications .notification-setting-row::before,
#settingsView #settings-tab-notifications .notification-setting-row::after,
#settingsView #settings-tab-notifications .notification-preview-row::before,
#settingsView #settings-tab-notifications .notification-preview-row::after {
    display: none !important;
    content: none !important;
}

#settingsView #settings-tab-ai .ai-settings-row-left,
#settingsView #settings-tab-notifications .notification-setting-copy {
    flex: 1 1 auto !important;
    min-width: 0 !important;
}

#settingsView #settings-tab-ai .ai-settings-row-title,
#settingsView #settings-tab-notifications .notification-setting-title {
    color: var(--text-primary) !important;
    font-size: 14.5px !important;
    font-weight: 600 !important;
    line-height: 1.25 !important;
}

#settingsView #settings-tab-ai .ai-settings-row-value,
#settingsView #settings-tab-ai .ai-voice-current-label,
#settingsView #settings-tab-notifications .notification-setting-subtitle {
    display: block !important;
    margin-top: 4px !important;
    color: var(--text-secondary) !important;
    font-size: 12.5px !important;
    line-height: 1.4 !important;
}

/* Controls remain compact and aligned at the right, without turning rows into cards. */
#settingsView #settings-tab-ai .ai-settings-selector,
#settingsView #settings-tab-ai .ai-settings-row-btn,
#settingsView #settings-tab-notifications .notification-size-group,
#settingsView #settings-tab-notifications .notification-color-group,
#settingsView #settings-tab-notifications .notification-sound-switcher {
    flex: 0 0 auto !important;
    margin-left: auto !important;
}

#settingsView #settings-tab-ai .ai-settings-selector,
#settingsView #settings-tab-ai .ai-settings-row-btn,
#settingsView #settings-tab-notifications .notification-sound-switcher,
#settingsView #settings-tab-notifications .notification-sound-current-btn,
#settingsView #settings-tab-notifications .notification-preview-btn {
    box-sizing: border-box !important;
    height: 36px !important;
    min-height: 36px !important;
    max-height: 36px !important;
    border: 1px solid var(--border-color, rgba(255, 255, 255, .10)) !important;
    border-radius: 9px !important;
    background: var(--input-bg, rgba(255, 255, 255, .05)) !important;
    color: var(--text-primary) !important;
    box-shadow: none !important;
    font-size: 13px !important;
}

#settingsView #settings-tab-ai .ai-settings-selector {
    width: 150px !important;
    min-width: 150px !important;
    max-width: 150px !important;
    padding: 0 12px !important;
}

#settingsView #settings-tab-ai .ai-settings-row-btn {
    width: 108px !important;
    min-width: 108px !important;
    max-width: 108px !important;
    padding: 0 14px !important;
}

/* Notifications no longer has an inner panel: rows flow directly under its title. */
#settingsView #settings-tab-notifications > .settings-card > .settings-card-subtitle {
    padding-bottom: 24px !important;
    border-bottom: 1px solid var(--border-color, rgba(255, 255, 255, .08)) !important;
}

#settingsView #settings-tab-notifications .notification-settings-grid {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
}

#settingsView #settings-tab-notifications .notification-size-group,
#settingsView #settings-tab-notifications .notification-color-group {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    min-height: 36px !important;
    background: transparent !important;
    border: 0 !important;
}

#settingsView #settings-tab-notifications .notification-size-btn,
#settingsView #settings-tab-notifications .notification-sound-current-btn {
    height: 36px !important;
    min-height: 36px !important;
    padding: 0 12px !important;
    border: 1px solid transparent !important;
    border-radius: 9px !important;
    background: transparent !important;
    color: var(--text-secondary) !important;
    box-shadow: none !important;
    font-size: 13px !important;
    font-weight: 600 !important;
}

#settingsView #settings-tab-notifications .notification-size-btn:hover,
#settingsView #settings-tab-notifications .notification-size-btn.active,
#settingsView #settings-tab-notifications .notification-sound-switcher.open .notification-sound-current-btn,
#settingsView #settings-tab-notifications .notification-sound-current-btn:hover {
    border-color: transparent !important;
    background: var(--bg-hover, rgba(255, 255, 255, .07)) !important;
    color: var(--text-primary) !important;
}

#settingsView #settings-tab-notifications .notification-sound-switcher {
    width: 154px !important;
    min-width: 154px !important;
    max-width: 154px !important;
    border: 0 !important;
    background: transparent !important;
}

#settingsView #settings-tab-notifications .notification-sound-current-btn {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    border: 1px solid var(--border-color, rgba(255, 255, 255, .10)) !important;
    background: var(--input-bg, rgba(255, 255, 255, .05)) !important;
}

#settingsView #settings-tab-notifications .notification-color-dot {
    width: 22px !important;
    height: 22px !important;
    border: 2px solid transparent !important;
    box-shadow: none !important;
}

#settingsView #settings-tab-notifications .notification-color-dot:hover {
    filter: saturate(1.05) brightness(1.08) !important;
}

#settingsView #settings-tab-notifications .notification-color-dot:focus-visible {
    outline: 2px solid var(--text-primary) !important;
    outline-offset: 3px !important;
}

#settingsView #settings-tab-notifications .notification-color-dot.active {
    border-color: var(--logicum-surface-raised, var(--input-bg)) !important;
    box-shadow: 0 0 0 2px currentColor !important;
}

#settingsView #settings-tab-notifications .notification-preview-row {
    justify-content: flex-start !important;
}

#settingsView #settings-tab-notifications .notification-preview-btn {
    width: auto !important;
    min-width: 0 !important;
    padding: 0 14px !important;
    border: 1px solid transparent !important;
    background: var(--bg-hover, rgba(255, 255, 255, .07)) !important;
    cursor: pointer !important;
}

#settingsView #settings-tab-notifications .notification-preview-btn:hover {
    border-color: transparent !important;
    background: var(--bg-hover-strong, rgba(255, 255, 255, .11)) !important;
}

body.light-mode #settingsView #settings-tab-ai .ai-settings-heading,
body.light-mode #settingsView #settings-tab-ai .ai-settings-row,
body.light-mode #settingsView #settings-tab-notifications > .settings-card > .settings-card-subtitle,
body.light-mode #settingsView #settings-tab-notifications .notification-setting-row,
body.light-mode #settingsView #settings-tab-notifications .notification-preview-row {
    border-color: var(--border-color, rgba(15, 23, 42, .12)) !important;
}

body.light-mode #settingsView #settings-tab-ai .ai-settings-heading-icon {
    color: #fff !important;
}

@media (max-width: 620px) {
    #settingsView #settings-tab-ai .ai-settings-row,
    #settingsView #settings-tab-notifications .notification-setting-row {
        align-items: flex-start !important;
        flex-wrap: wrap !important;
        gap: 12px !important;
    }

    #settingsView #settings-tab-ai .ai-settings-selector,
    #settingsView #settings-tab-ai .ai-settings-row-btn,
    #settingsView #settings-tab-notifications .notification-size-group,
    #settingsView #settings-tab-notifications .notification-color-group,
    #settingsView #settings-tab-notifications .notification-sound-switcher {
        margin-left: 0 !important;
    }
}
