/* Social OS portal (0.20.2): the host page around the dashboard bundle, with the tokens Hermes would give it. */
:root { --color-background: #f3f4f6; --color-card: #fff; --color-card-foreground: #111827; --color-border: #e5e7eb;
  --color-input: #e5e7eb; --color-muted-foreground: #6b7280; --color-primary: #0e7490; --color-primary-foreground: #fff;
  --color-ring: #0e7490; --color-destructive: #b91c1c; --color-warning: #b45309; --radius: 8px;
  --theme-font-sans: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; font-size: 15px; }
@media (prefers-color-scheme: dark) {
  :root { --color-background: #0b1220; --color-card: #111827; --color-card-foreground: #e5e7eb; --color-border: #1f2937;
    --color-input: #374151; --color-muted-foreground: #9ca3af; --color-primary: #22a3bf; --color-ring: #22a3bf; }
}
body { margin: 0; background: var(--color-background); color: var(--color-card-foreground); font-family: var(--theme-font-sans); }
.portal-bar { position: sticky; top: 0; z-index: 30; display: flex; gap: 12px; align-items: center; flex-wrap: wrap;
  padding: 10px 16px; background: var(--color-card); border-bottom: 1px solid var(--color-border); }
.portal-who { color: var(--color-muted-foreground); font-size: .85rem; margin-right: auto; }
.portal-link { color: var(--color-primary); text-decoration: none; font-size: .9rem; }
.portal-main { padding: 16px; max-width: 1400px; margin: 0 auto; }
.portal-card { max-width: 380px; margin: 12vh auto 0; padding: 24px; background: var(--color-card); border: 1px solid var(--color-border);
  border-radius: var(--radius); }
.portal-card h1 { margin: 0 0 4px; font-size: 1.3rem; }
.portal-form { display: grid; gap: 12px; margin-top: 16px; }
.portal-form label { display: grid; gap: 4px; font-size: .9rem; }
.portal-form .sos-input { width: 100%; padding: 8px 10px; }
.portal-error { color: var(--color-destructive); min-height: 1.2em; margin: 0; font-size: .9rem; }
.portal-table { width: 100%; border-collapse: collapse; }
.portal-table th, .portal-table td { text-align: left; padding: 6px 8px; border-bottom: 1px solid var(--color-border); font-size: .9rem; }
.portal-row { display: flex; flex-wrap: wrap; gap: 8px; align-items: end; }
.portal-row label { display: grid; gap: 4px; font-size: .85rem; }
.portal-link-box { word-break: break-all; padding: 8px; border: 1px dashed var(--color-border); border-radius: var(--radius); }
