/* Management workspace only. Public tenant pages retain their own layout. */
.management-layout .main-content { align-items: stretch; padding: 24px 28px; }
.management-layout .content-area { width: 100%; max-width: none; min-width: 0; }
.management-layout .content-area > [style*="max-width"] { max-width: 100% !important; }
.management-layout .management-context { display:flex; align-items:center; gap:8px; flex-wrap:wrap; min-height:30px; margin-bottom:12px; color:var(--text-secondary); font-size:.78rem; }
.management-context .owner-badge { margin-left:auto; color:var(--ok-text); background:var(--ok-bg); padding:4px 9px; border-radius:5px; font-weight:650; }
.management-layout .page-header-v2 { margin:0; font-size:1.5rem; line-height:1.3; }
.management-layout .content-area > .d-flex:first-of-type { flex-wrap:wrap; gap:12px; }
.management-layout .content-area > .d-flex > .d-flex { flex-wrap:wrap; }
.management-layout .card-header-section { padding:12px 16px; }
.management-layout .card-header-section h4 { font-size:.9rem; }
.management-layout .card-body { padding:16px; }
.management-layout .table-v2 { font-size:.82rem; }
.management-layout .table-v2 th { font-size:.68rem; letter-spacing:.035em; padding:11px 14px; text-transform:uppercase; }
.management-layout .table-v2 td { padding:11px 14px; vertical-align:middle; }
.management-layout .table-v2 tbody tr:hover { background:var(--sidebar-active-bg); }
.management-layout .table-v2 code { color:var(--text-secondary); }
.management-layout .management-toolbar { display:flex; gap:8px; align-items:center; flex-wrap:wrap; margin:12px 0; }
.management-layout .management-toolbar .form-control { max-width:340px; }
.management-layout .count-strip { display:flex; align-items:center; gap:8px 18px; flex-wrap:wrap; margin:12px 0; font-size:.8rem; color:var(--text-secondary); }
.management-layout .count-strip strong { color:var(--text-primary); font-variant-numeric:tabular-nums; }
.management-layout .management-dialog { width:min(680px,calc(100vw - 32px)); max-height:calc(100dvh - 40px); border:1px solid var(--border-color); border-radius:12px; padding:0; color:var(--text-primary); background:var(--bg-card); box-shadow:0 20px 80px #0003; }
.management-dialog::backdrop { background:rgb(15 23 42 / .46); }
.management-dialog .dialog-header { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:16px 20px; border-bottom:1px solid var(--border-color); }
.management-dialog .dialog-header h2 { font-size:1.05rem; margin:0; overflow-wrap:anywhere; }
.management-dialog .dialog-body { padding:20px; }
.management-dialog .dialog-actions { display:flex; justify-content:flex-end; gap:8px; margin-top:18px; }
.management-layout .users-table { table-layout:fixed; min-width:760px; }
.management-layout .users-table .user-identity { width:28%; }
.management-layout .users-table .user-email { display:block; font-size:.8rem; color:var(--text-secondary); white-space:normal; overflow-wrap:anywhere; }
.management-layout .users-table .user-name { font-weight:600; }
.management-layout .users-table .user-access { width:15%; }
.management-layout .users-table .user-scope { width:19%; }
.management-layout .users-table .user-actions { width:90px; text-align:right; }
.management-layout .users-table .badge-status { white-space:normal; }
.management-layout .user-access-controls { display:flex; flex-direction:column; gap:16px; }
.management-layout .user-access-controls form { flex-wrap:wrap !important; }
.management-layout .user-access-controls select { flex:1; }
.management-layout .subscriber-table-scroll { overflow-x:auto; }
.management-layout [data-testid="subscriber-list"] table { min-width:740px; table-layout:fixed; }
.management-layout [data-testid="subscriber-list"] td { overflow-wrap:anywhere; white-space:normal !important; }
.management-layout .component-table { min-width:980px; }
.management-layout .component-table td > .d-flex { flex-wrap:wrap; gap:5px !important; }
.management-layout .component-table .component-name-column { width:18%; }
.management-layout .component-table .component-domain-column { width:16%; }
.management-layout .component-table .component-actions-column { width:27%; }
.management-layout .component-table .form-select { max-width:100%; }
.management-layout .compact-help { margin:0 0 12px; font-size:.8rem; }
.management-layout .compact-help > summary { cursor:pointer; color:var(--text-secondary); padding:6px 0; width:fit-content; }
.management-layout .compact-help > :not(summary) { margin-top:10px; }
.management-layout .audit-table { min-width:800px; table-layout:fixed; background:var(--bg-card); }
.management-layout .audit-table th { font-size:.7rem; color:var(--text-secondary); background:var(--bg-header); }
.management-layout .audit-table th,.management-layout .audit-table td { border-bottom:1px solid var(--border-color); padding:12px 14px; overflow-wrap:anywhere; }
.management-layout .audit-resource,.management-layout .audit-details { min-width:0; max-width:none; }
.management-layout .audit-filter-grid { display:flex; flex-wrap:wrap; gap:10px; }
.management-layout .audit-filter-grid > div:not(.audit-filter-actions) { flex:1 1 145px; }
.management-layout .audit-table .audit-full { white-space:pre-wrap; font-size:.76rem; }
.management-layout .settings-section-nav { display:flex; flex-wrap:wrap; gap:6px; padding:12px 0; margin-bottom:12px; position:sticky; top:4px; z-index:5; background:var(--bg-body,var(--cs-bg)); border-bottom:1px solid var(--border-color); }
.management-layout .settings-section-nav a { padding:6px 10px; font-size:.8rem; color:var(--text-primary); text-decoration:none; border-radius:5px; }
.management-layout .settings-section-nav a:hover { background:var(--sidebar-active-bg); }
.management-layout #manage-settings-form h4 { font-size:1rem; padding-top:12px; }
.management-layout [id^="settings-section-"] { scroll-margin-top:70px; }
.management-layout .settings-save-bar { position:sticky; bottom:0; z-index:4; background:var(--bg-card); padding:14px 18px; border:1px solid var(--border-color); border-radius:8px; }
.management-layout :focus-visible { outline:3px solid var(--cs-green); outline-offset:3px; }
@media(min-width:1800px) { .management-layout .main-content { padding:28px 40px; } }
@media(max-width:768px) { .management-layout .main-content { margin-left:0; padding:76px 14px 20px; } .management-context .owner-badge { margin-left:0; } .management-layout .page-header-v2 { font-size:1.3rem; } }

.management-layout .monitor-table { min-width:1100px; }
.management-layout .monitor-table td { vertical-align:middle; padding:10px; }
.management-layout .users-table td:nth-last-child(2) { white-space:normal !important; }

.management-layout .content-area > .d-flex { flex-wrap:wrap; gap:12px; }
.management-layout .card-body:has(> table) { overflow-x:auto; }
.management-layout .row > * { min-width:0; }
/* Real list actions stay single-line; expanded audit identifiers are readable. */
.management-layout .users-table .user-actions { width:112px; }
.management-layout .users-table .user-actions > .btn { min-width:76px; white-space:nowrap; overflow-wrap:normal; word-break:normal; }
.management-layout .audit-expand { display:block; margin-top:6px; }
.management-layout .audit-resource code { display:block; color:var(--text-secondary); font-size:.72rem; }

.management-layout .audit-metadata { white-space:pre-wrap; overflow-wrap:anywhere; color:var(--text-secondary); font-size:.74rem; margin-top:6px; }

.management-layout .content-area a:not(.btn) { color:var(--ok-text); }
[data-bs-theme="dark"] .management-layout .sidebar-nav .nav-link.active { color:var(--ok-text); }

.management-layout .management-context > * { min-width:0; overflow-wrap:anywhere; max-width:100%; }

.management-layout .component-table-readonly { min-width:720px; }

/* Compact domain directory. Exact setup records live in keyboard-accessible dialogs. */
.management-page-header { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px; margin-bottom:16px; }
.management-page-header .management-toolbar { margin:0; }
.management-info { position:relative; font-size:.83rem; }
.management-info > summary { display:inline-flex; list-style:none; cursor:pointer; color:var(--text-secondary); width:32px; height:32px; align-items:center; justify-content:center; border-radius:5px; }
.management-info > summary::-webkit-details-marker { display:none; }
.management-info > div { display:none; position:absolute; top:100%; left:0; z-index:20; width:min(320px,calc(100vw - 70px)); padding:12px 14px; line-height:1.5; border:1px solid var(--border-color); border-radius:8px; color:var(--text-primary); background:var(--bg-card); box-shadow:0 8px 25px #0002; }
.management-info[open] > div,.management-info:hover > div,.management-info:focus-within > div { display:block; }
.management-layout .domain-table { width:100%; min-width:1000px; table-layout:fixed; }
.management-layout .domain-table th:nth-child(1) { width:23%; }
.management-layout .domain-table th:nth-child(2) { width:26%; }
.management-layout .domain-table th:nth-child(3) { width:140px; }
.management-layout .domain-table th:nth-child(4) { width:88px; }
.management-layout .domain-table th:nth-child(5) { width:304px; }
.management-layout .domain-table td { overflow-wrap:anywhere; line-height:1.45; }
.domain-name,.domain-hostname { display:block; font-size:.85rem; }
.domain-secondary { display:block; font-size:.76rem; color:var(--text-secondary); margin-top:4px; }
.domain-readiness { margin-top:6px; }
.management-layout .domain-table .badge-status { font-size:.65rem; white-space:nowrap; }
.domain-actions { display:flex; align-items:center; gap:6px; flex-wrap:nowrap; }
.management-layout .domain-actions .btn { height:34px; min-width:34px; display:inline-flex; align-items:center; justify-content:center; font-size:.78rem; padding:6px 10px; white-space:nowrap; word-break:normal; overflow-wrap:normal; }
.management-layout .domain-actions .domain-icon-action { width:34px; padding:6px; flex-shrink:0; }
.domain-dns-dialog { font-size:.85rem; }
.domain-dns-section + .domain-dns-section { border-top:1px solid var(--border-color); margin-top:20px; padding-top:20px; }
.domain-dns-section h3 { display:flex; align-items:center; flex-wrap:wrap; gap:8px; font-size:.95rem; margin:0 0 14px; }
.domain-dns-record { margin:0; }
.domain-dns-record > div { display:grid; grid-template-columns:100px minmax(0,1fr); gap:10px; align-items:start; margin-bottom:10px; }
.domain-dns-record dt { color:var(--text-secondary); font-weight:500; padding-top:5px; }
.domain-dns-record dd { margin:0; min-width:0; display:flex; align-items:flex-start; gap:8px; }
.domain-dns-record code { background:var(--bg-header); border:1px solid var(--border-color); border-radius:5px; color:var(--text-primary); padding:6px 8px; font-size:.78rem; overflow-wrap:anywhere; min-width:0; flex:1; user-select:all; }
.domain-dns-record .btn { flex:none; min-width:60px; }
.domain-instructions { color:var(--text-secondary); font-size:.8rem; margin-top:12px; }
.domain-instructions summary { cursor:pointer; width:fit-content; }
.domain-instructions p { margin:8px 0 0; line-height:1.6; overflow-wrap:anywhere; }
.domain-setup-steps { padding-left:20px; margin:0; }
.domain-setup-steps li { padding-left:5px; margin-bottom:16px; }
.domain-setup-steps p { color:var(--text-secondary); font-size:.85rem; margin:5px 0 0; }
.management-empty-state { text-align:center; padding:40px 20px; }
.management-empty-state h3 { font-size:1rem; }
.management-empty-state p { color:var(--text-secondary); }
@media(max-width:480px) { .domain-dns-record > div { grid-template-columns:1fr; gap:3px; } .domain-dns-record dt { padding:0; } .management-info > div { left:auto; right:-100px; } }
.management-dialog .btn { min-height:34px; font-size:.85rem !important; }
.management-dialog .form-control,.management-dialog .form-select { min-height:36px; font-size:.85rem !important; }
.management-layout .management-list-table { width:100%; min-width:820px; table-layout:fixed; }
.management-layout .management-list-table td { overflow-wrap:anywhere; }
.management-row-actions { display:flex; align-items:center; gap:6px; white-space:nowrap; }
.management-row-actions form { margin:0; }
.management-row-actions .btn { min-height:32px; font-size:.8rem; white-space:nowrap; }
.management-layout .organization-table th:first-child { width:25%; }
.management-layout .organization-table th:last-child { width:170px; }
.management-layout .organization-name { font-size:.88rem; margin:0; line-height:1.4; }
.management-layout .management-dialog .row > [class*="col-md-"] { flex:1 1 240px; max-width:100%; }

/* Keep short labels intact and management actions readable in either theme. */
.management-layout .table-v2 th { white-space:nowrap; word-break:normal; }
.management-layout [data-testid="subscriber-list"] .badge-status,
.management-layout [data-testid="subscriber-list"] .subscriber-view-control .btn { white-space:nowrap; overflow-wrap:normal; word-break:normal; }
[data-bs-theme="dark"] .management-layout .btn-outline-secondary { color:#dce3e9; border-color:#87929d; }
[data-bs-theme="dark"] .management-layout .btn-outline-primary { color:#91bdff; border-color:#699ee8; }
[data-bs-theme="dark"] .management-layout .btn-outline-info { color:#78d9ed; border-color:#499bad; }
[data-bs-theme="dark"] .management-layout .btn-outline-danger { color:#ff98a3; border-color:#e0707e; }
[data-bs-theme="dark"] .management-layout .btn-outline-success { color:#82dba5; border-color:#59ac7b; }
[data-bs-theme="dark"] .management-layout .btn[class*="btn-outline-"]:hover { color:#fff; background:rgba(255,255,255,.12); }

/* Populated desktop lists: preserve whole status words and reachable actions. */
.management-layout .component-table .component-name-column { width:16%; }
.management-layout .component-table .component-domain-column { width:17%; }
.management-layout .component-table .component-code-column { width:74px; }
.management-layout .component-table .component-status-column { width:126px; }
.management-layout .component-table .component-events-column { width:70px; }
.management-layout .component-table .component-map-column { width:124px; }
.management-layout .component-table .component-actions-column { width:240px; }
.management-layout .component-table .component-status-label { display:inline-block; white-space:nowrap; overflow-wrap:normal; word-break:normal; }
.management-layout .component-table td,.management-layout .component-table th { padding-left:10px; padding-right:10px; }
.management-layout .organization-table th:first-child { width:23%; }
.management-layout .organization-table th:nth-child(2) { width:23%; }
.management-layout .organization-table th:nth-child(3) { width:100px; }
.management-layout .organization-table th:nth-child(4),.management-layout .organization-table th:nth-child(5) { width:70px; }
.management-layout .organization-table th:nth-child(6) { width:100px; }
.management-layout .organization-table th:last-child { width:160px; }
.management-layout .monitor-table { min-width:1000px; }
.management-layout .monitor-table th:nth-child(6) { width:125px !important; }
.management-layout .monitor-table th:nth-child(8) { width:125px !important; }
.management-layout .monitor-table td,.management-layout .monitor-table th { padding:9px 7px; }
.management-layout .monitor-table td { overflow-wrap:anywhere; }

/* Slack rows and nested page header must shrink before long content wraps. */
.management-layout .management-slack { width:100%; min-width:0; }
.management-layout .management-slack .d-flex > * { min-width:0; }
.management-layout .management-slack code { white-space:normal; overflow-wrap:anywhere; }
@media(max-width:767px) {
  .management-layout .management-slack .d-flex { flex-wrap:wrap; gap:8px; }
  .management-layout .management-slack .card-header-section h4 { overflow-wrap:anywhere; }
}
