#app {
  --theme: #087e69;
  --theme-dark: #07594d;
  --theme-soft: #e4f5ed;
  --theme-line: #b9dfcb;
  --theme-ink: #145244;
  --theme-canvas: #f4f8f6;
  --green: var(--theme);
  --green-deep: var(--theme-dark);
  height: 100vh;
  height: 100dvh;
  display: grid;
  grid-template-rows: 54px minmax(0, 1fr);
  overflow: hidden;
}
#app[data-theme="association"] { --theme:#2667c0; --theme-dark:#1c4d95; --theme-soft:#e9f1ff; --theme-line:#bdd1f2; --theme-ink:#244a7a; --theme-canvas:#f4f7fc; }
#app[data-theme="expert"] { --theme:#8253b7; --theme-dark:#623895; --theme-soft:#f2ebfa; --theme-line:#dac8ed; --theme-ink:#613f7f; --theme-canvas:#f8f5fb; }
#app[data-theme="public"] { --theme:#c65738; --theme-dark:#9e4027; --theme-soft:#fff0e8; --theme-line:#f0c9b4; --theme-ink:#854831; --theme-canvas:#fcf7f3; }
html, body { height:100%; min-height:0; overflow:hidden; overscroll-behavior:none; }
.display-toolbar { position:relative; height:54px; min-width:0; padding:0 22px; gap:12px; z-index:40; }
.display-brand { display:flex; gap:8px; align-items:center; color:var(--theme); }
.display-brand svg { width:19px; }
.display-segments button[aria-pressed="true"] { background:var(--theme); color:#fff; }
.preview-role { display:flex; align-items:center; gap:7px; min-width:0; }
.preview-role select { border:1px solid var(--theme-line); background:var(--theme-soft); color:var(--theme-ink); border-radius:5px; font-size:12px; min-height:34px; max-width:158px; padding:0 8px; }
.theme-dot { width:8px; height:8px; border-radius:50%; background:var(--theme); flex-shrink:0; }
.device-stage { min-height:0; overflow-x:auto; overflow-y:hidden; background:#e9edf2; }
.business-app { height:100%; min-height:0; display:grid; grid-template-columns:232px minmax(0,1fr); background:var(--theme-canvas); overflow:hidden; }
.business-app.display-pc { width:100%; min-width:1100px; }
.business-app .business-sidebar { position:relative; inset:auto; width:auto; min-width:0; min-height:0; height:100%; transform:none; overflow-y:auto; overscroll-behavior:contain; visibility:visible; z-index:10; }
.business-main { margin-left:0; min-height:0; min-width:0; display:flex; flex-direction:column; overflow:hidden; padding:0; }
.business-topbar { height:66px; min-height:66px; flex-shrink:0; border-top:3px solid var(--theme); padding:0 28px; }
.business-content { flex:1; min-height:0; overflow-y:auto; overflow-x:hidden; overscroll-behavior:contain; scrollbar-gutter:stable; width:100%; max-width:none; margin:0; padding:28px 32px 0; outline:none; }
.business-content, .business-sidebar { scrollbar-width:thin; scrollbar-color:var(--theme-line) transparent; }
.business-footer { margin-top:32px; padding:18px 0; font-size:10px; }
.business-app.display-mobile { width:min(430px,100%); min-width:0; height:100%; grid-template-columns:minmax(0,1fr); grid-template-rows:minmax(0,1fr) auto; background:var(--theme-canvas); }
.display-mobile .business-sidebar, .display-mobile .business-topbar, .nav-backdrop { display:none!important; }
.display-mobile .business-main { padding:0; grid-row:1; margin:0; }
.display-mobile .business-content { padding:22px 17px 0; scrollbar-gutter:auto; }
.display-mobile .mobile-bottom-nav { grid-row:2; position:static; transform:none; width:100%; min-width:0; left:auto; bottom:auto; padding:7px 4px calc(7px + env(safe-area-inset-bottom,0px)); border-color:var(--theme-line); }
.display-mobile .mobile-bottom-nav button.selected { color:var(--theme); background:var(--theme-soft); }
.display-mobile .business-footer { font-size:9px; margin-top:26px; }
.brand-symbol,.account-avatar,.business-nav button.selected,.business-app .btn,.ai-mark { background:var(--theme); color:white; }
.brand-symbol,.business-nav button.selected,.business-app .btn { box-shadow:none; }
.business-nav button:hover:not(.selected) { background:var(--theme-soft); color:var(--theme); }
.business-nav button.selected .nav-new { color:#fff; border-color:#ffffff70; }
.business-brand,.home-heading h1,.page-heading h1 { color:var(--theme-ink); }
.eyebrow { color:var(--theme); }
.role-badge { display:inline-flex; align-items:center; border-radius:4px; padding:5px 9px; background:var(--theme-soft); color:var(--theme); font-size:11px; font-weight:600; }
.business-tabs .active { color:var(--theme); border-color:var(--theme); }
.section-title h2 { border-color:var(--theme); }
.business-app .ghost-btn { border-color:var(--theme-line); color:var(--theme-ink); background:white; }
.assistant-surface { background:var(--theme-dark); border-color:var(--theme-dark); box-shadow:none; }
.assistant-surface .assistant-label, .assistant-surface p, .assistant-example, .assistant-surface>small { color:#ffffffdf; }
.assistant-surface>button { background:#fff; border-color:#fff; color:var(--theme-dark); }
.assistant-example { border-color:#ffffff66; }
.ai-mark { border-radius:8px; }
.business-app .account-services button { color:var(--theme-ink); background:var(--theme-soft); border-color:var(--theme-line); }
.count { background:var(--theme-soft); color:var(--theme); }
.text-button:hover,.row-title:hover { color:var(--theme); }
.sample-badge { font-size:10px; color:#85929a; padding:4px 7px; background:#e9edf266; border:1px solid #e1e7eb; border-radius:4px; white-space:nowrap; }
.page-heading { margin-bottom:22px; }
.page-heading h1 { font-size:25px; }
.page-heading .eyebrow { font-size:11px; margin-bottom:6px; }
.home-heading { padding-top:6px; }
.module-intro { display:flex; align-items:center; gap:15px; padding:6px 0 23px; border-bottom:1px solid var(--theme-line); margin-bottom:20px; min-width:0; }
.module-icon { display:grid; place-items:center; flex-shrink:0; width:45px; height:45px; color:#fff; background:var(--theme); border-radius:8px; }
.module-icon svg { width:22px; height:22px; }
.module-intro>div { flex:1; min-width:0; }
.module-intro p { margin:0; font-size:14px; line-height:1.7; color:#425764; }
.module-intro small { display:block; margin-top:5px; font-size:11px; color:#87949d; }
.module-intro>.btn { flex-shrink:0; }
.collection-controls { display:flex; align-items:center; gap:15px; justify-content:space-between; margin:6px 0 16px; }
.collection-search { display:flex; align-items:center; gap:9px; padding:0 12px; height:40px; width:min(360px,100%); background:#fff; border:1px solid #dae3e9; border-radius:6px; }
.collection-search:focus-within { border-color:var(--theme); box-shadow:0 0 0 2px var(--theme-soft); }
.collection-search svg { color:#94a0aa; width:17px; }
.collection-search input { width:100%; min-width:0; border:0; outline:0; background:transparent; font-size:12px; color:#314752; }
.record-count { font-size:11px; color:#8b97a0; white-space:nowrap; }
.collection-tabs { display:flex; gap:9px; overflow-x:auto; flex-wrap:wrap; padding-bottom:18px; scrollbar-width:none; }
.collection-tabs button { display:flex; align-items:center; gap:9px; padding:8px 12px; border-radius:5px; background:#fff; border:1px solid #e3e9ed; color:#75858f; font-size:12px; white-space:nowrap; }
.collection-tabs button[aria-pressed="true"] { color:var(--theme); background:var(--theme-soft); border-color:var(--theme-line); font-weight:600; }
.collection-tabs small { font-size:10px; opacity:.8; }
.collection-results { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; padding-bottom:6px; }
.collection-results.people,.collection-results.courses { grid-template-columns:repeat(3,minmax(0,1fr)); }
.resource-card { display:flex; flex-direction:column; overflow:hidden; min-width:0; background:white; border:1px solid #e1e7eb; border-radius:8px; box-shadow:0 3px 8px #28374a03; }
.resource-card:hover { border-color:var(--theme-line); }
.resource-card-body { flex:1; display:flex; flex-direction:column; padding:22px; min-width:0; }
.resource-topline { display:flex; align-items:center; flex-wrap:wrap; gap:9px; font-size:10px; }
.resource-symbol { display:grid; place-items:center; width:32px; height:32px; color:var(--theme); background:var(--theme-soft); border-radius:6px; flex-shrink:0; }
.resource-symbol svg { width:17px; height:17px; }
.resource-category { color:var(--theme); font-weight:600; }
.resource-status { margin-left:auto; background:#f4f6f8; color:#6e818c; padding:4px 7px; border-radius:4px; font-size:10px; line-height:1.5; }
.resource-card h2 { margin:15px 0 8px; font-size:16px; line-height:1.6; overflow-wrap:anywhere; }
.resource-card h2 button { background:transparent; color:#294452; font-size:inherit; font-weight:650; padding:0; text-align:left; line-height:inherit; }
.resource-card h2 button:hover { color:var(--theme); }
.resource-description { color:#7a8b96; font-size:12px; line-height:1.9; margin:0 0 18px; overflow-wrap:anywhere; flex:1; }
.resource-meta { display:flex; align-items:center; flex-wrap:wrap; gap:12px; color:#7c8d97; font-size:11px; min-height:20px; margin-bottom:18px; }
.resource-meta span { display:flex; align-items:center; gap:5px; }
.resource-meta svg { width:13px; height:13px; }
.resource-meta strong { font-size:15px; color:var(--theme); font-weight:650; margin-left:auto; }
.resource-actions { display:flex; align-items:center; justify-content:space-between; gap:10px; border-top:1px solid #edf0f3; padding-top:14px; }
.resource-actions .text-button { color:var(--theme); font-size:12px; min-height:30px; }
.resource-actions .ghost-btn { min-height:31px; padding:5px 10px; font-size:11px; }
.resource-id { font-size:10px; color:#9ca7ae; overflow-wrap:anywhere; text-align:right; }
.collection-empty { grid-column:1/-1; min-height:220px; background:white; border:1px dashed #dce5e9; border-radius:6px; }
.collection-empty .ghost-btn { margin-top:10px; }
.person-monogram { width:44px; height:44px; display:grid; place-items:center; background:var(--theme-soft); color:var(--theme); font-size:21px; border:1px solid var(--theme-line); border-radius:50%; }
.people .resource-category { display:none; }
.people .resource-card h2 { font-size:21px; margin-top:18px; margin-bottom:7px; }
.person-subtitle { font-size:11px; color:var(--theme); margin-bottom:12px; }
.course-art { background:var(--theme-soft); color:var(--theme-ink); border-bottom:1px solid var(--theme-line); padding:24px; min-height:138px; display:grid; grid-template-columns:1fr auto; align-items:center; gap:12px; }
.course-art>span { grid-column:2; grid-row:1/3; width:54px; height:54px; border:1px solid var(--theme-line); border-radius:8px; display:grid; place-items:center; }
.course-art svg { width:30px; height:30px; stroke-width:1.2; }
.course-art b { font-size:20px; font-weight:600; }
.course-art small { font-size:10px; opacity:.8; }
.courses .resource-category { display:none; }
.courses .resource-status { margin-left:0; }
.management-tools { border-top:1px solid var(--theme-line); margin-top:28px; }
.management-tools summary { display:flex; align-items:center; gap:9px; padding:16px 0; color:var(--theme); cursor:pointer; font-size:13px; list-style:none; }
.management-tools summary::-webkit-details-marker { display:none; }
.management-tools summary>span { margin-left:auto; color:#85949c; font-size:11px; }
.management-tools summary>svg { width:16px; }
.management-tool-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; padding:5px 0 15px; }
.management-tool-grid button { display:flex; align-items:center; justify-content:space-between; text-align:left; background:#fff; color:#5e7582; border:1px solid #e2e9ec; border-radius:5px; padding:13px; font-size:12px; }
.management-tool-grid button svg { width:14px; }
.service-directory { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.service-directory>button { display:flex; align-items:center; gap:12px; background:#fff; border:1px solid #e1e8ec; padding:18px 16px; border-radius:7px; color:var(--theme-ink); text-align:left; min-width:0; }
.service-directory>button>span:nth-child(2) { flex:1; min-width:0; }
.service-directory b { display:block; font-size:13px; font-weight:600; }
.service-directory small { display:block; margin-top:6px; font-size:10px; color:#8a98a1; line-height:1.6; }
.service-directory>button>svg { width:14px; color:#9eaab0; }
.directory-icon { background:var(--theme-soft); color:var(--theme); width:36px; height:36px; border-radius:6px; display:grid; place-items:center; flex-shrink:0; }
.profile-identity { display:flex; align-items:center; flex-wrap:wrap; gap:18px; padding:20px 0 30px; border-bottom:1px solid var(--theme-line); }
.profile-emblem { width:72px; height:80px; display:grid; place-items:center; background:var(--theme); color:#fff; border-radius:8px; }
.profile-emblem svg { width:35px; height:35px; stroke-width:1.3; }
.profile-identity h2 { margin:12px 0 8px; font-size:24px; color:var(--theme-ink); }
.profile-identity p { margin:0; color:#83949c; font-size:12px; }
.profile-identity>.btn { margin-left:auto; }
.profile-section-grid { display:grid; grid-template-columns:1fr 1fr; gap:36px; margin:30px 0; }
.profile-facts { margin:0; }
.profile-facts>div { display:grid; grid-template-columns:110px minmax(0,1fr); gap:16px; padding:14px 0; border-bottom:1px solid #e7edf0; font-size:12px; line-height:1.8; }
.profile-facts dt { color:#8b98a1; }
.profile-facts dd { margin:0; color:#455e6e; overflow-wrap:anywhere; }
.profile-checklist { display:grid; gap:10px; }
.profile-checklist button { display:flex; align-items:center; gap:10px; padding:14px 12px; color:var(--theme); border:1px solid #e2e8ec; border-radius:5px; background:#fff; text-align:left; }
.profile-checklist button>span { flex:1; font-size:12px; }
.profile-checklist small { font-size:10px; color:#8e9ca4; }
.profile-checklist svg { width:16px; }
.profile-privacy { display:flex; align-items:center; gap:15px; padding:20px 0; border-top:1px solid var(--theme-line); border-bottom:1px solid var(--theme-line); color:var(--theme); }
.profile-privacy>div { flex:1; }.profile-privacy b { font-size:13px; }.profile-privacy p { font-size:11px; color:#8b989f; margin:6px 0 0; line-height:1.8; }
.related-links { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.related-links button { display:flex; align-items:center; gap:10px; border:1px solid var(--theme-line); border-radius:6px; padding:16px; background:#fff; color:var(--theme-ink); font-size:12px; text-align:left; }
.related-links button>svg:last-child { margin-left:auto; width:14px; }
.related-links.vertical { grid-template-columns:1fr; }
.settings-workspace { display:grid; gap:28px; }
.settings-rows { border-top:1px solid #e1e8ed; }
.settings-rows>button { width:100%; display:flex; gap:14px; align-items:center; background:transparent; padding:18px 0; border-bottom:1px solid #e1e8ed; text-align:left; }
.settings-rows>button>span:nth-child(2) { flex:1; min-width:0; }
.settings-rows b { display:block; font-size:14px; color:#3d5766; }
.settings-rows small { display:block; margin-top:5px; font-size:11px; color:#8b99a2; }
.settings-status { font-size:10px; color:#90a0a9; }.settings-rows>button>svg { width:14px; color:#90a0a9; }
.admin-overview-grid { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(0,1fr); gap:28px; margin-top:28px; }
.review-queue { border-top:1px solid #dce5ef; }
.review-queue button { display:flex; align-items:center; gap:11px; width:100%; padding:17px 0; border-bottom:1px solid #dce5ef; background:transparent; text-align:left; }
.review-queue button>span:nth-child(2) { min-width:0; flex:1; }
.review-queue b { display:block; font-size:13px; color:#365673; line-height:1.7; }
.review-queue small { display:block; font-size:10px; color:#93a0ac; margin-top:3px; }
.review-queue em { font-size:10px; font-style:normal; color:var(--theme); white-space:nowrap; }
.review-queue>button>svg { color:#8ea6b5; width:13px; }
.admin-detail-page { display:grid; gap:22px; }
.admin-detail-page .screen-grid { gap:26px; }
.admin-detail-page .screen-card { padding:8px 0; min-width:0; }
.admin-detail-page .action-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.admin-detail-page .action-grid button { padding:14px; border-color:var(--theme-line); color:var(--theme-ink); background:#fff; }
.admin-detail-page .table-wrap { min-width:0; border-color:#dfe7ee; }
.admin-detail-page table { min-width:650px; }
.admin-detail-page th { background:var(--theme-soft); color:var(--theme-ink); }
.admin-detail-page td button { color:var(--theme); }
.admin-detail-page .data-pipeline article { border-color:var(--theme-line); }
.admin-detail-page .data-pipeline article span { background:var(--theme); }
.admin-detail-page .bar-chart i b { background:var(--theme); }
.form-record-context { display:flex; align-items:center; gap:9px; padding:12px; color:var(--theme); background:var(--theme-soft); font-size:12px; line-height:1.7; }
.business-app .drawer { max-height:100dvh; }
.business-app .drawer-mask { z-index:80; }
.drawer .profile-facts { margin:20px 0; }
.ai-workspace-head { padding:12px 0 28px; text-align:left; border-bottom:1px solid var(--theme-line); margin-bottom:24px; }
.ai-workspace-head h2 { font-size:22px; color:var(--theme-ink); }
.ai-workspace-head p { color:#788c97; line-height:1.8; }
.ai-service-options { max-width:none; margin-bottom:24px; }
.ai-service-options article { border-top-color:var(--theme)!important; }
.ai-service-options .service-icon { color:var(--theme)!important; }
.large-avatar { background:var(--theme-soft); color:var(--theme); }
.toast { background:var(--theme-dark); }
@media (max-width:560px) {
  .display-toolbar { padding:0 10px; gap:8px; }
  .display-brand { display:none; }
  .display-segments { flex-shrink:0; }
  .preview-role select { max-width:146px; font-size:11px; }
  .display-segments button { font-size:11px; padding:7px 10px; }
}
@container workspace (max-width:1150px) {
  .business-topbar { padding:0 22px; }
  .business-content { padding:24px 22px 0; }
  .collection-results.people,.collection-results.courses { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@container workspace (max-width:680px) {
  .home-heading { padding-top:0; }
  .home-heading h1,.page-heading h1 { font-size:23px; }
  .home-heading>.btn { font-size:11px; }
  .page-heading { gap:10px; margin-bottom:20px; }
  .module-intro { flex-wrap:wrap; gap:11px; padding-top:0; padding-bottom:18px; margin-bottom:17px; }
  .module-icon { width:36px; height:38px; }
  .module-icon svg { width:19px; }
  .module-intro p { font-size:12px; }
  .module-intro small { font-size:10px; }
  .module-intro>.btn { margin-left:47px; min-height:34px; font-size:11px; }
  .collection-controls { gap:8px; }
  .collection-search { width:auto; flex:1; min-width:0; }
  .collection-tabs { flex-wrap:nowrap; gap:7px; }
  .collection-tabs button { font-size:11px; padding:8px 10px; }
  .collection-results,.collection-results.people,.collection-results.courses { grid-template-columns:minmax(0,1fr); gap:13px; }
  .resource-card-body { padding:17px; }
  .resource-card h2 { font-size:16px; }
  .resource-status { max-width:145px; }
  .resource-description { font-size:12px; }
  .resource-meta { margin-bottom:13px; }
  .course-art { min-height:109px; padding:18px; }
  .course-art b { font-size:19px; }
  .people .resource-card h2 { font-size:21px; }
  .management-tool-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
  .management-tool-grid button { font-size:11px; padding:11px; }
  .service-directory { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .service-directory>button { padding:14px 11px; flex-wrap:wrap; gap:10px; }
  .service-directory>button>span:nth-child(2) { flex:1 1 70px; }
  .service-directory b { font-size:12px; }
  .service-directory small { font-size:9px; }
  .service-directory>button>svg { display:none; }
  .directory-icon { width:29px; height:30px; }
  .directory-icon svg { width:17px; }
  .profile-emblem { width:59px; height:70px; }
  .profile-identity { gap:13px; padding-top:4px; }
  .profile-identity h2 { font-size:22px; }
  .profile-identity>.btn { width:100%; margin:5px 0 0; }
  .profile-section-grid { grid-template-columns:1fr; gap:26px; }
  .profile-facts>div { grid-template-columns:85px minmax(0,1fr); gap:10px; }
  .profile-privacy { align-items:flex-start; flex-wrap:wrap; }
  .profile-privacy .ghost-btn { width:100%; }
  .related-links { grid-template-columns:1fr; gap:9px; }
  .admin-overview-grid { grid-template-columns:1fr; gap:26px; }
  .business-content .metric-wide-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .metric-card { padding:14px 11px; }
  .metric-card strong { font-size:21px; overflow-wrap:anywhere; }
  .metric-card span { font-size:11px; }
  .admin-detail-page .screen-grid,.admin-detail-page .data-pipeline { grid-template-columns:1fr; }
  .admin-detail-page .data-pipeline article { display:grid; grid-template-columns:30px 1fr; align-items:center; gap:6px 12px; padding:14px; }
  .admin-detail-page .data-pipeline article span { grid-row:1/3; margin:0; }
  .admin-detail-page .data-pipeline article p { margin:0; }
  .admin-detail-page .data-pipeline article::after { display:none; }
  .admin-detail-page .table-wrap { border:0; background:transparent; overflow:visible; }
  .admin-detail-page table { min-width:0; display:block; }
  .admin-detail-page thead { display:none; }
  .admin-detail-page tbody { display:grid; gap:13px; }
  .admin-detail-page tr { display:block; padding:10px 15px; border:1px solid #e1e8ee; border-radius:7px; background:white; }
  .admin-detail-page td { display:flex; justify-content:space-between; gap:14px; padding:10px 0; font-size:12px; text-align:right; }
  .admin-detail-page td::before { content:attr(data-label); color:#8b9aa5; font-size:11px; text-align:left; flex-shrink:0; }
  .admin-detail-page td:last-child { border:0; }
  .ai-workspace-head { padding:4px 0 23px; }
  .ai-workspace-head h2 { font-size:21px; line-height:1.6; }
  .ai-service-options { grid-template-columns:1fr; gap:13px; }
  .ai-service-options article { padding:19px; }
  .ai-service-options p { min-height:0; margin-bottom:0; }
  .ai-service-options button { margin-top:17px; }
  .display-mobile .business-footer span:last-child { display:inline; font-size:8px; }
}
