.shareholder-portal {
  min-height: 100vh; max-width: 960px; margin-inline: auto;
  padding: max(20px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right))
    max(28px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));
  display: grid; align-content: start; gap: 14px;
}
.shareholder-portal-header {
  display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 10px;
}
.shareholder-brand { display: flex; align-items: center; gap: 10px; min-width: 0; }
.shareholder-brand img,.shareholder-login img { display: block; border-radius: 10px; }
.shareholder-brand h1 { margin: 0; font-size: clamp(24px,4vw,34px); line-height: 1.25; }
.shareholder-brand p { margin: 4px 0 0; color: var(--muted); overflow-wrap: anywhere; }
.shareholder-search,.shareholder-portal-files {
  display: grid; gap: 12px; min-width: 0; padding: 16px; border: 1px solid var(--line);
  border-radius: 14px; background: var(--paper);
}
.shareholder-search label { display: grid; gap: 5px; color: var(--muted); font-size: 13px; }
.shareholder-search input { font-size: 16px; }
.shareholder-search [aria-pressed="true"] { color: var(--accent); background: var(--accent-soft); border-color: var(--accent); }
.shareholder-portal-files > :is(a,button) { justify-self: start; }
.shareholder-files { display: grid; margin: 0; padding: 0; list-style: none; }
.shareholder-files > li {
  display: flex; justify-content: space-between; align-items: center; gap: 10px 16px; flex-wrap: wrap;
  min-width: 0; padding-block: 12px; border-top: 1px solid var(--line);
}
.shareholder-file-meta { display: grid; flex: 1 1 200px; gap: 4px; min-width: 0; overflow-wrap: anywhere; }
.shareholder-file-meta small { color: var(--muted); font-size: 13px; }
.shareholder-file-meta p { margin: 0; color: var(--ink); white-space: pre-wrap; }
.shareholder-portal :is(a,button,input):focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.shareholder-account-header { display: flex; align-items: center; flex-wrap: wrap; justify-content: space-between; gap: 8px; }
.shareholder-admin .shareholder-account-info { display: grid; gap: 8px; }
.shareholder-admin .shareholder-account-info p,.shareholder-admin .shareholder-file-meta p { margin: 0; }
.shareholder-admin .shareholder-account-info dl { display: flex; flex-wrap: wrap; gap: 8px 18px; margin: 0; }
.shareholder-admin .shareholder-account-info dd { margin: 3px 0 0; overflow-wrap: anywhere; }
.shareholder-admin .shareholder-account-info dt { color: var(--muted); font-size: 13px; }
.shareholder-code { display: grid; gap: 8px; padding: 12px; border: 1px solid var(--line); border-radius: 9px; }
.shareholder-code label { overflow-wrap: anywhere; }
.shareholder-code textarea { resize: vertical; }
.shareholder-admin [data-shareholder-contact] { width: 100%; min-width: 0; }
.shareholder-admin .shareholder-account-info .hub-form-actions { margin-top: 3px; }
.shareholder-admin .shareholder-empty { margin: 0; }
