/* Authenticated product foundation. Component contracts are documented in docs/authenticated-design-system.md. */
:root {
  --app-color-brand: #0f4c5c;
  --app-color-brand-strong: #08313c;
  --app-color-accent: #e36414;
  --app-color-canvas: #f8fafb;
  --app-color-surface: #ffffff;
  --app-color-surface-muted: #f5f8f8;
  --app-color-text: #1f2933;
  --app-color-text-muted: #66777f;
  --app-color-border: #dce5e8;
  --app-color-focus: #258cfb;
  --app-color-success: #17613b;
  --app-color-success-bg: #e8f6ed;
  --app-color-warning: #855b00;
  --app-color-warning-bg: #fff2d7;
  --app-color-danger: #942d25;
  --app-color-danger-bg: #fff0ee;
  --app-font-body: 'Plus Jakarta Sans', 'Segoe UI', sans-serif;
  --app-font-heading: 'Space Grotesk', 'Trebuchet MS', sans-serif;
  --app-font-size-xs: .7rem;
  --app-font-size-sm: .8rem;
  --app-font-size-md: 1rem;
  --app-font-size-lg: 1.25rem;
  --app-space-1: .25rem;
  --app-space-2: .5rem;
  --app-space-3: .75rem;
  --app-space-4: 1rem;
  --app-space-5: 1.25rem;
  --app-space-6: 1.5rem;
  --app-space-8: 2rem;
  --app-space-10: 2.5rem;
  --app-border-width: 1px;
  --app-radius-sm: 8px;
  --app-radius-md: 12px;
  --app-radius-lg: 18px;
  --app-radius-xl: 24px;
  --app-radius-pill: 999px;
  --app-shadow-panel: 0 18px 40px -36px #173e48;
  --app-shadow-raised: 0 26px 55px -38px #082f3a;
  --app-breakpoint-sm: 640px;
  --app-breakpoint-md: 768px;
  --app-breakpoint-lg: 992px;
  --app-content-max: 1200px;
  --app-motion-fast: 180ms;
}

