.tm-denied{margin-bottom:24px}
.tm-kpis{margin-bottom:6px}

.tm-card>.dv-section-head{padding:13px 18px;background:var(--surface-2);border-radius:14px 14px 0 0}
.tm-card>.dv-section-head .dv-section-h{font-size:12.5px}

.tm-2fa-body{padding:16px 20px 20px}
.tm-2fa-body .dv-hint{margin:0;max-width:70ch}
.tm-2fa-error{margin-top:14px}
.tm-2fa-error a{color:inherit;font-weight:700}

.tm-seat-notice{margin:16px 20px 0;flex-wrap:wrap}
.tm-seat-notice span{flex:1 1 220px;min-width:0}
.tm-seat-buy{flex:0 0 auto;white-space:nowrap}

.tm-invite{display:flex;gap:14px;align-items:flex-end;flex-wrap:wrap;padding:18px 20px 4px}
.tm-invite-email{flex:1 1 260px}
.tm-invite-role{flex:0 0 170px}
.tm-invite-access{flex:0 0 190px}
.tm-invite-numbers{display:flex;flex-direction:column;gap:5px;max-height:130px;overflow:auto;margin-top:7px;padding:8px;border:1px solid var(--bd);border-radius:var(--radius-sm);background:var(--surface-2)}
.tm-invite-numbers label{display:flex;align-items:center;gap:7px;color:var(--ink-2);font-size:12px;cursor:pointer}
.tm-invite-hint{margin:0;padding:8px 20px 0}
.tm-invite-error{margin:10px 20px 0}

.tm-link{margin:16px 20px 20px;padding:14px 16px;background:var(--surface-2);border:1px solid var(--bd);border-radius:11px}
.tm-link .dv-hint{margin:0 0 9px}
.tm-link-row{display:flex;gap:10px;flex-wrap:wrap}
.tm-link-row input{flex:1 1 320px;font-size:12.5px}
.tm-link-row-wrap td{background:var(--surface-2);padding:0 !important}
.tm-link-row-wrap .tm-link{margin:12px 20px}

.tm-member{display:flex;align-items:center;gap:11px;min-width:200px}
.tm-member .dv-avatar{width:32px;height:32px}
.tm-member-main{display:flex;flex-direction:column;gap:2px;min-width:0}
.tm-member-email{font-size:12.5px;color:var(--ink-3)}
.tm-badges{display:flex;gap:6px;flex-wrap:wrap;margin-top:5px}
.tm-role-select{height:34px;min-width:118px;font-size:13px}
.tm-danger{color:var(--danger-700);border-color:var(--danger-100)}
.tm-danger:hover:not(:disabled){background:var(--danger-50)}
.dv-table-actions .ash-btn-ghost:disabled{opacity:.5;cursor:not-allowed}
.tm-role-select:disabled{background:var(--surface-2);color:var(--ink-3);cursor:not-allowed}
.tm-access{position:relative;min-width:108px}
.tm-access summary{display:inline-flex;align-items:center;gap:6px;padding:7px 9px;border:1px solid var(--bd);border-radius:var(--radius-sm);color:var(--ink-2);font-size:12.5px;font-weight:600;cursor:pointer;list-style:none}
.tm-access summary::-webkit-details-marker{display:none}
.tm-access summary::after{content:"⌄";color:var(--ink-4)}
.tm-access[open] summary{border-color:var(--accent-100);background:var(--accent-50);color:var(--accent-700)}
.tm-access-pop{position:absolute;z-index:20;top:calc(100% + 5px);right:0;width:280px;padding:12px;border:1px solid var(--bd);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-lg)}
.tm-access-mode{display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--ink-3);font-size:12px;font-weight:600}
.tm-access-mode select{width:155px;height:34px;font-size:12.5px}
.tm-access-options{max-height:210px;overflow:auto;margin:10px 0;padding:5px 0;border-top:1px solid var(--bd);border-bottom:1px solid var(--bd)}
.tm-access-options label{display:flex;align-items:center;gap:9px;padding:7px 4px;cursor:pointer}
.tm-access-options label>span{min-width:0}
.tm-access-options strong,.tm-access-note{margin:6px 4px 2px;font-size:11.5px;line-height:1.45;color:var(--ink-3)}
.tm-access-options small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tm-access-options strong{color:var(--ink-2);font-size:12.5px}
.tm-access-options small{margin-top:2px;color:var(--ink-4);font-family:var(--mono);font-size:10.5px}
.tm-access-pop>.ash-btn{width:100%;margin-top:10px}
.tm-access-label{color:var(--ink-3);font-size:12.5px;white-space:nowrap}

.tm-roles{margin-top:44px}
.tm-roles-h{font-family:var(--display);font-weight:400;font-size:26px;letter-spacing:-.015em;margin:0}
.tm-roles .dv-lead{margin-bottom:18px}
.tm-role-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px}
.tm-role{padding:0;display:flex;flex-direction:column;overflow:hidden}
.tm-role-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding:13px 18px;background:var(--surface-2);border-bottom:1px solid var(--bd)}
.tm-role-name{font-size:15.5px;font-weight:700;margin:0}
.tm-role-code{font-family:var(--mono);font-size:10.5px;letter-spacing:.06em;color:var(--ink-4)}
.tm-role-summary{font-size:13px;color:var(--ink-2);margin:0;padding:15px 18px 12px;line-height:1.55}
.tm-role-list{margin:0;padding:0 18px;list-style:none;display:flex;flex-direction:column;gap:7px}
.tm-role-list li{font-size:13px;line-height:1.5;color:var(--ink-2);padding-left:19px;position:relative}
.tm-role-list li::before{position:absolute;left:0;top:0;font-family:var(--mono);font-size:12px}
.tm-role-can li::before{content:"+";color:var(--accent-700)}
.tm-role-cannot{margin-top:9px}
.tm-role-cannot li{color:var(--ink-3)}
.tm-role-cannot li::before{content:"−";color:var(--ink-4)}
.tm-role-note{font-size:12.5px;line-height:1.5;color:var(--ink-3);margin:12px 0 0;padding:11px 18px 0;border-top:1px solid var(--bd)}
.tm-role-perms{font-family:var(--mono);font-size:10.5px;line-height:1.6;color:var(--ink-4);margin:auto 0 0;padding:14px 18px;word-break:break-word}

@media (max-width:760px){
  .tm-card>.dv-section-head{padding:12px 15px}
  /* Below this the columns would crush; the wrapper scrolls instead. */
  .tm-card .dv-table{min-width:720px}
  .tm-invite{flex-direction:column;align-items:stretch}
  .tm-invite-role{flex:1 1 auto}
  .tm-invite-access{flex:1 1 auto}
  .tm-link-row input{flex:1 1 100%}
}
