.sidebar { padding: 0; overflow: hidden; justify-content: flex-start; }
.sidebar nav { flex: 1; min-height: 0; padding: 17px 16px; overflow-y: auto; }
.sidebar nav a { flex: none; }
.sidebar nav a.active { box-shadow: inset 3px 0 0 var(--primary); }
.nav-group-label { padding: 16px 13px 8px; color: #536580; font-size: 11px; border-top: 1px solid var(--line); margin-top: 10px; }
.side-bottom { flex: none; padding: 12px 16px; margin-top: 0; }
.sidebar-member-area { flex: none; padding: 10px 16px; border-top: 1px solid var(--line); background: var(--surface); }
.sidebar-member { display: flex; align-items: center; gap: 16px; min-height: 45px; padding: 0 13px; border-radius: 10px; color: #485875; font-size: 14px; font-weight: 540; }
.sidebar-member .ico { width: 20px; height: 20px; }
.sidebar-member:hover { background: #f2f7ff; color: var(--primary); }
.sidebar a:focus-visible { outline: 3px solid #85b8ff; outline-offset: -3px; }
@media (max-width: 1040px) {
  .sidebar nav { padding: 14px 10px; }
  .nav-group-label { padding: 0; height: 1px; font-size: 0; margin: 10px 3px; }
  .sidebar-member-area { padding: 10px; }
  .sidebar-member { justify-content: center; padding: 0; gap: 0; font-size: 0; }
  .sidebar-member .ico { width: 22px; height: 22px; }
}
@media (max-width: 700px) {
  .sidebar { display: flex; flex-direction: row; }
  .sidebar nav { padding: 4px 0; min-width: 0; overflow-y: hidden; }
  .nav-group-label { display: none; }
  .sidebar-member-area { width: 58px; padding: 4px 2px; border-top: 0; border-left: 1px solid var(--line); }
  .sidebar-member { height: 49px; min-height: 0; flex-direction: column; gap: 1px; font-size: 9px; padding: 5px 1px; }
  .sidebar-member .ico { width: 20px; height: 20px; }
}

/* Recovery controls use document flow so they never cover editor actions. */
.storage-protection { margin: 90px 24px 0 230px; border: 2px solid #d79522; }
.storage-protection[hidden] { display: none; }
.storage-protection p { font-size: 13px; margin: 8px 0 12px; line-height: 1.6; }
.storage-protected .main { margin-top: 16px; }
@media (max-width: 1040px) { .storage-protection { margin-left: 90px; } }
@media (max-width: 700px) { .storage-protection { margin: 77px 10px 0; } }

/* Native card links keep their existing appearance and a visible keyboard focus. */
.quick-card:focus-visible, .tool-tile:focus-visible, .resource-row:focus-visible, .tool-link:focus-visible { outline: 3px solid var(--primary); outline-offset: 3px; }
