/* Companion surfaces for the shared workspace. These selectors are intentionally
 * scoped to existing pages and components; dialogs and chart SVGs are untouched.
 * Global palette, fonts, spacing, and radii remain in tokens.css. */

/* Account, preferences, subscription cards, and optional brokerage connections. */
body.sz-page #profilePage { padding-block:var(--sz-6); }
body.sz-page #profilePage>.sz-page-head { margin-bottom:var(--sz-5); }
body.sz-page #profilePage .glow-card { border:1px solid var(--sz-rule); border-radius:var(--sz-r-md); background:var(--sz-surface); box-shadow:none; padding:var(--sz-4); }
body.sz-page #profilePage .billing-plan-card { border-color:var(--sz-rule); border-radius:var(--sz-r-md); background:var(--sz-surface); box-shadow:none; }
body.sz-page #profilePage .billing-plan-current { border-color:var(--sz-rule-strong); background:var(--sz-surface-2); }
body.sz-page #profilePage .ai-provider-option { border-radius:var(--sz-r-md); background:var(--sz-surface); }
body.sz-page #profileTabs { width:fit-content; max-width:100%; padding:var(--sz-1); gap:var(--sz-1); border:1px solid var(--sz-rule); border-radius:var(--sz-r-md); background:var(--sz-surface); }
body.sz-page #profileTabs .tab-btn { border-radius:var(--sz-r-md); font-family:var(--sz-font-text); font-size:var(--sz-text-meta); }
body.sz-page #profileTabs .tab-btn.active { background:var(--sz-surface-2); color:var(--sz-ink); }
body.sz-page #profilePage .section-title { font-family:var(--sz-font-text); font-size:var(--sz-text-h3); letter-spacing:normal; }

/* Tool directory, financial calculators, and connection workspaces. */
body.tools-page .tool-library-hero { padding-block:var(--sz-5); }
body.tools-page .tool-library-section { margin-block:var(--sz-6); }
body.tools-page .tool-feature-card { padding:var(--sz-4); gap:var(--sz-3); border-radius:var(--sz-r-md); border-color:var(--sz-rule); box-shadow:none; background:var(--sz-surface); }
body.tools-page .tool-feature-item--lead .tool-feature-card { background:var(--sz-surface); }
body.tools-page .tool-feature-card:hover { background:var(--sz-surface-2); border-color:var(--sz-rule-strong); transform:none; }
body.tools-page .tool-library-command { padding:var(--sz-4); border:1px solid var(--sz-rule); border-radius:var(--sz-r-md); background:var(--sz-surface); }
body.tools-page .tool-page-surface { border-color:var(--sz-rule); border-radius:var(--sz-r-md); box-shadow:none; background:var(--sz-surface); }
body.tools-page .tool-workspace-header { padding-block:var(--sz-4); background:var(--sz-surface); border-bottom:1px solid var(--sz-rule-soft); }
body.tools-page .tool-feature-copy h3 { font-family:var(--sz-font-text); font-size:var(--sz-text-h3); }
body.tools-page .tool-directory-intro .tool-library-section-title { font-family:var(--sz-font-text); }

/* Admin surfaces keep status semantics and dense operational rows. */
body.admin-page .admin-page-head { margin-bottom:var(--sz-5); padding:var(--sz-4); background:var(--sz-surface); border:1px solid var(--sz-rule); border-radius:var(--sz-r-md); }
body.admin-page .admin-surface { background:var(--sz-surface); border-color:var(--sz-rule); border-radius:var(--sz-r-md); box-shadow:none; }
body.admin-page .admin-inset,body.admin-page .admin-list-item { border-radius:var(--sz-r-md); background:var(--sz-surface-2); border-color:var(--sz-rule-soft); }
body.admin-page .admin-card-title { font-family:var(--sz-font-text); font-size:var(--sz-text-h3); }
body.admin-page .user-row { border-radius:var(--sz-r-md); }

/* Community's own grid retains its chat and scrolling behavior. */
.community-shell .community-grid { gap:var(--sz-3); padding:var(--sz-4); }
.community-shell .community-grid>.panel { border:1px solid var(--sz-rule); border-radius:var(--sz-r-md); background:var(--sz-surface); box-shadow:none; }
.community-shell .community-grid .panel-head { padding:var(--sz-4); border-bottom:1px solid var(--sz-rule-soft); }
.community-shell .community-grid .panel-title { font-family:var(--sz-font-text); font-size:var(--sz-text-h2); color:var(--sz-ink); }
.community-shell .community-grid .connection-strip { margin:var(--sz-4); padding:var(--sz-3); border-radius:var(--sz-r-md); background:var(--sz-surface-2); }
.community-shell .community-grid .composer { padding:var(--sz-4); }
.community-shell .community-grid .field { border-radius:var(--sz-r-md); background:var(--sz-surface); border-color:var(--sz-rule); }

