/* concierge.css — the Concierge department (spaces.css/membership.css
   precedent: `cg-` prefix, DS tokens only, no raw color literals).
   Company profiles are cards because each is a different shape of record; the
   week and the queue are real <table>s because they ARE tabular — the same
   facts about each row, scanned down a column. */

.cg-shell { border:1px solid var(--cx-border); border-radius:var(--cx-radius-lg); background:var(--cx-surface-1); padding:var(--cx-s5); }
.cg-head { margin-bottom:var(--cx-s4); }
.cg-head h2 { margin:0; font-size:20px; font-weight:650; }
.cg-head p { margin:4px 0 0; color:var(--cx-text-muted); font-size:13px; max-width:44rem; }

.cg-empty, .cg-note { color:var(--cx-text-muted); font-size:13px; }
.cg-error { border:1px solid var(--cx-warn); border-radius:var(--cx-radius-md); background:var(--cx-warn-wash); color:var(--cx-text); padding:var(--cx-s3); font-size:13px; }

/* ---- company cards ------------------------------------------------------ */
.cg-cards { display:grid; grid-template-columns:repeat(auto-fit, minmax(280px,1fr)); gap:var(--cx-s3); }
.cg-card { border:1px solid var(--cx-border); border-radius:var(--cx-radius-md); background:var(--cx-surface-2); padding:var(--cx-s4); display:flex; flex-direction:column; gap:var(--cx-s3); }
.cg-card__hd h3 { margin:0; font-size:16px; font-weight:650; }
.cg-card__one { margin:3px 0 0; font-size:13px; }
.cg-card__meta { margin:4px 0 0; font-size:11px; color:var(--cx-text-muted); }

.cg-facts { margin:0; display:grid; gap:4px; }
.cg-facts > div { display:flex; justify-content:space-between; gap:var(--cx-s2); font-size:12px; }
.cg-facts dt { color:var(--cx-text-muted); margin:0; }
.cg-facts dd { margin:0; font-weight:650; }
.cg-flag { font-size:10px; text-transform:uppercase; letter-spacing:.05em; color:var(--cx-warn); }

.cg-week { border-top:1px solid var(--cx-line-2); padding-top:var(--cx-s3); }
.cg-week h4 { margin:0 0 4px; font-size:11px; font-weight:650; letter-spacing:.06em; text-transform:uppercase; color:var(--cx-text-muted); }
.cg-week p { margin:0; font-size:13px; }
/* A stale week is legible but visibly not this week — it is context, not news. */
.cg-week--stale p { color:var(--cx-text-muted); }
/* The one thing on this page that is a request for action. */
.cg-ask { margin-top:6px !important; font-size:13px; }
.cg-ask strong { color:var(--cx-accent); }
.cg-house { margin:0; font-size:12px; color:var(--cx-text-muted); border-top:1px solid var(--cx-line-2); padding-top:var(--cx-s3); }

/* ---- tables (the week, the queue) --------------------------------------- */
.cg-table { width:100%; border-collapse:collapse; font-size:13px; }
.cg-caption { caption-side:top; text-align:left; color:var(--cx-text-muted); font-size:12px; padding-bottom:var(--cx-s2); }
.cg-table th { text-align:left; font-weight:650; font-size:11px; letter-spacing:.06em; text-transform:uppercase; color:var(--cx-text-muted); padding:6px 10px 6px 0; border-bottom:1px solid var(--cx-border); }
.cg-table td { padding:10px 10px 10px 0; border-bottom:1px solid var(--cx-line-2); vertical-align:top; }
.cg-table tr:last-child td { border-bottom:0; }
.cg-table td small { display:block; color:var(--cx-text-muted); font-size:11px; margin-top:2px; }
/* A company that has asked for something is the row the desk works from. */
.cg-row--ask td:last-child { color:var(--cx-text); font-weight:600; }

.cg-state { display:inline-block; font-size:11px; font-weight:650; padding:2px 7px; border-radius:999px; border:1px solid var(--cx-line-2); color:var(--cx-text-muted); text-transform:capitalize; }
.cg-state--new { color:var(--cx-accent); border-color:var(--cx-accent); }
.cg-state--in_progress { color:var(--cx-warn); border-color:var(--cx-warn); }

/* ---- row → panel -------------------------------------------------------- */
/* The name IS the affordance (membership.css precedent): a real button styled
   as the text it already was. */
.cg-rowlink { border:0; background:none; padding:0; margin:0; font:inherit; color:inherit; text-align:left; cursor:pointer; }
.cg-rowlink:hover, .cg-rowlink:focus-visible { text-decoration:underline; text-underline-offset:2px; }
.cg-rowlink:focus-visible { outline:2px solid var(--cx-accent); outline-offset:2px; border-radius:2px; }

/* ---- the detail panel ---------------------------------------------------- */
.cg-panel { display:grid; gap:var(--cx-s4); font-size:13px; }
.cg-panel__one { margin:0; font-size:14px; }
.cg-panel__chips { margin:0; display:flex; flex-wrap:wrap; gap:6px; align-items:center; }
.cg-chip { display:inline-block; font-size:10px; font-weight:650; letter-spacing:.05em; text-transform:uppercase; color:var(--cx-text-muted); border:1px solid var(--cx-line-2); border-radius:3px; padding:1px 4px; }
.cg-panel__facts { margin:0; display:grid; gap:6px; }
.cg-panel__facts > div { display:flex; justify-content:space-between; gap:var(--cx-s2); }
.cg-panel__facts dt { color:var(--cx-text-muted); margin:0; }
.cg-panel__facts dd { margin:0; font-weight:650; text-align:right; }
.cg-panel__section h3 { margin:0 0 var(--cx-s2); font-size:11px; font-weight:650; letter-spacing:.06em; text-transform:uppercase; color:var(--cx-text-muted); }
.cg-panel__list { list-style:none; margin:0; padding:0; display:grid; gap:6px; }
.cg-panel__list li { display:flex; justify-content:space-between; align-items:baseline; gap:var(--cx-s2); border-bottom:1px solid var(--cx-line-2); padding-bottom:6px; }
.cg-panel__list li:last-child { border-bottom:0; }
.cg-panel__history { list-style:none; margin:0; padding:0; display:grid; gap:var(--cx-s3); }
.cg-panel__history li strong { display:block; font-size:11px; font-weight:650; letter-spacing:.06em; text-transform:uppercase; color:var(--cx-text-muted); margin-bottom:2px; }
.cg-panel__history li p { margin:0; }

@media (max-width:760px) {
  .cg-table thead { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }
  .cg-table td { display:block; border-bottom:0; padding:2px 0; }
  .cg-table tr { display:block; padding:var(--cx-s3) 0; border-bottom:1px solid var(--cx-line-2); }
}
