/* FDS extension: account/company administration, using the existing project tokens. */
.ss-platform-main { max-width: 1180px; margin: 0 auto; padding: var(--fds-space-8) var(--fds-space-6); }
.ss-platform h2 { font-size: 1.15rem; margin: 0 0 var(--fds-space-3); }
.ss-platform h3 { font-size: 1rem; margin: 0; }
.ss-platform-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: var(--fds-space-5); align-items: start; }
.ss-platform-stack { display: grid; gap: var(--fds-space-4); min-width: 0; }
.ss-platform-login { max-width: 480px; margin: 0 auto; }
.ss-platform-form { display: grid; gap: var(--fds-space-4); }
.ss-platform-form label { display: grid; gap: var(--fds-space-2); font-weight: 550; }
.ss-platform-form input, .ss-platform-form select { font-size: var(--ssa-compact-input-font, 1rem); min-height: var(--ssa-compact-control, 44px); }
.ss-platform-form small { color: var(--fds-text-secondary); font-size: .8125rem; font-weight: 400; line-height: 1.5; }
.ss-platform-actions { display: flex; gap: var(--fds-space-2); flex-wrap: wrap; align-items: center; }
:where(body:not([data-ssa-controls="compact-v1"])) .ss-platform .fds-btn { min-height: var(--ssa-compact-control, 44px); height: auto; padding-block: .6rem; white-space: normal; }
.ss-platform-row { display: flex; align-items: center; justify-content: space-between; gap: var(--fds-space-4); padding: var(--fds-space-4) 0; border-bottom: 1px solid var(--fds-border); }
.ss-platform-row:last-child { border-bottom: 0; }
.ss-platform-row > div:first-child { min-width: 0; overflow-wrap: anywhere; }
.ss-platform-meta { color: var(--fds-text-secondary); font-size: .875rem; margin: .4rem 0; line-height: 1.6; }
.ss-platform-wide { grid-column: 1 / -1; }
.ss-platform-error { color: var(--fds-red-700); background: var(--fds-red-50); border-radius: var(--fds-radius-md); padding: var(--fds-space-3); }
.ss-platform-notice { background: var(--fds-bg-muted); border: 1px solid var(--fds-border); border-radius: var(--fds-radius-md); padding: var(--fds-space-4); margin: var(--fds-space-4) 0; overflow-wrap: anywhere; }
.ss-platform button:disabled { opacity: .55; cursor: not-allowed; }
.ss-platform button[aria-busy="true"] { cursor: wait; }
.ss-platform button:focus-visible, .ss-platform a:focus-visible, .ss-platform input:focus-visible, .ss-platform select:focus-visible { outline: 2px solid var(--fds-blue-600); outline-offset: 3px; }
.ss-platform details > summary { cursor: pointer; min-height: 44px; display: flex; align-items: center; font-weight: 600; }
.ss-platform-password { display: flex; gap: var(--fds-space-2); align-items: center; }
.ss-platform-password input { min-width: 0; }
.ss-platform-brand { max-width: 640px; padding-top: var(--fds-space-16); }
#platform-message:empty { display: none; }
#platform-message:not(:empty) { margin-bottom: var(--fds-space-5); }
@media (max-width: 768px) { .ss-platform-grid { grid-template-columns: minmax(0,1fr); } }
@media (max-width: 480px) { .ss-platform-main { padding: var(--fds-space-5) var(--fds-space-3); } .ss-platform-row { align-items: flex-start; flex-direction: column; gap: var(--fds-space-2); } .ss-platform .fds-card-body { padding: var(--fds-space-4); } .ss-platform .ss-topbar { padding-inline: var(--fds-space-3); flex-wrap: wrap; } }
@media (prefers-reduced-motion: reduce) { .ss-platform *, .ss-platform *::before, .ss-platform *::after { transition: none !important; animation: none !important; } }

.ss-company-logo { display:block; width:auto; max-width:100%; max-height:100px; object-fit:contain; object-position:left; }

/* FDS extension: administration query and preview surfaces. */
#admin-tools-root .fds-card { min-width: 0; }
#admin-tools-root textarea { width: 100%; min-height: 96px; resize: vertical; }
#admin-tools-root details p { white-space: pre-wrap; overflow-wrap: anywhere; }
#admin-tools-root input, #admin-tools-root select { max-width: 100%; }
#admin-tools-message:empty { display: none; }
.ss-defaults-svg { display: block; width: 100%; height: 220px; }

/* FDS extension: readable audit payloads and long administration names. */
#admin-tools-root p, #admin-tools-root h2 { overflow-wrap: anywhere; }
#admin-tools-root pre { white-space: pre-wrap; overflow-wrap: anywhere; font-size: var(--fds-font-size-sm, 13px); }

/* FDS extension: platform space-template gallery. */
#templates-root { display: grid; gap: var(--fds-space-4); }
#templates-root .fds-card, #templates-root label { min-width: 0; overflow-wrap: anywhere; }
#templates-root input { max-width: 100%; }
.ss-template-preview { display: block; width: 100%; height: 180px; }
#templates-message:empty { display: none; }

/* Admin V3-3: space template gallery on the admin shell (FDS extension). */
.ss-template-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: var(--fds-space-4); }
.ss-template-card { display: flex; flex-direction: column; min-width: 0; }
.ss-template-card > .fds-card-body { flex: 1; }
.ss-template-head { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--fds-space-2); overflow-wrap: anywhere; }
.ss-template-frame { border: 1px solid var(--fds-border); border-radius: var(--fds-radius-md); background: var(--fds-gray-25); padding: var(--fds-space-2); }
.ss-template-frame .ss-template-preview { height: 160px; }
.ss-template-rectangle > summary { cursor: pointer; font-weight: 550; font-size: .875rem; min-height: 32px; }
.ss-template-rectangle[open] > summary { margin-bottom: var(--fds-space-2); }

