.session-menu { display:flex; align-items:center; gap:10px; margin-left:8px; }
.session-menu>span { max-width:110px; white-space:nowrap; text-overflow:ellipsis; overflow:hidden; font-size:11px; }
.session-menu button { font-size:11px; white-space:nowrap; }
.settings-toolbar { display:flex; flex:1; align-items:center; justify-content:space-between; gap:12px; }
.settings-toolbar h1 { font-size:18px; margin:0; }
.settings-toolbar button { height:32px; font-size:11px; }
.app-shell.is-settings>.sidebar,.app-shell.is-settings>.workspace { display:none; }
.app-shell.is-settings .topbar-status>span { display:none; }
.settings-page { grid-row:2; grid-column:1/-1; display:flex; flex-direction:column; min-height:0; }
.settings-layout { display:grid; grid-template-columns:220px minmax(0,1fr); flex:1; min-height:0; }
.settings-navigation { padding:24px 12px; background:white; border-right:1px solid var(--line); }
.settings-navigation .section-kicker { margin:0 10px 12px; }
.settings-navigation a { display:block; padding:12px; margin-bottom:4px; text-decoration:none; font-size:12px; color:var(--muted); border-radius:5px; }
.settings-navigation a:hover,.settings-navigation a.active { color:var(--teal); background:var(--teal-soft); }
.settings-scroll { overflow:auto; padding:24px; scroll-behavior:smooth; scroll-padding-top:24px; }
.settings-card { max-width:1050px; margin:0 auto 20px; padding:22px; background:white; border:1px solid var(--line); border-radius:8px; }
.settings-card-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; margin-bottom:18px; }
.settings-card h2 { margin:0; font-size:16px; font-weight:600; }
.settings-card-heading p { margin:7px 0 0; color:var(--muted); font-size:12px; line-height:1.6; }
.settings-card h3 { font-size:13px; margin:20px 0 14px; }
.settings-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.settings-fields .wide { grid-column:1/-1; }
.settings-note { font-size:11px; color:var(--muted); line-height:1.7; margin:14px 0 0; }
.settings-status { font-size:11px; line-height:1.7; color:var(--muted); margin:14px 0; overflow-wrap:anywhere; }
.connection-badge { padding:6px 8px; border-radius:4px; background:var(--teal-soft); color:var(--teal); font-size:10px; white-space:nowrap; }
.settings-data-counts { display:flex; gap:22px; flex-wrap:wrap; margin-top:20px; color:var(--muted); font-size:11px; }
.settings-data-counts strong { display:block; color:var(--ink); margin-bottom:5px; font-size:16px; }
.settings-footer { flex-shrink:0; display:flex; align-items:center; gap:12px; padding:12px 24px; border-top:1px solid var(--line); background:white; }
.settings-footer #settingsSaveStatus { flex:1; font-size:11px; color:var(--muted); }
.danger-text { color:var(--red); }
.user-row { display:flex; align-items:center; gap:12px; padding:12px 0; border-bottom:1px solid var(--line); font-size:12px; }
.user-row>div { flex:1; min-width:0; }
.user-row strong,.user-row small { display:block; overflow-wrap:anywhere; }
.user-row small { margin-top:4px; color:var(--muted); font-size:11px; }
.user-row>span { font-size:10px; color:var(--muted); }
#userStatus { font-size:11px; color:var(--muted); }
.login-page { display:grid; place-items:center; min-height:100dvh; height:auto; overflow:auto; padding:24px; }
.login-card { width:100%; max-width:390px; padding:26px; border:1px solid var(--line); border-radius:8px; background:white; box-shadow:var(--shadow); }
.login-mark { width:58px; height:48px; padding:4px; object-fit:contain; border:1px solid var(--line); border-radius:5px; margin-bottom:18px; }
.login-card h1 { font-size:21px; letter-spacing:-.025em; margin:0 0 8px; }
.login-card>p { font-size:12px; color:var(--muted); line-height:1.7; margin:0 0 20px; }
.login-card form { display:grid; gap:16px; }
.login-card .primary-button { justify-content:center; width:100%; margin-top:4px; }
.login-card a { color:var(--teal); }
.login-card .login-setup { padding:10px; border:1px solid #efd8a9; background:var(--orange-soft); border-radius:5px; color:#805715; }
.login-error { margin:0; padding:10px; border-radius:4px; background:var(--red-soft); color:var(--red); font-size:12px; line-height:1.6; }
.login-back { display:block; font-size:11px; margin-top:16px; text-align:center; }
@media(max-width:900px) {
  .session-menu>span { display:none; }
  .settings-layout { grid-template-columns:180px minmax(0,1fr); }
  .settings-scroll { padding:16px; }
  .settings-card { padding:18px; }
  .settings-footer { padding:12px 16px; gap:8px; }
}
@media(max-width:620px) {
  .session-menu { margin-left:0; }
  .session-menu button { font-size:10px; }
  .topbar-status { gap:4px; }
  .settings-toolbar { align-items:flex-start; padding-top:7px; }
  .settings-toolbar button { position:absolute; bottom:6px; right:10px; height:28px; }
  .app-shell.is-settings { grid-template-rows:82px minmax(0,1fr); }
  .settings-layout { display:flex; flex-direction:column; }
  .settings-navigation { display:flex; overflow:auto; flex-shrink:0; border-right:0; border-bottom:1px solid var(--line); padding:6px; gap:4px; }
  .settings-navigation .section-kicker { display:none; }
  .settings-navigation a { font-size:10px; padding:8px; white-space:nowrap; margin:0; }
  .settings-scroll { padding:10px; min-height:0; }
  .settings-card { padding:14px; margin-bottom:12px; }
  .settings-fields { grid-template-columns:1fr; gap:12px; }
  .settings-footer { flex-wrap:wrap; padding:9px; }
  .settings-footer #settingsSaveStatus { flex:1 1 50%; }
  .settings-footer button { font-size:11px; }
  .settings-import-actions { flex-wrap:wrap; }
  .user-row { gap:8px; }
  .user-row>span { max-width:70px; }
  .login-page { padding:18px; }
  .login-card { padding:22px; }
}
