/* Shared settings workspace: grouped navigation and focused content. */
#page-settings [hidden] { display:none !important; }
.settings-page-header { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:24px; }
.settings-page-header .page-title { margin-bottom:5px; }
.settings-page-header p,.settings-section-header p { color:var(--text2); font-size:12px; line-height:1.7; margin:4px 0 0; }
.settings-kicker { color:var(--text3); font-size:9px; letter-spacing:.16em; font-weight:700; }
.settings-layout { display:grid; grid-template-columns:225px minmax(0,1fr); gap:28px; }
.settings-navigation { border-right:1px solid var(--border); padding-right:18px; }
.settings-group-label { color:var(--text3); font-size:9px; font-weight:700; text-transform:uppercase; letter-spacing:.15em; padding:6px 10px 10px; }
.settings-group-label:not(:first-child) { margin-top:22px; }
.settings-nav-item { width:100%; display:flex; align-items:center; text-align:left; gap:10px; padding:12px 10px; border:1px solid transparent; border-radius:8px; background:none; color:var(--text2); cursor:pointer; margin:2px 0; }
.settings-nav-item svg,.admin-links svg { width:20px; height:20px; flex-shrink:0; color:var(--blue); }
.settings-nav-item strong { font-size:12px; font-weight:600; display:block; }
.settings-nav-item small { font-size:10px; display:block; margin-top:4px; color:var(--text3); }
.settings-nav-item:hover { background:var(--glass); }
.settings-nav-item[aria-pressed="true"] { background:#182c3d; border-color:#325874; color:var(--text); box-shadow:inset 3px 0 var(--blue); }
.settings-nav-note { padding:20px 10px; font-size:10px; line-height:1.8; color:var(--text3); }
.settings-content { min-width:0; }
.settings-section-header { margin-bottom:22px; }
.settings-section-header h2 { font:28px/1.2 'Bebas Neue',sans-serif; margin:8px 0 5px; letter-spacing:.03em; }
.settings-switch-row { display:flex; align-items:center; gap:16px; padding:14px 16px; margin-bottom:20px; border:1px solid var(--border); border-radius:9px; background:var(--glass); cursor:pointer; }
.settings-switch-row > span:first-child { flex:1; }
.settings-switch-row strong { font-size:12px; font-weight:600; display:block; }
.settings-switch-row small { display:block; font-size:11px; color:var(--text2); margin-top:4px; }
.settings-switch-row input { position:absolute; opacity:0; width:1px; height:1px; }
.settings-switch { width:34px; height:20px; border-radius:20px; background:#344859; position:relative; flex-shrink:0; transition:background .15s; }
.settings-switch::after { content:''; position:absolute; width:14px; height:14px; left:3px; top:3px; background:#dce7ef; border-radius:50%; transition:transform .15s; }
.settings-switch-row input:checked + .settings-switch { background:var(--blue); }
.settings-switch-row input:checked + .settings-switch::after { transform:translateX(14px); background:#07121c; }
.settings-switch-row input:focus-visible + .settings-switch { outline:2px solid var(--blue-light); outline-offset:4px; }
.admin-links { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.admin-links a { display:flex; gap:14px; align-items:center; padding:19px 16px; border:1px solid #30485e; background:linear-gradient(125deg,#1a2d3e,#131d28); border-radius:10px; color:var(--text); text-decoration:none; transition:border-color .15s,background .15s; min-width:0; }
.admin-links a:hover { border-color:var(--blue); background:#1a2c3b; }
.admin-links a > span:not(.portal-arrow) { flex:1; min-width:0; }
.admin-links strong { display:block; font-size:13px; font-weight:600; }
.admin-links small { display:block; font-size:11px; margin-top:5px; color:var(--text2); }
.portal-arrow { color:var(--text3); }
.admin-frame { display:block; width:100%; height:calc(100dvh - 230px); min-height:560px; border:0; background:var(--dark); }
#admin-view { color:var(--text); font-size:12px; }
.admin-status { padding:24px; border:1px solid #315f4e; background:#193c3240; border-radius:10px; color:var(--text); margin-top:16px; }
.settings-content .card { max-width:none; }
.release-banner { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:22px; margin-bottom:20px; background:linear-gradient(110deg,#16374c,#131d28); border:1px solid #365267; border-radius:10px; }
.release-version { font:34px 'Bebas Neue',sans-serif; color:var(--blue); }
.release-banner p { margin:5px 0 0; color:var(--text2); font-size:12px; }
.release-tabs { display:flex; gap:4px; border-bottom:1px solid var(--border); margin-bottom:20px; }
.release-tabs button { background:none; color:var(--text2); padding:12px 16px; border:0; border-bottom:2px solid transparent; font-size:12px; cursor:pointer; }
.release-tabs button[aria-pressed="true"] { color:var(--blue); border-color:var(--blue); }
.release-entry { padding:20px; margin-bottom:12px; background:var(--glass); border:1px solid var(--border); border-radius:10px; }
.release-entry h3 { margin:0 0 6px; font-size:15px; }
.release-entry time { color:var(--text3); font-size:11px; }
.release-entry li { font-size:12px; line-height:1.8; color:var(--text2); margin-bottom:5px; }
.release-entry ul { padding-left:18px; margin-bottom:0; }
.settings-version-link { border:0; background:none; color:var(--blue); padding:10px; font-size:11px; cursor:pointer; }
@media(max-width:1100px) { .settings-layout { grid-template-columns:190px minmax(0,1fr); gap:18px; } .settings-navigation { padding-right:12px; } .admin-links { grid-template-columns:1fr; } }
@media(max-width:760px) {
 .settings-page-header > .settings-kicker,.settings-nav-note { display:none; }
 .settings-layout { grid-template-columns:1fr; gap:20px; }
 .settings-navigation { border-right:0; border-bottom:1px solid var(--border); padding:0 0 14px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:4px; }
 .settings-group-label { grid-column:1/-1; padding:10px 8px 3px; }
 .settings-group-label:not(:first-child) { margin-top:6px; }
 .settings-nav-item { padding:10px 8px; gap:8px; min-height:48px; }
 .settings-nav-item strong { font-size:11px; } .settings-nav-item small { display:none; }
 .settings-switch-row { padding:12px; } .settings-switch-row small { font-size:10px; }
 .settings-version-link { text-align:left; }
 .admin-frame { min-height:650px; }
 .release-banner { padding:16px; } .release-tabs button { padding:12px; }
}

.admin-status.unavailable { border-color:#74414a; background:#49232a66; color:var(--red); }
.sidebar-footer .settings-version-link { padding:0 0 8px; font-size:10px; }
