/* DataCenterB2B v1.42.1 — focused visual/UX hardening.
   Keep this CSP-safe: no inline styles required. */

.section-tight-top { padding-top: 1.5rem; }

/* Dashboard */
.dashboard-identity-card { margin-bottom: 1rem; }
.dashboard-flush { margin: 0; }
.dashboard-subline { margin: .2rem 0 0; }
.dashboard-action-card { border-left: 3px solid #f0a020; }
.dashboard-button-row { margin-top: .6rem; }
.dashboard-recent-title { margin-top: 1.5rem; }
.dashboard-headline { display:flex; align-items:flex-end; justify-content:space-between; gap:1rem; }
.dashboard-wo-row { gap:.75rem; padding:.35rem 0; }
.dashboard-wo-row > a { min-width:0; overflow-wrap:anywhere; }
.dashboard-secondary-card { opacity:.96; }
.dashboard-secondary-grid { margin-top:1rem; }
.dashboard-recent-card { overflow:hidden; }

.profile-progress { display:block; width:100%; height:.65rem; margin:.5rem 0 .7rem; accent-color:var(--accent, #2383e2); }
.interaction-chips { display:flex; flex-wrap:wrap; gap:.4rem; }
.interaction-subhead { margin-top:.85rem; }
.interaction-rule { border-top:1px solid var(--border, rgba(148,163,184,.25)); margin-top:1rem; padding-top:.8rem; }

/* Work Order entry */
.work-order-choice-grid { margin-top:1.25rem; }
.work-order-choice-grid .card { display:flex; flex-direction:column; align-items:flex-start; }
.work-order-choice-grid .card .btn { margin-top:auto; }
.work-order-support-card { margin-top:1rem; }

/* Work Orders: desktop table + dedicated mobile cards. */
.wo-mobile-list,
.partner-mobile-list { display:none; }
.wo-page-head { gap:1rem; }
.wo-role-hint { max-width:72rem; }
.wo-stats { margin-top:1rem; }
.wo-empty-card { margin-top:1rem; }
.wo-desktop-table th:nth-child(3),
.wo-desktop-table td:nth-child(3),
.wo-desktop-table th:nth-child(5),
.wo-desktop-table td:nth-child(5) { min-width:8.5rem; }
.wo-desktop-table th:nth-child(4),
.wo-desktop-table td:nth-child(4) { min-width:6.5rem; white-space:nowrap; }
.wo-desktop-table td:nth-child(4) .chip { white-space:nowrap; word-break:normal; overflow-wrap:normal; }

.wo-mobile-card { display:block; color:inherit; text-decoration:none; border:1px solid var(--border, rgba(148,163,184,.25)); border-radius:.75rem; padding:.8rem; background:var(--card, transparent); }
.wo-mobile-head { display:flex; align-items:center; justify-content:space-between; gap:.75rem; }
.wo-mobile-title { margin:.55rem 0; font-weight:600; line-height:1.35; overflow-wrap:anywhere; }
.wo-mobile-meta { display:flex; flex-wrap:wrap; gap:.4rem .7rem; font-size:.82rem; opacity:.78; }
.wo-mobile-meta span + span::before { content:"·"; margin-right:.7rem; }
.partner-mobile-card { display:grid; gap:.65rem; border:1px solid var(--border, rgba(148,163,184,.25)); border-radius:.75rem; padding:.8rem; background:var(--card, transparent); }
.partner-mobile-card strong { overflow-wrap:anywhere; }
.partner-mobile-card .btn { width:100%; text-align:center; }

/* Company cards: identity must stay readable at every viewport width. */
.provider-card,
.provider-head,
.provider-head strong { min-width: 0; }

.provider-head {
  flex-direction: column;
  align-items: flex-start;
  gap: .45rem;
}

.provider-head strong {
  flex: none;
  width: 100%;
  overflow-wrap: break-word;
  word-break: normal;
}

.provider-head .tag {
  margin-top: 0;
  max-width: 100%;
  white-space: normal;
  overflow-wrap: break-word;
  line-height: 1.25;
}

/* Admin console v1.42.4 candidate — compact hierarchy, mobile-first nav and
   readable data cards instead of squeezed desktop tables. */
.admin-mobile-nav { display:none; }
.admin-page-head { display:flex; align-items:flex-end; justify-content:space-between; gap:1.25rem; margin-bottom:1.5rem; }
.admin-page-subtitle { max-width:46rem; margin:0; }
.admin-page-actions { display:flex; gap:.55rem; flex-wrap:wrap; }
.admin-section-head { display:flex; align-items:flex-end; justify-content:space-between; gap:1rem; }
.admin-section-head h2 { margin-bottom:.15rem; }
.admin-section-head p { margin:0; }
.admin-section-spaced { margin-top:1.5rem; }
.admin-overview-grid { margin-top:.75rem; }
.admin-action-grid { margin-top:.75rem; }
.admin-ops-grid { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:1rem; }
.admin-status-card { min-width:0; }
.admin-card-head { display:flex; justify-content:space-between; align-items:flex-start; gap:1rem; }
.admin-card-head h3 { margin-bottom:.2rem; }
.admin-card-head .eyebrow { margin-bottom:.2rem; }
.admin-version-value { margin:.5rem 0 .2rem; }
.admin-code-note { overflow-wrap:anywhere; }
.admin-metric-grid { margin-top:.75rem; }
.admin-metric-grid .metric { min-width:0; }
.admin-table-wrap { border:1px solid var(--border); border-radius:10px; overflow:hidden; }
.admin-table-wrap .table { margin-top:0; }
.admin-table-wrap .table tr:last-child td { border-bottom:0; }
.admin-email-cell { overflow-wrap:anywhere; word-break:break-word; }
.admin-disclosure { padding:0; overflow:hidden; }
.admin-disclosure > summary { list-style:none; cursor:pointer; display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1rem 1.2rem; font-weight:700; }
.admin-disclosure > summary::-webkit-details-marker { display:none; }
.admin-disclosure > summary::after { content:"+"; color:var(--accent); font-size:1.2rem; margin-left:auto; }
.admin-disclosure[open] > summary::after { content:"−"; }
.admin-disclosure[open] > summary { border-bottom:1px solid var(--border); }
.admin-disclosure-body { padding:1rem 1.2rem; }
.admin-button-row { display:flex; gap:.6rem; flex-wrap:wrap; align-items:center; }
.admin-signout { white-space:nowrap; }

@media (max-width: 820px) {
  .dashboard-headline { align-items:flex-start; flex-direction:column; }
  .dashboard-headline .btn { width:100%; text-align:center; }
  .dashboard-primary-grid { grid-template-columns:minmax(0,1fr); }
  .dashboard-wo-row { align-items:flex-start; flex-direction:column; }
  .work-order-choice-grid { grid-template-columns:minmax(0,1fr); }
  .work-order-choice-grid .card .btn { width:100%; text-align:center; }
  .wo-page-head { align-items:flex-start; flex-direction:column; }
  .wo-page-head .btn { width:100%; text-align:center; }
  .wo-desktop-table,
  .partner-desktop-table { display:none; }
  .wo-mobile-list,
  .partner-mobile-list { display:grid; gap:.65rem; }
  .wo-stats { grid-template-columns:repeat(3,minmax(0,1fr)); gap:.5rem; }
  .wo-stats .card { padding:.7rem; }
  .wo-stats h3 { margin-bottom:.2rem; }
  .wo-stats p { font-size:.78rem; line-height:1.25; }

  .admin-topbar-inner { padding:.5rem .85rem; min-width:0; }
  .admin-topbar .brand { min-width:0; gap:.35rem; }
  .admin-topbar .brand-logo { max-width:185px; height:auto; }
  .admin-tag { flex:0 0 auto; }
  .admin-topbar-secondary,
  .admin-topbar-user { display:none; }
  .admin-topbar-right { gap:.4rem; }
  .admin-signout { padding:.45rem .7rem; }

  .admin-shell { padding:1rem 14px; gap:.8rem; }
  .admin-side { display:none !important; }
  .admin-mobile-nav { display:block; position:relative; z-index:5; border:1px solid var(--border); border-radius:10px; background:var(--surface); overflow:hidden; }
  .admin-mobile-nav > summary { list-style:none; display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.8rem .9rem; cursor:pointer; font-weight:700; }
  .admin-mobile-nav > summary::-webkit-details-marker { display:none; }
  .admin-mobile-nav > summary::after { content:"Menu"; color:var(--accent); font-size:.78rem; font-weight:700; }
  .admin-mobile-nav[open] > summary::after { content:"Close"; }
  .admin-mobile-nav[open] > summary { border-bottom:1px solid var(--border); }
  .admin-mobile-nav-actions { display:grid; grid-template-columns:1fr 1fr; gap:.5rem; padding:.75rem .75rem 0; }
  .admin-mobile-nav-actions a { padding:.65rem .7rem; border:1px solid var(--border); border-radius:8px; text-align:center; color:var(--text); font-weight:600; }
  .admin-mobile-nav-body { display:grid; gap:.85rem; padding:.8rem; max-height:70vh; overflow:auto; }
  .admin-mobile-nav-body .admin-side-group { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.35rem; }
  .admin-mobile-nav-body .admin-side-h { grid-column:1/-1; width:auto; margin:.15rem 0 0; padding:0; }
  .admin-mobile-nav-body .admin-side-group a { padding:.55rem .65rem; border-radius:7px; border:1px solid transparent; color:var(--muted); min-width:0; overflow-wrap:anywhere; }
  .admin-mobile-nav-body .admin-side-group a.active { color:var(--text); border-color:var(--border); background:var(--bg-alt); }

  .admin-page-head { align-items:flex-start; flex-direction:column; margin-bottom:1.1rem; }
  .admin-page-actions { width:100%; display:grid; grid-template-columns:1fr 1fr; }
  .admin-page-actions .btn { text-align:center; }
  .admin-section-head { align-items:flex-start; }
  .admin-overview-grid,
  .admin-action-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:.65rem; }
  .admin-overview-grid .ov-tile,
  .admin-action-grid .ov-tile { padding:1rem; min-height:7.2rem; }
  .admin-overview-grid .ov-n,
  .admin-action-grid .ov-n { font-size:2rem; }
  .admin-overview-grid .ov-l,
  .admin-action-grid .ov-l { font-size:.88rem; line-height:1.25; }
  .admin-ops-grid { grid-template-columns:minmax(0,1fr); }
  .admin-metric-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .admin-metric-grid .metric { padding:.75rem; }
  .admin-button-row { display:grid; grid-template-columns:1fr; }
  .admin-button-row .btn,
  .admin-button-row .btn-link { text-align:center; width:100%; }

  .admin-responsive-table { display:block; width:100%; }
  .admin-responsive-table thead { display:none; }
  .admin-responsive-table tbody { display:grid; gap:.65rem; padding:.65rem; }
  .admin-responsive-table tr { display:grid; gap:.35rem; padding:.75rem; border:1px solid var(--border); border-radius:9px; background:var(--bg-alt); min-width:0; }
  .admin-responsive-table td { display:grid; grid-template-columns:minmax(5.5rem,.38fr) minmax(0,1fr); gap:.75rem; align-items:start; padding:.15rem 0; border:0; min-width:0; overflow-wrap:anywhere; }
  .admin-responsive-table td::before { content:attr(data-label); color:var(--muted); text-transform:uppercase; letter-spacing:.04em; font-size:.7rem; font-weight:700; }
  .admin-responsive-table td[colspan] { display:block; }
  .admin-responsive-table td[colspan]::before { content:none; }
  .admin-table-wrap { overflow:visible; }
}

@media (max-width: 560px) {
  .provider-grid { grid-template-columns: minmax(0, 1fr); }
  .sec-head { align-items: flex-start; gap: .75rem; }
  .wo-stats { grid-template-columns:minmax(0,1fr); }
  .wo-mobile-meta span + span::before { content:""; margin-right:0; }
  .wo-mobile-meta span { flex-basis:100%; }

  .admin-topbar .brand-logo { max-width:160px; }
  .admin-tag { font-size:.62rem; padding:.08rem .3rem; }
  .admin-signout { font-size:.8rem; }
  .admin-overview-grid,
  .admin-action-grid { grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
  .admin-mobile-nav-body .admin-side-group { grid-template-columns:minmax(0,1fr); }
  .admin-mobile-nav-body .admin-side-h { grid-column:1; }
  .admin-responsive-table td { grid-template-columns:minmax(5rem,.42fr) minmax(0,1fr); gap:.5rem; }
  .admin-metric-grid { grid-template-columns:minmax(0,1fr); }
}

/* CSP-safe migrated inline styles — generated; do not re-inline. */
.csp-style-0a0c3536737c { width:100%;height:auto;border-radius:.5rem; }
.csp-style-14b471a90943 { gap:.65rem;flex-wrap:wrap; }
.csp-style-17585c6ab9f5 { border:1px solid rgba(80,160,255,.45); }
.csp-style-21d328fed3b0 { margin-bottom:.75rem; }
.csp-style-5012029ff72c { margin-top:1.25rem; }
.csp-style-5c2e56174784 { margin-top:.8rem; }
.csp-style-63f3e9e43319 { max-width:48rem; }
.csp-style-66e6b652a695 { margin-top:1rem; }
.csp-style-72d729781895 { margin:.6rem 0 1.2rem; }
.csp-style-7a5aab1a7985 { display:inline-flex;gap:.4rem; }
.csp-style-80dfcf918163 { margin-top:1.5rem; }
.csp-style-a5c5edb613ed { margin-bottom:.5rem; }
.csp-style-ab79ea2b8573 { margin:0; }
.csp-style-b1b46ed48316 { margin-bottom:.25rem; }
.csp-style-b8057fd4396b { white-space:pre-line; }
.csp-style-c6ee4318addd { margin:.2rem 0; }
.csp-style-dd574a41bdd9 { margin-top:.75rem; }
.csp-style-f4b411225bd7 { margin:.75rem 0; }