/* Legal documents and public research keep readable line lengths. */
body.sz-page .sz-page-main>.sz-document { border:1px solid var(--sz-rule); border-radius:var(--sz-r-md); background:var(--sz-surface); padding:var(--sz-6); box-shadow:none; }
body.sz-page .sz-document .sz-document-nav { border-radius:var(--sz-r-md); background:var(--sz-surface-2); padding:var(--sz-4); }
body.blog-page .blog-masthead { padding-block:var(--sz-6); background:var(--sz-paper); }
body.blog-page .blog-story { border:1px solid var(--sz-rule); border-radius:var(--sz-r-md); background:var(--sz-surface); padding:var(--sz-4); box-shadow:none; }
body.blog-page .blog-story-title,body.blog-page .blog-masthead h1 { font-family:var(--sz-font-text); }
body.blog-page .blog-index-search { padding-block:var(--sz-4); border-bottom:0; }
body.blog-page .blog-data-table { background:var(--sz-surface); }
body.blog-page .blog-empty { border:1px solid var(--sz-rule); border-radius:var(--sz-r-md); background:var(--sz-surface); padding:var(--sz-6); }

@media (max-width:640px) {
  body.sz-page #profilePage { padding-block:var(--sz-4); }
  body.sz-page #profilePage .glow-card,body.tools-page .tool-page-surface { padding:var(--sz-4); }
  body.sz-page .sz-page-main>.sz-document { padding:var(--sz-4); }
  .community-shell .community-grid { padding:var(--sz-3); gap:var(--sz-3); }
  body.blog-page .blog-story { padding:var(--sz-4); }
}
/* Form controls follow the same compact utility rhythm as data panels. */
body.sz-page #profileTabs { display:flex; flex-wrap:wrap; }
body.sz-page #profileTabs .tab-btn { width:auto; flex:0 0 auto; min-height:var(--sz-8); padding:var(--sz-2) var(--sz-3); }
@media (min-width:768px) {
  body.sz-page #profilePage #profileInformationFields { grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--sz-3); }
  body.sz-page #profilePage #profileInformationFields>div:nth-child(n+3) { grid-column:1/-1; }
}

/* Flat utility canvas and an inset account workspace, matching analytics pages. */
body.sz-page::before,body.tools-page::before,body.admin-page::before,body.blog-page::before { display:none; }
body.sz-page #profilePage { padding:var(--sz-3); border:1px solid var(--sz-rule); border-radius:var(--sz-r-md); background:var(--sz-content); }
body.sz-page #profilePage>.sz-page-head { margin:calc(-1 * var(--sz-3)) calc(-1 * var(--sz-3)) var(--sz-3); padding:var(--sz-4); border-bottom:1px solid var(--sz-rule); background:var(--sz-surface); border-radius:var(--sz-r-md) var(--sz-r-md) 0 0; }
body.sz-page #profilePage .sz-page-kicker { display:none; }
body.sz-page #profilePage .sz-page-title { font-size:var(--sz-text-h2); }
body.sz-page #profilePage .sz-page-summary { margin-top:var(--sz-1); font-size:var(--sz-text-meta); }
body.sz-page #profilePage .profile-page-status { margin-bottom:var(--sz-3); padding:var(--sz-3); }
body.sz-page #profileContent>.glow-card { margin-bottom:var(--sz-3); gap:var(--sz-3); }
body.sz-page #profilePage .profile-avatar,body.sz-page #profilePage .profile-avatar-image { width:var(--sz-12); height:var(--sz-12); }
body.sz-page #profileTabs { margin-bottom:var(--sz-3); }
body.sz-page #profilePage .tab-panel>.glow-card { margin-bottom:var(--sz-3); }
body.sz-page #profilePage .section-title { margin-bottom:var(--sz-3); font-size:var(--sz-text-h3); }
body.sz-page #profilePage .profile-supporting-copy { margin-bottom:var(--sz-3); }
body.sz-page #profilePage .form-input { min-height:var(--sz-10); padding:var(--sz-2) var(--sz-3); }
@media (min-width:1100px) {
  body.sz-page #profilePage #tab-general { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--sz-3); align-items:start; }
  body.sz-page #profilePage #tab-general[hidden] { display:none; }
  body.sz-page #profilePage #tab-general>.glow-card { margin-bottom:0; }
}
@media (max-width:639px) {
  body.sz-page #profileContent>.glow-card { display:grid; grid-template-columns:auto minmax(0,1fr); align-items:center; }
  body.sz-page #profileContent>.glow-card>div:last-child { grid-column:1/-1; }
}

/* One card contract across utility routes. Inputs, badges, alerts and dialogs
   retain their own interaction/status treatment rather than becoming cards. */
body.sz-page #profilePage :is(.glow-card,.billing-plan-card),
body.sz-page .sz-auth-card,
body.sz-page .sz-page-main>.sz-document,
body.admin-page :is(.admin-page-head,.admin-surface,.stat-card),
body.blog-page :is(.blog-story,.blog-empty),
.community-shell .community-grid>.panel {
  border:1px solid var(--sz-card-border);
  border-radius:var(--sz-card-radius);
  background:var(--sz-surface);
  box-shadow:none;
}
body.sz-page #profilePage .glow-card,
body.sz-page .sz-auth-card,
body.admin-page :is(.admin-page-head,.admin-surface,.stat-card),
body.blog-page :is(.blog-story,.blog-empty) { padding:var(--sz-card-padding); }
body.sz-page #profilePage>.sz-page-head,
.community-shell .community-grid .panel-head { padding:var(--sz-card-header-padding); border-bottom-color:var(--sz-card-border); }
body.sz-page .sz-page-main>.sz-document { padding:var(--sz-card-padding); }
