/* Main container */
.settings-container {
    padding: 2rem;
    max-width: 1200px;
    margin: 0 auto;
    width: 100%;
}

/* Headings */
.settings-container h2 {
    margin-bottom: 1.5rem;
    color: var(--sl-color-primary-600);
}

.settings-container h3 {
    margin-bottom: 1rem;
}

.settings-container h4 {
    font-size: 1.1rem;
    margin-bottom: 0.75rem;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.settings-tabs-container {
    width: 100%;
    display: flex;
    justify-content: space-between;
}

/* Paragraphs */
.settings-container p {
    font-size: 0.9rem;
    color: var(--sl-color-neutral-700);
    margin-bottom: 1rem;
}

/* Tab panels */
.settings-container .tab-panel {
    padding-top: 1.5rem;
}

/* Forms */
.settings-container .add-admin-form,
.settings-container .add-user-form {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
    max-width: 500px;
    margin-bottom: 2rem;
}

.settings-container .add-user-form {
    margin-bottom: 0;
}

/* Users list */
.settings-container .users-list {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
    gap: 1rem;
    margin-bottom: 1.5rem;
    max-height: 300px;
    overflow-y: auto;
    padding: 0.5rem;
    border: 1px solid var(--sl-color-neutral-300);
    border-radius: var(--sl-border-radius-medium);
}

.settings-container .users-list p {
    color: var(--sl-color-neutral-600);
}

/* Token section */
.settings-container .token-section {
    display: flex;
    flex-direction: column;
    gap: 2.5rem;
}

/* Theme settings */
.settings-container .theme-settings-form {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 1.5rem;
    max-width: 700px;
    align-items: end;
}

/* Token generation form */
.settings-container .generate-token-form {
    display: flex;
    gap: 1rem;
    align-items: center;
}

/* Input and button wrappers */
.settings-container .input-wrapper {
    flex: 1;
    min-width: 200px;
}

.settings-container .button-wrapper {
    white-space: nowrap;
}

.settings-container .update-theme-button {
    white-space: nowrap;
    margin-top: 2rem;
}

/* Loading spinner */
.settings-container .loading-spinner {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 50vh;
}

.settings-container .loading-spinner sl-spinner {
    font-size: 3rem;
}

/* Icons */
.settings-container .icon-wrapper {
    font-size: 1.2rem;
}

/* Tags */
.settings-container .tag-wrapper {
    margin: 0;
    justify-content: space-between;
}

.settings-container .tag-icon {
    margin-right: 0.5em;
}

/* Add these new styles to your settings.css file */

/* Tab group container */
.settings-container sl-tab-group {
    display: flex;
    width: 100%;
}

/* Tab navigation (left side) */
.settings-container sl-tab-group::part(nav) {
    width: 200px;
    min-width: 200px;
    border-right: 1px solid var(--sl-color-neutral-300);
    padding-right: 1rem;
}

/* Tab panels (right side) */
.settings-container sl-tab-group::part(panels) {
    flex: 1;
    padding-left: 1.5rem;
}

/* Individual tabs */
.settings-container sl-tab {
    width: 100%;
    text-align: left;
    padding: 0.75rem 1rem;
    margin-bottom: 0.5rem;
    border-radius: var(--sl-border-radius-medium);
}

/* Active tab */
.settings-container sl-tab[active] {
    background-color: var(--sl-color-primary-100);
    color: var(--sl-color-primary-700);
}

/* Hover state for tabs */
.settings-container sl-tab:hover {
    background-color: var(--sl-color-neutral-100);
}

.users-panel-content {
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