.app-workspace { padding: var(--app-space-4) 0 4rem; }
.app-page-header { display:flex; justify-content:space-between; align-items:center; gap:var(--app-space-8); padding:2.4rem; border-radius:var(--app-radius-xl); color:#fff; background:linear-gradient(125deg,#082f3a 0%,#0f5969 65%,#25796f 100%); box-shadow:var(--app-shadow-raised); }
.app-page-header h1 { font-family:var(--app-font-heading); font-size:clamp(2rem,4vw,3.15rem); margin:.25rem 0 .5rem; letter-spacing:-.04em; }
.app-page-header>div { flex:1; }
.app-heading-monogram { width:58px; height:58px; flex:0 0 58px; display:grid; place-items:center; border-radius:14px; background:#dff1ef; color:#0c5d57; font:800 1.35rem var(--app-font-heading); }
.app-page-header p { max-width:680px; margin:0; color:#d4e9ec; }
.app-kicker { text-transform:uppercase; letter-spacing:.13em; font-size:var(--app-font-size-xs); font-weight:800; color:#9ed8d8; }
.app-page-action { white-space:nowrap; padding:.8rem 1.15rem; font-weight:800; border-radius:var(--app-radius-md); }
.app-notice { display:flex; justify-content:space-between; align-items:flex-start; gap:var(--app-space-4); margin:var(--app-space-4) 0; padding:var(--app-space-4) 1.2rem; border-radius:var(--app-radius-md); font-weight:700; border:var(--app-border-width) solid; }
.app-notice-dismiss { width:32px; height:32px; flex:0 0 32px; display:grid; place-items:center; margin:-.35rem -.55rem -.35rem 0; border:0; border-radius:var(--app-radius-sm); background:transparent; color:currentColor; font-size:1.25rem; line-height:1; }.app-notice-dismiss:hover{background:rgba(0,0,0,.07)}
.app-notice--success { background:var(--app-color-success-bg); color:var(--app-color-success); border-color:#bce2ca; }
.app-notice--error { background:var(--app-color-danger-bg); color:var(--app-color-danger); border-color:#f1c1bc; }
.app-notice--info { background:#e9f3f6; color:#174f5c; border-color:#bfd9df; }
.app-notice--warning { background:var(--app-color-warning-bg); color:var(--app-color-warning); border-color:#ead39d; }
.app-metrics { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; margin:1.3rem 0; overflow:hidden; border:1px solid var(--app-color-border); border-radius:16px; background:var(--app-color-border); }
.app-metrics div { background:var(--app-color-surface); padding:1.15rem 1.25rem; }.app-metrics strong { display:block; font:700 1.65rem var(--app-font-heading); color:#103f4b; }.app-metrics span { color:var(--app-color-text-muted); font-size:.78rem; }
.app-panel { background:var(--app-color-surface); border:1px solid var(--app-color-border); border-radius:var(--app-radius-lg); box-shadow:var(--app-shadow-panel); }
.app-toolbar,.section-title { display:flex; justify-content:space-between; align-items:center; gap:1.5rem; padding:1.4rem 1.5rem; border-bottom:1px solid #e6edef; }.app-toolbar h2,.section-title h2,.side-card h2 { font:700 1.25rem var(--app-font-heading); margin:0; }.app-toolbar p,.section-title p { margin:.25rem 0 0; color:#708087; font-size:.83rem; }
.app-search { display:flex; min-width:360px; }.app-search input,.app-field input,.app-field select,.app-field textarea,.inline-action input { width:100%; border:1px solid #cbd8dd; background:#fbfdfd; padding:.72rem .85rem; outline:none; }.app-field textarea{resize:vertical}.app-search input { border-radius:10px 0 0 10px; }.app-search button,.inline-action button { border:0; background:var(--app-color-brand); color:#fff; padding:0 1rem; border-radius:0 10px 10px 0; font-weight:700; }
.tenant-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1rem; padding:1.25rem; }.tenant-card { border:1px solid var(--app-color-border); border-radius:15px; padding:1.2rem; transition:transform var(--app-motion-fast) ease, box-shadow var(--app-motion-fast) ease; }.tenant-card:hover { transform:translateY(-2px); border-color:#9cbcc4; box-shadow:0 18px 30px -26px var(--app-color-brand); }.tenant-card-top { display:flex; justify-content:space-between; align-items:center; }.tenant-monogram { width:40px;height:40px;display:grid;place-items:center;border-radius:12px;background:#e1f1ef;color:#0c5d57;font:800 1rem var(--app-font-heading); }.tenant-monogram.large { width:58px;height:58px;font-size:1.35rem; }.tenant-card h3 { margin:1rem 0 .1rem; font:700 1.18rem var(--app-font-heading); }.tenant-slug { color:#7b888d;font-size:.78rem; }.status-chip { display:inline-flex; padding:.3rem .58rem; border-radius:var(--app-radius-pill); font-size:.69rem; font-weight:800; background:#edf1f2; color:#526169; }.status-active { background:#e2f3e8;color:var(--app-color-success); }.status-suspended { background:var(--app-color-warning-bg);color:var(--app-color-warning); }.status-archived { background:#eceff1;color:#59646a; }
.tenant-card-archived { background:#f6f7f7; opacity:.85; }
.tenant-facts { display:grid; grid-template-columns:1fr 1fr; gap:.6rem; margin:1rem 0; }.tenant-facts span { background:var(--app-color-surface-muted);padding:.65rem;border-radius:9px;color:#6a777d;font-size:.72rem; }.tenant-facts b { display:block;color:#253940;font-size:.9rem; }.readiness-row { display:flex;justify-content:space-between;padding:.8rem 0;border-top:1px solid #edf1f2;font-size:.75rem;color:#65747b;}.readiness-row .ready{color:#1b7448}.readiness-row .attention{color:#a06400}.tenant-open { display:flex;justify-content:space-between;text-decoration:none;color:var(--app-color-brand);font-weight:800;margin-top:.35rem; }
.app-pagination { display:flex;justify-content:center;gap:1rem;align-items:center;padding:1rem;border-top:1px solid #e7edef;font-size:.8rem}.app-pagination a{text-decoration:none;color:var(--app-color-brand);font-weight:700}.app-pagination a.disabled{pointer-events:none;opacity:.35}.app-empty-state{text-align:center;padding:3rem;color:#728087}.app-empty-state span{font-size:2rem}.app-empty-state h3{font:700 1.1rem var(--app-font-heading);color:#31464e;margin:.5rem}.app-empty-state.compact{padding:1.4rem}
.app-pagination .disabled { color:var(--app-color-text-muted); opacity:.55; }
.app-drawer{width:min(480px,100vw)!important}.app-drawer .offcanvas-header{padding:1.5rem;border-bottom:1px solid #e5ecee}.app-drawer .offcanvas-body{padding:1.5rem}.app-field{margin-bottom:1.15rem}.app-field label{display:block;font-size:.78rem;font-weight:800;margin-bottom:.4rem}.app-field input,.app-field select,.app-field textarea{border-radius:10px}.app-field small{display:block;color:#7b888d;font-size:.7rem;margin-top:.3rem}.app-field span.field-validation-error{display:block;color:#a52820;font-size:.72rem}.input-prefix{display:flex}.input-prefix>span{padding:.72rem;background:#edf2f3;border:1px solid #cbd8dd;border-right:0;border-radius:10px 0 0 10px}.input-prefix input{border-radius:0 10px 10px 0}.app-primary-action{background:var(--app-color-brand);color:#fff;font-weight:800;padding:.75rem;border-radius:10px}.app-primary-action:hover{background:var(--app-color-brand-strong);color:#fff}
.app-back-link{display:inline-block;margin-bottom:1rem;color:#526b73;text-decoration:none;font-weight:700}.detail-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(270px,1fr);gap:1.25rem;margin-top:1.25rem}.detail-layout main{display:grid;gap:1.25rem}.detail-layout aside{display:flex;flex-direction:column;gap:1.25rem}.detail-section{overflow:hidden}.readiness-score{font:800 1.3rem var(--app-font-heading);color:var(--app-color-brand)}.check-list{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#e5ecee}.check-list>div{display:flex;gap:.7rem;background:#fff;padding:1.15rem}.check-list>div>span{width:27px;height:27px;display:grid;place-items:center;border-radius:50%;background:#edf1f2;color:#68777d;font-weight:800}.check-list .done>span{background:#dcefe4;color:var(--app-color-success)}.check-list b,.check-list small{display:block}.check-list small{color:#77858b;font-size:.7rem;margin-top:.2rem}.domain-list>div,.invitation-list article{display:flex;align-items:center;gap:.7rem;padding:1rem 1.4rem;border-bottom:1px solid #edf1f2}.domain-list em{font-style:normal;font-size:.65rem;background:#e1eeee;color:#175c62;border-radius:999px;padding:.25rem .5rem}.domain-list small{margin-left:auto;color:#75848a}.inline-action{display:flex;align-items:center;gap:.7rem;padding:1rem 1.4rem}.inline-action .app-field{flex:1;margin:0}.inline-action input{border-radius:9px;max-width:330px}.inline-action label{font-size:.75rem;white-space:nowrap}.inline-action label input{width:auto}.inline-action button{border-radius:9px;padding:.72rem 1rem}.invitation-list article>div:first-child{flex:1}.invitation-list b,.invitation-list small{display:block}.invitation-list small{color:#78868c;font-size:.7rem;margin-top:.2rem}.row-actions{display:flex;gap:.3rem}.row-actions form{display:inline}.row-actions button,.danger-zone button{border:1px solid #c8d6da;background:#fff;border-radius:8px;padding:.4rem .65rem;font-size:.72rem;font-weight:700}.danger-link{color:#a33329!important;border-color:#e0b3af!important}.side-card{padding:1.3rem}.side-card>p{color:#708087;font-size:.8rem}.danger-zone form+form{margin-top:.6rem}.danger-zone button{width:100%;padding:.65rem}

:where(a,button,input,select,textarea,[tabindex]):focus-visible { outline:3px solid var(--app-color-focus); outline-offset:2px; box-shadow:none; }
@media(max-width:991px){.app-metrics{grid-template-columns:1fr 1fr}.detail-layout{grid-template-columns:1fr}.check-list{grid-template-columns:1fr}.tenant-grid{grid-template-columns:1fr}}
@media(max-width:640px){.app-page-header,.app-toolbar{align-items:stretch;flex-direction:column}.app-heading-monogram{flex-basis:58px}.app-search{min-width:0}.app-metrics{grid-template-columns:1fr 1fr}.inline-action{align-items:stretch;flex-direction:column}.inline-action input{max-width:none}.domain-list small{display:none}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* Authenticated application shell */
.authenticated-body { margin:0; min-height:100vh; background:var(--app-color-canvas); }
.app-skip-link { position:fixed; top:var(--app-space-2); left:var(--app-space-2); z-index:1100; padding:.65rem 1rem; border-radius:var(--app-radius-sm); background:var(--app-color-surface); color:var(--app-color-brand-strong); font-weight:800; transform:translateY(-150%); }
.app-skip-link:focus { transform:translateY(0); }
.app-shell { min-height:100vh; display:grid; grid-template-columns:260px minmax(0,1fr); }
.app-sidebar { position:sticky; top:0; height:100vh; display:flex; flex-direction:column; padding:var(--app-space-5); color:#d8e8eb; background:#092f39; }
.app-brand { display:flex; align-items:center; gap:.7rem; padding:.35rem .45rem 1.5rem; color:#fff; text-decoration:none; font:700 1.2rem var(--app-font-heading); }
.app-brand-mark { width:34px; height:34px; display:grid; place-items:center; border-radius:10px; background:#fff; color:var(--app-color-brand-strong); }
.app-navigation { display:grid; gap:var(--app-space-1); }
.app-navigation a { display:flex; align-items:center; gap:.75rem; min-height:44px; padding:.65rem .8rem; border-radius:10px; color:#c7dde1; text-decoration:none; font-size:.86rem; font-weight:700; }
.app-navigation a:hover { color:#fff; background:rgba(255,255,255,.08); }
.app-navigation a.is-active { color:#fff; background:#176172; box-shadow:inset 3px 0 #8fd4ca; }
.app-navigation a span { width:1.2rem; text-align:center; font-size:1rem; }
.app-sidebar-footer { margin-top:auto; display:grid; gap:.15rem; padding:var(--app-space-4); border:1px solid rgba(255,255,255,.12); border-radius:var(--app-radius-md); background:rgba(255,255,255,.05); }
.app-sidebar-footer strong { overflow:hidden; color:#fff; font-size:.84rem; text-overflow:ellipsis; white-space:nowrap; }
.app-sidebar-footer>span:last-child { color:#9ebbc1; font-size:var(--app-font-size-xs); }
.app-context-label { color:#8fb0b7; font-size:.63rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.app-shell-main { min-width:0; }
.app-topbar { min-height:68px; display:flex; justify-content:flex-end; align-items:center; gap:var(--app-space-4); padding:var(--app-space-3) var(--app-space-6); border-bottom:1px solid var(--app-color-border); background:rgba(255,255,255,.92); }
.app-account { display:flex; align-items:center; gap:var(--app-space-4); }
.app-account>span { display:grid; text-align:right; font-size:.78rem; }
.app-account small { color:var(--app-color-text-muted); }
.app-account form { margin:0; }
.app-sign-out { min-height:40px; padding:.45rem .75rem; border:1px solid #c7d5da; border-radius:var(--app-radius-sm); background:#fff; color:var(--app-color-brand-strong); font-weight:700; }
.app-sign-out:hover { background:#eef5f6; }
.app-mobile-menu,.app-mobile-brand { display:none; }
.app-content-frame { width:min(100%, calc(var(--app-content-max) + 3rem)); margin:0 auto; padding:var(--app-space-5) var(--app-space-6) var(--app-space-10); }
.app-breadcrumb { display:flex; align-items:center; gap:var(--app-space-2); min-height:28px; margin-bottom:var(--app-space-2); color:var(--app-color-text-muted); font-size:var(--app-font-size-sm); }
.app-breadcrumb a { color:var(--app-color-brand); font-weight:700; text-decoration:none; }
.app-main-content { outline:none; }
.app-notification-region:empty { display:none; }
.app-mobile-context { display:grid; gap:.15rem; margin-bottom:var(--app-space-5); padding:var(--app-space-4); border-radius:var(--app-radius-md); background:var(--app-color-surface-muted); }
.app-mobile-context span,.app-mobile-context small { color:var(--app-color-text-muted); font-size:var(--app-font-size-xs); }
.app-mobile-drawer .app-navigation a { color:var(--app-color-text); }
.app-mobile-drawer .app-navigation a:hover,.app-mobile-drawer .app-navigation a.is-active { color:var(--app-color-brand-strong); background:#e5f1f2; }

.app-workspace-identity { margin-top:auto; display:grid; gap:.15rem; padding:var(--app-space-4); border:1px solid rgba(255,255,255,.12); border-radius:var(--app-radius-md); background:rgba(255,255,255,.05); }
.app-workspace-identity strong { overflow:hidden; color:#fff; font-size:.84rem; text-overflow:ellipsis; white-space:nowrap; }
.app-workspace-identity>span:not(.app-context-label),.app-workspace-identity small { color:#9ebbc1; font-size:var(--app-font-size-xs); }
.app-workspace-identity.is-compact { margin:0 0 var(--app-space-5); border-color:var(--app-color-border); background:var(--app-color-surface-muted); }
.app-workspace-identity.is-compact strong { color:var(--app-color-text); }
.app-workspace-identity.is-compact>span:not(.app-context-label),.app-workspace-identity.is-compact small { color:var(--app-color-text-muted); }
.app-action-group { display:flex; flex-wrap:wrap; align-items:center; gap:var(--app-space-2); }
.app-secondary-action { border:1px solid #c8d6da; background:#fff; color:var(--app-color-brand-strong); font-weight:700; }
.app-state { display:grid; justify-items:center; gap:var(--app-space-2); padding:var(--app-space-8); border:1px dashed #adc2ce; border-radius:var(--app-radius-lg); background:var(--app-color-surface); color:var(--app-color-text-muted); text-align:center; }
.app-state h3,.app-state p { margin:0; }.app-state h3 { color:var(--app-color-text); font:700 1.1rem var(--app-font-heading); }
.app-state--loading { display:flex; justify-content:center; }
.app-spinner { width:1rem; height:1rem; border:2px solid #b8cbd0; border-top-color:var(--app-color-brand); border-radius:50%; animation:app-spin .7s linear infinite; }
@keyframes app-spin { to { transform:rotate(360deg); } }

.app-confirm-dialog { width:min(440px,calc(100vw - 2rem)); padding:0; border:1px solid var(--app-color-border); border-radius:var(--app-radius-lg); background:var(--app-color-surface); color:var(--app-color-text); box-shadow:0 30px 70px -28px #071f26; }
.app-confirm-dialog::backdrop { background:rgba(4,24,30,.62); backdrop-filter:blur(2px); }
.app-confirm-dialog form { display:grid; grid-template-columns:42px 1fr; gap:var(--app-space-4); padding:var(--app-space-6); }
.app-confirm-dialog h2 { margin:0 0 var(--app-space-2); font:700 1.25rem var(--app-font-heading); }.app-confirm-dialog p{margin:0;color:var(--app-color-text-muted)}
.app-confirm-icon { width:42px; height:42px; display:grid; place-items:center; border-radius:50%; background:var(--app-color-warning-bg); color:var(--app-color-warning); font-weight:800; }
.app-confirm-actions { grid-column:1 / -1; display:flex; justify-content:flex-end; gap:var(--app-space-2); margin-top:var(--app-space-2); }

@media(max-width:991px){
  .app-shell { display:block; }
  .app-sidebar { display:none; }
  .app-topbar { position:sticky; top:0; z-index:1020; justify-content:space-between; min-height:60px; padding:.6rem var(--app-space-4); }
  .app-mobile-menu { width:44px; height:44px; display:grid; place-items:center; border:1px solid #c7d5da; border-radius:var(--app-radius-sm); background:#fff; color:var(--app-color-brand-strong); font-size:1.25rem; }
  .app-mobile-brand { display:block; margin-right:auto; font:700 1.05rem var(--app-font-heading); color:var(--app-color-brand-strong); }
  .app-account>span { display:none; }
  .app-content-frame { padding:var(--app-space-4); }
}

@media(max-width:480px){
  .app-sign-out { padding:.4rem .55rem; font-size:.75rem; }
  .app-breadcrumb { margin-bottom:0; }
}

/* Tenant administration */
.tenant-admin-layout { display:grid; grid-template-columns:minmax(320px,.85fr) minmax(0,1.4fr); gap:var(--app-space-5); margin-top:var(--app-space-5); align-items:start; }
.tenant-members-panel { overflow:hidden; }
.tenant-member-list { display:grid; }
.tenant-member-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:var(--app-space-4); align-items:center; padding:var(--app-space-4) var(--app-space-5); border-bottom:1px solid #edf1f2; }
.tenant-member-person { min-width:0; display:grid; gap:.15rem; }
.tenant-member-person strong,.tenant-member-person span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.tenant-member-person span,.tenant-member-person small { color:var(--app-color-text-muted); font-size:var(--app-font-size-xs); }
.tenant-role-form { display:flex; align-items:center; gap:var(--app-space-2); }
.tenant-role-form select { min-height:40px; padding:.45rem .65rem; border:1px solid #cbd8dd; border-radius:var(--app-radius-sm); background:#fff; }
.tenant-role-form button { min-height:40px; padding:.45rem .65rem; border-radius:var(--app-radius-sm); }
.tenant-add-member { padding:var(--app-space-5); background:var(--app-color-surface-muted); }
.tenant-add-member h3 { margin:0; font:700 1rem var(--app-font-heading); }.tenant-add-member>p { margin:.25rem 0 var(--app-space-4); color:var(--app-color-text-muted); font-size:var(--app-font-size-sm); }
.tenant-workspaces-panel { overflow:hidden; }
.tenant-workspace-list { display:grid; gap:var(--app-space-4); padding:var(--app-space-5); background:#f5f8f9; }
.tenant-workspace-card { overflow:hidden; border:1px solid #d6e1e4; border-radius:16px; background:var(--app-color-surface); box-shadow:0 10px 24px -24px rgba(7,57,69,.65); }
.tenant-workspace-card.is-archived { background:#f8f9f9; box-shadow:none; }
.tenant-workspace-card__heading { display:flex; justify-content:space-between; align-items:flex-start; gap:var(--app-space-5); padding:var(--app-space-5); border-bottom:1px solid #e8eef0; }
.tenant-workspace-card__heading h3 { margin:.25rem 0 0; font:700 1.15rem var(--app-font-heading); color:var(--app-color-text); }
.tenant-workspace-slug { color:var(--app-color-text-muted); font:600 var(--app-font-size-xs) ui-monospace,SFMono-Regular,Consolas,monospace; }
.tenant-workspace-summary { display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-end; gap:var(--app-space-3); color:var(--app-color-text-muted); font-size:var(--app-font-size-xs); }
.tenant-workspace-summary>span:not(.status-chip) { padding:.45rem .65rem; border-radius:var(--app-radius-sm); background:var(--app-color-surface-muted); }
.tenant-workspace-summary strong { color:var(--app-color-text); }
.tenant-workspace-edit-form { display:grid; grid-template-columns:minmax(220px,1.2fr) minmax(190px,1fr) auto; gap:var(--app-space-4); align-items:end; padding:var(--app-space-5); }
.tenant-workspace-edit-form .app-field { margin:0; }
.tenant-workspace-edit-form .app-field input { min-height:44px; transition:border-color var(--app-motion-fast),box-shadow var(--app-motion-fast),background var(--app-motion-fast); }
.tenant-workspace-edit-form .app-field input:hover:not(:disabled),.tenant-workspace-assign-form select:hover { border-color:#93afb6; background:#fff; }
.tenant-workspace-edit-form .app-field input:focus,.tenant-workspace-assign-form select:focus { border-color:var(--app-color-brand); box-shadow:0 0 0 3px rgba(20,119,116,.13); background:#fff; }
.tenant-workspace-edit-form>button { min-height:44px; padding:.65rem 1rem; border-radius:10px; }
.tenant-workspace-staffing { margin:0 var(--app-space-5) var(--app-space-5); padding:var(--app-space-4); border:1px solid #dce7e9; border-radius:12px; background:#f7fafb; }
.tenant-workspace-staffing__heading h4 { margin:0; font:700 .95rem var(--app-font-heading); }.tenant-workspace-staffing__heading p { margin:.2rem 0 var(--app-space-3); color:var(--app-color-text-muted); font-size:var(--app-font-size-xs); }
.tenant-workspace-assignees { display:flex; flex-wrap:wrap; gap:var(--app-space-2); margin-bottom:var(--app-space-3); }
.tenant-workspace-person { display:flex; align-items:center; gap:var(--app-space-2); padding:.45rem .5rem .45rem .7rem; border:1px solid #d5e1e4; border-radius:var(--app-radius-pill); background:#fff; }
.tenant-workspace-person span { display:grid; line-height:1.15; }.tenant-workspace-person strong { font-size:var(--app-font-size-xs); }.tenant-workspace-person small { color:var(--app-color-text-muted); font-size:.65rem; }
.tenant-workspace-person button { padding:.3rem .55rem; border-radius:var(--app-radius-pill); font-size:.68rem; }
.tenant-workspace-empty { color:var(--app-color-text-muted); font-size:var(--app-font-size-xs); }
.tenant-workspace-assign-form { display:grid; grid-template-columns:auto minmax(220px,1fr) auto; align-items:center; gap:var(--app-space-2); }
.tenant-workspace-assign-form label { font-size:var(--app-font-size-xs); font-weight:800; }
.tenant-workspace-assign-form select { min-height:42px; padding:.55rem .75rem; border:1px solid #cbd8dd; border-radius:9px; background:#fff; outline:none; }
.tenant-workspace-assign-form button { min-height:42px; padding:.55rem .8rem; border-radius:9px; }
.tenant-workspace-card__footer { display:flex; justify-content:flex-end; padding:0 var(--app-space-5) var(--app-space-5); }
.tenant-workspace-card__footer button { padding:.5rem .75rem; border-radius:9px; background:#fff; }
.tenant-create-workspace { display:grid; grid-template-columns:minmax(230px,.65fr) minmax(0,1.35fr); gap:var(--app-space-6); align-items:start; border-top:1px solid var(--app-color-border); }
.tenant-create-workspace .app-kicker { color:var(--app-color-brand); }.tenant-create-workspace>div>p { margin:.35rem 0 0; color:var(--app-color-text-muted); font-size:var(--app-font-size-sm); }
.tenant-create-workspace__form { display:grid; grid-template-columns:1fr 1fr auto; gap:var(--app-space-3); align-items:end; }
.tenant-create-workspace__form .app-field { margin:0; }.tenant-create-workspace__form button { min-height:44px; padding:.65rem 1rem; }
.tenant-messaging-area { display:grid; gap:var(--app-space-4); }
.tenant-channel-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--app-space-4); }
.tenant-channel-card { padding:var(--app-space-5); }
.tenant-channel-card:first-child { grid-column:1 / -1; }
.tenant-channel-heading { display:flex; justify-content:space-between; gap:var(--app-space-4); align-items:flex-start; margin-bottom:var(--app-space-4); }
.tenant-channel-heading h3 { margin:0; font:700 1.05rem var(--app-font-heading); }.tenant-channel-heading p { margin:.2rem 0 0; color:var(--app-color-text-muted); font-size:var(--app-font-size-sm); }
.app-switch-field { display:flex; align-items:center; gap:var(--app-space-2); margin-bottom:var(--app-space-4); padding:.75rem; border-radius:var(--app-radius-sm); background:var(--app-color-surface-muted); font-size:var(--app-font-size-sm); font-weight:700; }
.tenant-channel-actions { display:flex; justify-content:space-between; align-items:center; gap:var(--app-space-3); margin-top:var(--app-space-5); }
.tenant-channel-actions span { color:var(--app-color-text-muted); font-size:var(--app-font-size-xs); }

@media(max-width:1100px){.tenant-admin-layout{grid-template-columns:1fr}.tenant-channel-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.tenant-channel-card:first-child{grid-column:auto}}
@media(max-width:850px){.tenant-channel-grid{grid-template-columns:1fr}.tenant-member-row{grid-template-columns:1fr}.tenant-role-form{justify-content:space-between}.tenant-role-form select{flex:1}.tenant-workspace-edit-form,.tenant-create-workspace,.tenant-create-workspace__form{grid-template-columns:1fr}.tenant-workspace-edit-form>button,.tenant-create-workspace__form button{width:100%}.tenant-workspace-assign-form{grid-template-columns:1fr}.tenant-workspace-assign-form button{width:100%}}
@media(max-width:480px){.tenant-role-form,.tenant-channel-actions{align-items:stretch;flex-direction:column}.tenant-role-form select,.tenant-role-form button,.tenant-channel-actions button{width:100%}.tenant-workspace-list{padding:var(--app-space-3)}.tenant-workspace-card__heading{align-items:stretch;flex-direction:column}.tenant-workspace-summary{justify-content:flex-start}.tenant-workspace-edit-form{padding:var(--app-space-4)}.tenant-workspace-staffing{margin:0 var(--app-space-4) var(--app-space-4)}.tenant-workspace-card__footer{padding:0 var(--app-space-4) var(--app-space-4)}}

/* Research dashboard and project workflows */
.research-dashboard-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--app-space-4); margin:var(--app-space-5) 0; }
.research-dashboard-card { display:flex; min-height:210px; flex-direction:column; padding:var(--app-space-5); color:var(--app-color-text); text-decoration:none; transition:transform var(--app-motion-fast) ease,box-shadow var(--app-motion-fast) ease; }
.research-dashboard-card:hover { transform:translateY(-2px); color:var(--app-color-text); box-shadow:0 20px 34px -28px var(--app-color-brand); }.research-dashboard-card .app-kicker{color:#54747b}.research-dashboard-card h2{margin:.6rem 0;font:700 1.25rem var(--app-font-heading)}.research-dashboard-card p{color:var(--app-color-text-muted)}.research-dashboard-card strong{margin-top:auto;color:var(--app-color-brand)}
.research-dashboard-card--primary { border-color:#8fb9bf; background:#f4fbfb; }.research-dashboard-card--privileged{border-color:#dbc6ab;background:#fffaf2}
.research-form-layout { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(260px,.7fr); gap:var(--app-space-5); margin-top:var(--app-space-5); align-items:start; }.research-form-panel{overflow:hidden}.research-form-panel form{padding:var(--app-space-5)}
.research-guidance-card { padding:var(--app-space-5); }.research-guidance-card .app-kicker{color:#54747b}.research-guidance-card h2{font:700 1.15rem var(--app-font-heading);margin:.6rem 0}.research-guidance-card ol{padding-left:1.2rem;color:var(--app-color-text-muted)}.research-guidance-card li+li{margin-top:.6rem}
.research-meta-row { display:flex; justify-content:space-between; align-items:center; gap:var(--app-space-3); margin:var(--app-space-4) 0; color:var(--app-color-text-muted); font-size:var(--app-font-size-sm); }
.research-project-layout { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(300px,.75fr); gap:var(--app-space-5); align-items:start; }.research-delivery-panel{overflow:hidden}.research-delivery-panel>.app-state,.research-delivery-form{margin:var(--app-space-5)}
.research-question-list { list-style:none; counter-reset:questions; margin:0; padding:0; }.research-question-list li{counter-increment:questions;display:grid;gap:var(--app-space-2);padding:var(--app-space-4) var(--app-space-5);border-bottom:1px solid #edf1f2}.research-question-list li>div:first-child{display:grid;grid-template-columns:2rem 1fr;column-gap:var(--app-space-2)}.research-question-list li>div:first-child::before{content:counter(questions);grid-row:1 / 3;width:1.7rem;height:1.7rem;display:grid;place-items:center;border-radius:50%;background:#e4f1f1;color:var(--app-color-brand);font-size:.72rem;font-weight:800}.research-question-list span{color:var(--app-color-text-muted);font-size:var(--app-font-size-xs)}
.research-option-list { display:flex; flex-wrap:wrap; gap:var(--app-space-1); padding-left:2.5rem; }.research-option-list span{padding:.25rem .5rem;border:1px solid var(--app-color-border);border-radius:var(--app-radius-pill);background:var(--app-color-surface-muted)}
.research-inline-form { padding:var(--app-space-5); background:var(--app-color-surface-muted); }.research-inline-form h3{font:700 1rem var(--app-font-heading)}.research-field-row{display:grid;grid-template-columns:1fr auto;gap:var(--app-space-3);align-items:center}.app-checkbox{display:flex;align-items:center;gap:.4rem;font-size:var(--app-font-size-sm);font-weight:700}.app-checkbox input{width:1rem;height:1rem}
.research-workspace .app-metrics { grid-template-columns:repeat(3,1fr); }
.research-response-table { overflow-x:auto; }.research-response-table table{width:100%;border-collapse:collapse}.research-response-table th,.research-response-table td{padding:.85rem 1rem;border-bottom:1px solid #e8eef0;text-align:left;vertical-align:top}.research-response-table th{color:var(--app-color-text-muted);font-size:var(--app-font-size-xs);text-transform:uppercase;letter-spacing:.05em}.research-response-table td{font-size:var(--app-font-size-sm)}

@media(max-width:1050px){.research-dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.research-project-layout{grid-template-columns:1fr}.research-form-layout{grid-template-columns:1fr}}
@media(max-width:700px){.research-dashboard-grid{grid-template-columns:1fr}.research-field-row{grid-template-columns:1fr}.research-workspace .app-metrics{grid-template-columns:1fr}.research-response-table table,.research-response-table tbody,.research-response-table tr,.research-response-table td{display:block}.research-response-table thead{display:none}.research-response-table tr{padding:var(--app-space-3);border-bottom:1px solid var(--app-color-border)}.research-response-table td{display:grid;grid-template-columns:7rem 1fr;gap:var(--app-space-2);padding:.4rem;border:0}.research-response-table td::before{content:attr(data-label);color:var(--app-color-text-muted);font-size:var(--app-font-size-xs);font-weight:800;text-transform:uppercase}.section-title{align-items:flex-start;flex-wrap:wrap}}
@media(max-width:480px){.app-confirm-actions{align-items:stretch;flex-direction:column-reverse}.app-confirm-actions .btn{width:100%}}
@media(forced-colors:active){.status-chip,.app-panel,.app-notice,.app-navigation a.is-active{border:1px solid CanvasText}.app-spinner{forced-color-adjust:none}.app-confirm-dialog::backdrop{background:rgba(0,0,0,.75)}}

.tenant-id{color:#89969b;font:600 .67rem ui-monospace,SFMono-Regular,Consolas,monospace;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tenant-identifier{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1rem;padding:.8rem 1rem;border:1px solid var(--app-color-border);border-radius:10px;background:var(--app-color-surface-muted)}.tenant-identifier span{display:block;color:#6f7d83;font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.tenant-identifier code{color:#243b43;font-size:.82rem}.tenant-identifier button{border:1px solid #bfd0d4;border-radius:8px;background:#fff;padding:.45rem .7rem;color:var(--app-color-brand);font-weight:800}

.authenticated-body{--app-color-brand:var(--tenant-primary,#0b5363)}.app-brand-logo{width:2.15rem;height:2.15rem;object-fit:contain;border-radius:.5rem;background:#fff}.tenant-branding-panel{overflow:hidden}.tenant-branding-layout{display:grid;grid-template-columns:minmax(15rem,.65fr) minmax(0,1.35fr);gap:var(--app-space-6);padding:var(--app-space-5)}.tenant-branding-preview{min-height:14rem;display:grid;place-items:center;align-content:center;gap:.65rem;padding:var(--app-space-5);border-radius:var(--app-radius-md);background:linear-gradient(145deg,var(--tenant-primary),var(--tenant-accent));color:#fff;text-align:center}.tenant-branding-preview img,.tenant-branding-preview>span{width:4.5rem;height:4.5rem;object-fit:contain;display:grid;place-items:center;border-radius:1rem;background:#fff;color:var(--tenant-primary);font:800 2rem var(--app-font-heading)}.tenant-branding-preview strong{font:700 1.3rem var(--app-font-heading)}.tenant-branding-preview small{opacity:.85}.tenant-branding-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--app-space-4)}.tenant-branding-form .app-field{margin:0}.tenant-branding-form input[type=color]{width:100%;height:3rem;padding:.25rem;border:1px solid var(--app-color-border);border-radius:var(--app-radius-sm);background:#fff}.tenant-branding-form button{grid-column:1/-1;justify-self:start}.tenant-logo-actions{display:flex;align-items:end;gap:var(--app-space-4);margin-top:var(--app-space-5);padding-top:var(--app-space-4);border-top:1px solid var(--app-color-border)}.tenant-logo-actions form:first-child{display:grid;grid-template-columns:1fr auto;gap:var(--app-space-2);align-items:end;flex:1}.tenant-logo-actions label{grid-column:1/-1;font-size:var(--app-font-size-sm);font-weight:700}.tenant-logo-actions input[type=file]{min-width:0}.app-danger-action{border:1px solid #d8a6a6;color:#8b2727;background:#fff}
@media(max-width:800px){.tenant-branding-layout,.tenant-branding-form{grid-template-columns:1fr}.tenant-logo-actions,.tenant-logo-actions form:first-child{align-items:stretch;grid-template-columns:1fr;flex-direction:column}.tenant-logo-actions label{grid-column:auto}}

.tenant-governance-panel{overflow:hidden}.tenant-governance-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--app-space-5);padding:var(--app-space-5)}.tenant-governance-card{padding:var(--app-space-5);border:1px solid var(--app-color-border);border-radius:var(--app-radius-md);background:var(--app-color-surface-muted)}.tenant-governance-card h3,.tenant-hold-history h3{font:700 1rem var(--app-font-heading)}.tenant-governance-card>p{min-height:3rem;color:var(--app-color-text-muted);font-size:var(--app-font-size-sm)}.tenant-hold-history{border-top:1px solid var(--app-color-border);padding:var(--app-space-5)}.tenant-hold-row{display:flex;justify-content:space-between;gap:var(--app-space-5);padding:var(--app-space-4) 0;border-bottom:1px solid var(--app-color-border)}.tenant-hold-row>div{display:grid;gap:.3rem}.tenant-hold-row span,.tenant-hold-row small{color:var(--app-color-text-muted);font-size:var(--app-font-size-sm)}.tenant-hold-row form{display:grid;grid-template-columns:minmax(12rem,1fr) auto;gap:var(--app-space-2);align-items:center}@media(max-width:800px){.tenant-governance-grid{grid-template-columns:1fr}.tenant-hold-row{flex-direction:column}.tenant-hold-row form{grid-template-columns:1fr}}

.tenant-admin-shell{display:grid;grid-template-columns:15rem minmax(0,1fr);gap:var(--app-space-6);align-items:start;margin-top:var(--app-space-5)}
.tenant-admin-nav{position:sticky;top:var(--app-space-4);display:grid;gap:.35rem;padding:.5rem;border:1px solid var(--app-color-border);border-radius:var(--app-radius-lg);background:var(--app-color-surface)}
.tenant-admin-nav a{display:grid;gap:.15rem;padding:.8rem .9rem;border-radius:var(--app-radius-md);color:var(--app-color-text);text-decoration:none}
.tenant-admin-nav a:hover{background:var(--app-color-surface-muted)}
.tenant-admin-nav a[aria-current="page"]{background:var(--tenant-primary,var(--app-color-primary));color:#fff}
.tenant-admin-nav span{font-weight:750}.tenant-admin-nav small{color:var(--app-color-text-muted);font-size:.75rem}.tenant-admin-nav a[aria-current="page"] small{color:rgba(255,255,255,.78)}
.tenant-admin-content{min-width:0}.tenant-admin-content>.app-panel,.tenant-admin-content>.tenant-admin-layout{margin-top:0}.tenant-admin-content>.tenant-admin-layout{grid-template-columns:minmax(0,1fr)}
.tenant-admin-content .tenant-members-panel{width:100%}.tenant-admin-content .tenant-member-row{grid-template-columns:minmax(14rem,1fr) minmax(17rem,auto) auto}.tenant-admin-content .tenant-add-member form{display:grid;grid-template-columns:minmax(14rem,1.4fr) minmax(11rem,.8fr) minmax(9rem,.65fr) auto;gap:var(--app-space-3);align-items:end}.tenant-admin-content .tenant-add-member form .app-field{margin:0}.tenant-admin-content .tenant-add-member form button{min-height:44px}
.tenant-admin-content .tenant-messaging-area{width:100%}.tenant-admin-content .tenant-channel-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tenant-admin-content .tenant-channel-card:first-child{grid-column:1/-1}.tenant-admin-content .tenant-channel-card:first-child form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 var(--app-space-4)}.tenant-admin-content .tenant-channel-card:first-child form>.app-switch-field,.tenant-admin-content .tenant-channel-card:first-child form>.tenant-channel-actions{grid-column:1/-1}
.tenant-security-panel{overflow:hidden}.tenant-security-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--app-space-5);padding:var(--app-space-5)}.tenant-security-form>.app-field{margin:0}.tenant-security-choice{padding:var(--app-space-4);border:1px solid var(--app-color-border);border-radius:var(--app-radius-md);background:var(--app-color-surface-muted)}.tenant-security-choice .app-switch-field{margin:0;background:#fff}.tenant-security-choice p,.tenant-security-note p{margin:.7rem 0 0;color:var(--app-color-text-muted);font-size:var(--app-font-size-sm)}.tenant-security-note{grid-column:1/-1;padding:var(--app-space-4);border-left:4px solid var(--tenant-accent,var(--app-color-primary));background:#f4f9fa}.tenant-security-form>button{grid-column:1/-1;justify-self:start}
.tenant-usage-panel{overflow:hidden}.tenant-usage-content{display:grid;gap:var(--app-space-8);padding:var(--app-space-8)}.tenant-usage-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--app-space-4)}.tenant-usage-metrics>div{display:grid;gap:.45rem;min-height:8.5rem;align-content:center;padding:var(--app-space-6);border:1px solid var(--app-color-border);border-radius:var(--app-radius-md);background:var(--app-color-surface-muted)}.tenant-usage-metrics strong{color:#103f4b;font:700 2rem var(--app-font-heading)}.tenant-usage-metrics span{color:var(--app-color-text-muted);font-size:var(--app-font-size-sm)}.tenant-usage-details{gap:var(--app-space-5)}.tenant-usage-details .tenant-overview-card{min-height:14rem;padding:var(--app-space-8)}
.tenant-invoice-history{display:grid;gap:var(--app-space-4);padding-top:var(--app-space-2)}.tenant-invoice-history h3{margin:.25rem 0 0;font:700 1.2rem var(--app-font-heading)}.tenant-invoice-history>p{margin:0;padding:var(--app-space-6);border:1px dashed var(--app-color-border);border-radius:var(--app-radius-md);color:var(--app-color-text-muted)}.tenant-invoice-list{border:1px solid var(--app-color-border);border-radius:var(--app-radius-md);overflow:hidden}.tenant-invoice-list article{display:flex;justify-content:space-between;gap:var(--app-space-5);padding:var(--app-space-5);background:#fff}.tenant-invoice-list article+article{border-top:1px solid var(--app-color-border)}.tenant-invoice-list article>div{display:grid;gap:.3rem}.tenant-invoice-list article>div:last-child{text-align:right}.tenant-invoice-list span,.tenant-invoice-list a{color:var(--app-color-text-muted);font-size:var(--app-font-size-sm)}
.tenant-compliance-panel{overflow:hidden}.tenant-compliance-content{display:grid;gap:var(--app-space-8);padding:var(--app-space-8)}.tenant-compliance-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--app-space-5)}.tenant-compliance-controls article{display:grid;gap:.65rem;padding:var(--app-space-6);border:1px solid var(--app-color-border);border-radius:var(--app-radius-md);background:var(--app-color-surface-muted)}.tenant-compliance-controls strong{font:700 1.1rem var(--app-font-heading)}.tenant-compliance-controls p{margin:0;color:var(--app-color-text-muted)}.tenant-audit-ledger{display:grid;gap:var(--app-space-4)}.tenant-audit-ledger h3{margin:.25rem 0 0;font:700 1.2rem var(--app-font-heading)}.tenant-audit-table{overflow:auto;border:1px solid var(--app-color-border);border-radius:var(--app-radius-md)}.tenant-audit-table table{width:100%;min-width:48rem}.tenant-audit-table th,.tenant-audit-table td{padding:var(--app-space-4);text-align:left;border-bottom:1px solid var(--app-color-border);font-size:var(--app-font-size-sm)}.tenant-audit-table th{background:var(--app-color-surface-muted);color:var(--app-color-text-muted);font-size:var(--app-font-size-xs);text-transform:uppercase}.tenant-audit-table code{font-size:.7rem}
.tenant-access-denied{display:grid;justify-items:start;gap:var(--app-space-4);max-width:48rem;padding:var(--app-space-8)}.tenant-access-denied h1{margin:0;font:750 clamp(1.8rem,4vw,2.5rem) var(--app-font-heading)}.tenant-access-denied p{max-width:62ch;margin:0;color:var(--app-color-text-muted);line-height:1.7}
.tenant-section-heading{margin-bottom:var(--app-space-5)}.tenant-section-heading h2{margin:.25rem 0;font:750 clamp(1.5rem,3vw,2rem) var(--app-font-heading)}.tenant-section-heading p{margin:0;color:var(--app-color-text-muted)}
.tenant-overview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--app-space-4)}
.tenant-overview-card{display:grid;gap:.65rem;min-height:11rem;padding:var(--app-space-5);border:1px solid var(--app-color-border);border-radius:var(--app-radius-lg);background:var(--app-color-surface);color:var(--app-color-text);text-decoration:none;box-shadow:var(--app-shadow-sm)}
.tenant-overview-card:hover{border-color:var(--tenant-accent,var(--app-color-primary));transform:translateY(-1px)}.tenant-overview-card strong{font:750 1.2rem var(--app-font-heading)}.tenant-overview-card p{margin:0;color:var(--app-color-text-muted)}.tenant-overview-card>span:last-child{align-self:end;color:var(--tenant-primary,var(--app-color-primary));font-weight:700}
@media(max-width:1100px){.tenant-admin-content .tenant-add-member form{grid-template-columns:repeat(2,minmax(0,1fr))}.tenant-admin-content .tenant-add-member form button{justify-self:start}}
@media(max-width:900px){.tenant-admin-shell{grid-template-columns:1fr}.tenant-admin-nav{position:static;display:flex;overflow-x:auto;padding:.35rem}.tenant-admin-nav a{min-width:max-content}.tenant-admin-nav small{display:none}.tenant-admin-content .tenant-member-row{grid-template-columns:minmax(0,1fr) auto}.tenant-admin-content .tenant-member-row>form:last-child{grid-column:2}}
@media(max-width:700px){.tenant-admin-content .tenant-channel-grid,.tenant-admin-content .tenant-channel-card:first-child form,.tenant-security-form{grid-template-columns:1fr}.tenant-admin-content .tenant-channel-card:first-child form>.app-switch-field,.tenant-admin-content .tenant-channel-card:first-child form>.tenant-channel-actions,.tenant-security-note,.tenant-security-form>button{grid-column:auto}}
@media(max-width:700px){.tenant-usage-content{gap:var(--app-space-5);padding:var(--app-space-4)}.tenant-usage-metrics{grid-template-columns:1fr}.tenant-usage-metrics>div,.tenant-usage-details .tenant-overview-card{min-height:auto;padding:var(--app-space-5)}}
@media(max-width:700px){.tenant-compliance-content{padding:var(--app-space-4)}.tenant-compliance-controls{grid-template-columns:1fr}}
@media(max-width:620px){.tenant-overview-grid,.tenant-admin-content .tenant-add-member form,.tenant-admin-content .tenant-member-row{grid-template-columns:1fr}.tenant-overview-card{min-height:9rem}.tenant-admin-content .tenant-member-row>form:last-child{grid-column:auto}}

/* Tenant portfolio dashboard */
.portfolio-dashboard{padding-bottom:var(--app-space-6)}.portfolio-dashboard>.portfolio-filters{margin-top:var(--app-space-6)}.portfolio-dashboard>.portfolio-kpis,.portfolio-dashboard>.portfolio-content-grid,.portfolio-dashboard>.research-dashboard-grid{margin-top:var(--app-space-5)}.portfolio-filters{display:grid;grid-template-columns:minmax(13rem,1fr) repeat(2,minmax(10rem,.55fr)) auto auto;gap:var(--app-space-4);align-items:end;padding:var(--app-space-5)}.portfolio-filters .app-field{margin:0}.portfolio-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--app-space-4)}.portfolio-kpi{display:grid;min-height:7.5rem;align-content:space-between;gap:var(--app-space-3);padding:var(--app-space-5)}.portfolio-kpi span{color:var(--app-color-text-muted);font-size:var(--app-font-size-xs);font-weight:800;text-transform:uppercase;letter-spacing:.06em}.portfolio-kpi strong{color:var(--app-color-text);font:700 clamp(1.75rem,3vw,2.4rem) var(--app-font-heading);line-height:1}.portfolio-kpi--accent{background:linear-gradient(135deg,#073c4a,var(--app-color-brand))}.portfolio-kpi--accent span,.portfolio-kpi--accent strong{color:#fff}.portfolio-content-grid{display:grid;grid-template-columns:minmax(0,2.2fr) minmax(16rem,.8fr);gap:var(--app-space-5);align-items:start}.portfolio-panel{padding:0;overflow:hidden}.portfolio-panel__heading{display:flex;align-items:center;justify-content:space-between;gap:var(--app-space-4);padding:var(--app-space-5);border-bottom:1px solid var(--app-color-border)}.portfolio-panel__heading h2{margin:.2rem 0 0;font:700 1.15rem var(--app-font-heading)}.portfolio-table{width:100%;margin:0}.portfolio-table th,.portfolio-table td{padding:1rem 1.25rem;vertical-align:middle}.portfolio-table tbody tr+tr{border-top:1px solid var(--app-color-border)}.portfolio-table td:first-child a{color:var(--app-color-text);font-weight:800;text-decoration:none}.portfolio-table td:first-child small{display:block;margin-top:.3rem;color:var(--app-color-text-muted)}.portfolio-channel-list{display:grid}.portfolio-channel{display:flex;justify-content:space-between;gap:var(--app-space-4);padding:var(--app-space-5);border-bottom:1px solid var(--app-color-border)}.portfolio-channel:last-child{border-bottom:0}.portfolio-channel div{display:grid;gap:.3rem}.portfolio-channel span,.portfolio-muted{color:var(--app-color-text-muted);font-size:var(--app-font-size-sm)}.portfolio-muted{padding:var(--app-space-5);line-height:1.6}.portfolio-dashboard>.research-dashboard-grid{gap:var(--app-space-5);margin-bottom:0}
@media(max-width:1000px){.portfolio-kpis{grid-template-columns:repeat(3,1fr)}.portfolio-content-grid{grid-template-columns:1fr}.portfolio-filters{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.portfolio-kpis,.portfolio-filters{grid-template-columns:1fr}}