/* Admin V3-4: companies and accounts on the admin shell (FDS extension). */
.ssa-admin .ss-platform-form { gap: var(--fds-space-4); }
.ssa-admin .ss-platform-form label { font-weight: 400; }
.ssa-admin .ss-platform-form input, .ssa-admin .ss-platform-form select { min-height: 0; font-size: var(--ssa-compact-input-font, .875rem); }
.ssa-admin .ss-platform-login { width: 100%; }
.ssa-admin #platform-root:not(.is-admin) { max-width: 480px; margin-inline: auto; }
.ssa-admin #platform-head:has(~ #platform-root:not(.is-admin)), .ssa-admin #platform-message:has(~ #platform-root:not(.is-admin)) { max-width: 480px; margin-inline: auto; }
.ss-platform-row-actions { width: 1%; text-align: right; }
.ssa-admin .ss-platform-cell-actions { justify-content: flex-end; flex-wrap: nowrap; }
.ss-platform-disclosure > summary { cursor: pointer; font-size: .875rem; font-weight: 550; min-height: 36px; display: flex; align-items: center; }
.ss-platform-disclosure[open] > summary { margin-bottom: var(--fds-space-2); }
.fds-card > .ss-platform-disclosure { padding: var(--fds-space-3) var(--fds-space-5); }
.ss-platform-checks li { justify-content: space-between; }
.ss-platform-sheet-list li { justify-content: space-between; padding-inline: 0; }
.ssa-admin #platform-message .ssa-field { margin-top: var(--fds-space-3); }
.ssa-admin #platform-message > .fds-btn { margin-top: var(--fds-space-2); }
@media (max-width: 768px) { .ssa-admin .ss-platform-cell-actions { flex-wrap: wrap; justify-content: flex-start; } .ss-platform-row-actions { width: auto; } }
.ss-company-brand label { display: grid; gap: var(--fds-space-2); font-size: var(--ssa-compact-font, .875rem); font-weight: 550; }
.ss-company-brand .ssa-stack > p { margin: 0; font-size: .875rem; color: var(--fds-text-secondary); }
.ss-company-brand .ssa-stack > .fds-btn { justify-self: start; }
.ss-platform-todo .ssa-list li > .ssa-cell-title { flex: 1; }
/* FDS extension: template management summary and compact gallery. */
#templates-root { display: grid; gap: var(--fds-space-4); }
#templates-root .ssa-toolbar { flex-wrap: wrap; }
#templates-root .ssa-toolbar > .fds-input { flex: 1 1 220px; width: auto; }
#templates-root .ssa-toolbar > .fds-select { flex: 0 1 180px; width: auto; }
@media(max-width:480px){.ss-template-grid{grid-template-columns:minmax(0,1fr)}.ss-template-card .fds-card-foot{flex-wrap:wrap}}

/* FDS extension: scoped company directory hierarchy and a single filter bar. */
.ssa-admin .ss-company-list > .fds-card-head { align-items: center; flex-wrap: wrap; padding: var(--fds-space-5); }
.ss-company-intro { padding: var(--fds-space-4) var(--fds-space-5) 0; }
.ss-company-intro .ssa-help { margin: 0; color: var(--fds-text-secondary); font-size: .875rem; line-height: 1.6; }
.ss-company-filters { display: flex; flex-wrap: wrap; align-items: center; gap: var(--fds-space-2); padding: var(--fds-space-4) var(--fds-space-5); border-bottom: 1px solid var(--fds-border); }
.ss-company-filters > .fds-input { flex: 1 1 260px; width: auto; min-width: 0; }
.ss-company-filters > .fds-select { flex: 0 1 160px; width: auto; }
.ss-company-filters > .fds-btn { flex: 0 0 auto; }
.ss-company-list .ssa-table th, .ss-company-list .ssa-table td { padding-inline: var(--fds-space-5); }
.ss-company-list .ssa-cell-title { gap: var(--fds-space-1); }
.ss-company-list .ssa-cell-title small { font-size: .8125rem; overflow-wrap: anywhere; }
.ss-company-pagination { justify-content: flex-end; padding: var(--fds-space-3) var(--fds-space-5); border-top: 1px solid var(--fds-border); background: var(--fds-gray-25); }
.ss-company-pagination > span { margin-inline-end: auto; color: var(--fds-text-secondary); font-size: .8125rem; }
.ss-company-results > .ss-platform-disclosure { padding: var(--fds-space-4) var(--fds-space-5); border-top: 1px solid var(--fds-border); }
@media (max-width: 600px) {
  .ssa-admin .ss-company-list > .fds-card-head { padding: var(--fds-space-4); }
  .ss-company-intro { padding-inline: var(--fds-space-4); }
  .ss-company-filters { padding-inline: var(--fds-space-4); }
  .ss-company-filters > .fds-input { flex-basis: 100%; }
  .ss-company-filters > .fds-select { flex: 1 1 100%; }
  .ss-company-filters > .fds-btn { flex: 1 1 auto; }
  .ss-company-pagination { padding-inline: var(--fds-space-4); flex-wrap: wrap; }
}

/* FDS extension: account contact details beneath the FundStone identity. */
.ssa-table .ss-account-email { overflow-wrap: anywhere; white-space: normal; color: var(--fds-text-secondary); }
