/* ==========================================================
   THE STUDIO — BUILD 15.13
   ADMINISTRATION
   ========================================================== */

body:has(.settings-view) .topbar {
    display: none;
}

body:has(.settings-view) > .studio-app > .workspace {
    grid-template-rows: minmax(0, 1fr);
    min-height: 100vh;
}

body:has(.settings-view) > .studio-app > .workspace > #workspace-content {
    padding: 24px 40px 48px;
}

.settings-view {
    width: 100%;
    min-height: 100%;
    padding: clamp(24px, 3vw, 40px);
    color: var(--text-primary);
    background:
        radial-gradient(circle at 12% 0%, rgba(205, 157, 91, 0.08), transparent 30%),
        linear-gradient(145deg, rgba(17, 16, 15, 0.68), rgba(8, 8, 8, 0.78));
    animation: settings-enter 240ms ease both;
}

.settings-hero {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    max-width: 1180px;
    margin: 0 auto 22px;
    padding-bottom: 20px;
    border-bottom: 1px solid rgba(205, 157, 91, 0.14);
}

.settings-kicker,
.settings-panel-label {
    margin: 0 0 8px;
    color: var(--accent-gold-bright, #d5b06b);
    font-size: 0.66rem;
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}

.settings-hero h2 {
    margin: 0;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(2.2rem, 4vw, 3.7rem);
    font-weight: 400;
    line-height: 1;
    letter-spacing: -0.03em;
}

.settings-intro {
    max-width: 620px;
    margin: 12px 0 0;
    color: var(--text-secondary);
    font-size: 0.86rem;
    line-height: 1.65;
}

.settings-system-status {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    flex: 0 0 auto;
    padding: 8px 12px;
    border: 1px solid rgba(205, 157, 91, 0.16);
    border-radius: 999px;
    color: #d9c6a2;
    background: rgba(205, 157, 91, 0.045);
    font-size: 0.7rem;
}

.settings-status-light {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #caa15e;
    box-shadow: 0 0 10px rgba(202, 161, 94, 0.6);
}

.settings-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(300px, 0.92fr);
    gap: 16px;
    max-width: 1180px;
    margin: 0 auto;
}

.settings-panel {
    min-width: 0;
    padding: 22px 24px;
    border: 1px solid rgba(205, 157, 91, 0.12);
    border-radius: 16px;
    background: linear-gradient(145deg, rgba(31, 28, 25, 0.9), rgba(17, 16, 15, 0.94));
    box-shadow: 0 16px 38px rgba(0, 0, 0, 0.22);
}

.settings-modules-panel {
    grid-column: 1 / -1;
}

.settings-panel-heading h3 {
    margin: 0;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.35rem;
    font-weight: 400;
    letter-spacing: -0.01em;
}

.settings-data-list {
    display: grid;
    gap: 0;
    margin: 18px 0 0;
}

.settings-data-list > div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 10px 0;
    border-top: 1px solid rgba(205, 157, 91, 0.08);
}

.settings-data-list dt,
.settings-status-list dt {
    color: var(--text-muted);
    font-size: 0.7rem;
}

.settings-data-list dd,
.settings-status-list dd {
    margin: 0;
    color: #d8cbb8;
    font-size: 0.75rem;
    text-align: right;
}

.settings-data-list--primary > div:first-child {
    border-top-color: rgba(205, 157, 91, 0.14);
}

.settings-status-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin: 18px 0 0;
}

.settings-status-list > div {
    padding: 13px 14px;
    border: 1px solid rgba(205, 157, 91, 0.09);
    border-radius: 11px;
    background: rgba(8, 8, 8, 0.35);
}

.settings-status-list dd {
    margin-top: 5px;
    color: #d7b474;
    text-align: left;
}

.settings-module-list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px 18px;
    margin-top: 18px;
}

.settings-module-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    min-width: 0;
    padding: 11px 0;
    border-top: 1px solid rgba(205, 157, 91, 0.08);
}

.settings-module-row div {
    min-width: 0;
}

.settings-module-row strong,
.settings-module-row span {
    display: block;
}

.settings-module-row strong {
    color: #d9d0c3;
    font-size: 0.78rem;
    font-weight: 600;
}

