/* SalesOn portfolio: same components as the client space, with a compact directory and a continuous detail. */
.admin-dashboard { max-width:1540px; margin:0 auto; }
.admin-eyebrow { color:var(--slate); font-size:11px; text-transform:uppercase; letter-spacing:.12em; font-weight:700; margin:0 0 8px; }
.admin-total { font-size:15px; color:var(--slate); white-space:nowrap; }
.admin-toolbar { display:flex; align-items:center; gap:14px; flex-wrap:wrap; margin:24px 0; }
.admin-toolbar .search-field { flex:1; min-width:230px; max-width:470px; }
.admin-toolbar select { min-height:44px; max-width:100%; }
.admin-stages,.admin-anchors { display:flex; gap:8px; flex-wrap:wrap; }
.admin-stages a,.admin-anchors a { display:inline-flex; align-items:center; gap:10px; padding:10px 15px; border:1px solid var(--line); border-radius:999px; font-size:12px; color:var(--slate); text-decoration:none; }
.admin-stages a[aria-current],.admin-stages a:hover,.admin-anchors a:hover { color:#fff; background:#0f1c2e; border-color:#0f1c2e; }
.admin-stages b { font-variant-numeric:tabular-nums; opacity:.8; }
.admin-caption { font-size:12px; color:var(--slate); line-height:1.65; margin:16px 0; }
.admin-clients { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.admin-client { padding:24px; display:flex; flex-direction:column; gap:17px; min-width:0; }
.admin-client-heading { display:flex; align-items:center; gap:13px; min-height:49px; }
.admin-client-heading h2 { font-size:18px; line-height:1.4; margin:0; overflow-wrap:anywhere; }
.admin-client-heading a { text-decoration:none; color:var(--ink); }
.admin-client-heading a:hover { text-decoration:underline; text-underline-offset:4px; }
.admin-monogram { display:grid; place-items:center; flex-shrink:0; width:43px; height:43px; border-radius:14px; background:#edf0f3; color:#253b51; font-weight:700; font-size:20px; }
.admin-client-metrics { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin:4px 0 0; }
.admin-client-metrics dd { margin:0 0 4px; font-size:27px; line-height:1.25; font-weight:650; color:var(--ink); font-variant-numeric:tabular-nums; }
.admin-client-metrics dt { font-size:11px; color:var(--slate); }
.admin-client-counts,.admin-quality { margin:0; font-size:11px; line-height:1.65; color:var(--slate); }
.admin-quality { padding:9px 11px; background:#fff8eb; border-radius:8px; color:#775019; }
.admin-client-foot { margin-top:auto; border-top:1px solid var(--line); padding-top:17px; display:flex; align-items:center; justify-content:space-between; gap:12px; font-size:11px; color:var(--slate); }
.admin-client-foot strong { display:block; margin-top:3px; color:var(--ink); font-size:13px; }
.admin-client-foot a { flex-shrink:0; }
.admin-badges { display:flex; align-items:center; flex-wrap:wrap; gap:10px; margin-top:13px; }
.admin-anchors { margin:0 0 24px; border-bottom:1px solid var(--line); padding-bottom:20px; }
.admin-anchors a { border:0; padding:8px 13px; }
.admin-detail-filters { justify-content:space-between; padding:18px 22px; background:white; border:1px solid var(--line); border-radius:16px; }
.admin-campaign-filter { display:flex; align-items:center; gap:12px; flex-wrap:wrap; min-width:0; }
.admin-campaign-filter label { font-size:12px; font-weight:600; }
.admin-campaign-filter select { min-width:230px; max-width:380px; }
.admin-section { margin-top:36px; scroll-margin-top:24px; }
.admin-section .section-head { margin-bottom:16px; }
.admin-section .kpi-rail { margin-bottom:15px; }
.admin-coverage { margin:18px 0 22px; padding-left:14px; border-left:3px solid #d6dee7; color:var(--slate); font-size:12px; line-height:1.8; }
.admin-coverage p { margin:3px 0; }
.admin-dashboard .chart-card h3 { font-size:16px; margin:0; }
.admin-load { display:flex; justify-content:space-between; align-items:center; gap:16px; padding:24px; font-size:13px; }
.admin-cycle { padding:28px; display:grid; grid-template-columns:minmax(0,1fr) minmax(280px,.8fr); gap:50px; }
.admin-cycle h2 { margin:0 0 12px; }
.admin-cycle p:not(.admin-eyebrow) { font-size:13px; color:var(--slate); line-height:1.8; max-width:530px; }
.admin-cycle form { display:flex; flex-direction:column; gap:17px; }
.admin-cycle .field { margin:0; }
.admin-cycle button { align-self:flex-start; }
.admin-dashboard :is(a,button,input,select):focus-visible { outline:2px solid #122433; outline-offset:4px; }
@media(max-width:1250px) { .admin-clients { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:760px) { .admin-clients { grid-template-columns:1fr; } .admin-cycle { grid-template-columns:1fr; gap:22px; padding:22px; } .admin-load { align-items:flex-start; flex-direction:column; } .admin-toolbar .search-field { min-width:0; flex-basis:100%; max-width:none; } .admin-toolbar { gap:12px; } .admin-campaign-filter select { min-width:0; width:100%; max-width:none; } .admin-campaign-filter { width:100%; } .admin-detail-filters { padding:16px; } .admin-section .section-head { flex-wrap:wrap; gap:12px; } }
/* Administration: the pulse of the accounts, the journal, an account's own page. */
.admin-pulse { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; margin:24px 0; }
.admin-pulse>div { background:var(--surface); border:1px solid var(--line); border-radius:16px; padding:18px 20px; min-width:0; }
.admin-pulse a { display:block; color:inherit; text-decoration:none; }
.admin-pulse a:hover dt { text-decoration:underline; text-underline-offset:3px; }
.admin-pulse dd { margin:0 0 4px; font-size:27px; line-height:1.25; font-weight:650; color:var(--ink); font-variant-numeric:tabular-nums; }
.admin-pulse dt { font-size:12px; color:var(--slate); }
.admin-account-dates { margin-bottom:8px; }
.admin-inline-filters { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.admin-inline-filters select { min-height:40px; }
.admin-users-table .inline-form { display:inline; }
.journal-table td { vertical-align:top; }
.journal-who small,.journal-what small,.admin-users-table small,.journal-table td>small { display:block; }
.journal-what { min-width:260px; }
.journal-what .pill { margin-right:8px; }
.journal-path { font-family:var(--font-mono); font-size:11px; color:var(--slate); margin-top:3px; overflow-wrap:anywhere; }
.journal-refused { color:#b42323; font-size:11px; margin-top:3px; }
@media (max-width:860px) {
  .admin-pulse { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