.settings-module-row div span {
    margin-top: 4px;
    overflow: hidden;
    color: var(--text-muted);
    font-size: 0.66rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.settings-module-state {
    flex: 0 0 auto;
    color: #c9a665;
    font-size: 0.62rem;
    letter-spacing: 0.04em;
}

@keyframes settings-enter {
    from { opacity: 0; transform: translateY(6px); }
    to { opacity: 1; transform: translateY(0); }
}

@media (max-width: 920px) {
    body:has(.settings-view) > .studio-app > .workspace > #workspace-content {
        padding: 20px;
    }

    .settings-hero {
        align-items: flex-start;
        flex-direction: column;
    }

    .settings-grid {
        grid-template-columns: 1fr;
    }

    .settings-modules-panel {
        grid-column: auto;
    }

    .settings-module-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 620px) {
    .settings-view {
        padding: 20px;
    }

    .settings-status-list,
    .settings-module-list {
        grid-template-columns: 1fr;
    }
}

@media (prefers-reduced-motion: reduce) {
    .settings-view {
        animation: none;
    }
}

/* ==========================================================
   BUILD 15.15 — USER ADMINISTRATION
   ========================================================== */

.settings-users-panel { grid-column: 1 / -1; }
.settings-user-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; }
.settings-user-note { max-width:460px; color:var(--text-muted); font-size:.66rem; line-height:1.5; text-align:right; }
.settings-user-table { margin-top:18px; border-top:1px solid rgba(205,157,91,.12); }
.settings-user-row { display:grid; grid-template-columns: minmax(110px,.9fr) minmax(120px,1fr) minmax(120px,1.15fr) minmax(110px,.85fr) minmax(110px,.8fr) auto; gap:14px; align-items:center; min-height:48px; border-bottom:1px solid rgba(205,157,91,.08); color:#d8cbb8; font-size:.72rem; }
.settings-user-row--head { min-height:34px; color:var(--text-muted); font-size:.62rem; text-transform:uppercase; letter-spacing:.06em; }
.settings-user-row strong { color:#dfd4c5; font-weight:600; }
.settings-user-row small { display:block; margin-top:3px; color:var(--text-muted); font-size:.58rem; }
.settings-account-state { display:inline-block; font-size:.68rem; }
.settings-account-state.is-active { color:#c9a665; }
.settings-account-state.is-inactive { color:#9b8b78; }
.settings-user-edit { justify-self:end; }
.settings-unlinked-members { margin-top:22px; padding-top:18px; border-top:1px solid rgba(205,157,91,.12); }
.settings-unlinked-heading,.settings-unlinked-row { display:flex; align-items:center; justify-content:space-between; gap:18px; }
.settings-unlinked-heading { margin-bottom:8px; color:#d9d0c3; font-size:.72rem; }
.settings-unlinked-heading span { color:#c9a665; }
.settings-unlinked-row { min-height:44px; border-top:1px solid rgba(205,157,91,.07); }
.settings-unlinked-row > span { min-width:0; }
.settings-unlinked-row strong,.settings-unlinked-row small { display:block; }
.settings-unlinked-row strong { color:#d8cbb8; font-size:.72rem; }
.settings-unlinked-row small { margin-top:3px; color:var(--text-muted); font-size:.62rem; }
.settings-user-message { margin:18px 0 0; color:var(--text-muted); font-size:.72rem; }
.settings-user-message.is-error { color:#c68c7b; }
.settings-user-dialog { width:min(520px,calc(100vw - 32px)); }
.settings-user-dialog form { display:grid; gap:14px; }
.settings-user-dialog label { display:grid; gap:6px; color:#cfc3b2; font-size:.72rem; }
.settings-user-dialog input,.settings-user-dialog select { width:100%; }
.settings-user-dialog-note { margin:0 0 4px; color:var(--text-muted); font-size:.68rem; line-height:1.5; }
.settings-user-active { grid-template-columns:auto 1fr !important; align-items:center; }
.settings-user-active input { width:auto; }

.settings-user-dialog .studio-button:disabled {
    cursor: not-allowed;
    opacity: .5;
    transform: none;
}

@media (max-width: 920px) {
    .settings-user-heading { flex-direction:column; }
    .settings-user-note { text-align:left; }
    .settings-user-row { grid-template-columns: 1fr 1fr 1fr; padding:10px 0; }
    .settings-user-row--head { display:none; }
    .settings-user-edit { justify-self:start; }
}
