/* Platform admin overview + one-cafe page. Tokens only.
   Reuses .stats/.stat, .chart-panel, .rank, .dish-section, .list-row. */

#platform-overview{max-width:1100px;display:flex;flex-direction:column;gap:var(--sp-4)}
#platform-view{max-width:900px;display:flex;flex-direction:column;gap:var(--sp-4)}
.plat-stats{display:grid;grid-template-columns:repeat(5,1fr)}
.plat-stats .stat{min-width:0}
.stat .big.small-big{font-size:var(--fs-lg)}
.plat-grid{margin-top:0}
.plat-grid .chart-panel.wide{grid-column:1 / -1}
.plat-grid .rank{margin-top:2px}

/* cafe rows */
.cafe-row{display:flex;justify-content:space-between;gap:var(--sp-3);align-items:center;color:inherit;text-decoration:none}
.cafe-row:hover{background:var(--surface-2)}
.cafe-row:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}
.cafe-row .list-row-title{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.cafe-usage{margin-top:6px;max-width:420px}
.cafe-usage .meter{margin:4px 0 2px}
.row-note{font-size:var(--fs-xs);font-weight:700;color:var(--mint);white-space:nowrap}
.row-note.amber{color:var(--amber)}
.row-note.red{color:var(--brick)}
.list-row-actions .i{color:var(--muted)}
.hdot{width:9px;height:9px;border-radius:999px;flex-shrink:0;background:var(--mint);display:inline-block}
.hdot.amber{background:var(--amber)}
.hdot.red{background:var(--brick)}
.signups{border-color:var(--amber);border-left:4px solid var(--amber)}

/* issues */
.issue-row.resolved{opacity:.65}
.issue-icon{display:inline-flex;color:var(--muted)}
.issue-title{font-size:var(--fs-sm);color:var(--ink);margin:2px 0}
.issue-q{font-size:var(--fs-xs);color:var(--ink-2);background:var(--surface-2);border-radius:var(--r-sm);
  padding:6px 9px;margin-top:4px;overflow-wrap:anywhere}
.issue-q b{color:var(--muted);margin-right:4px}
.issue-q.reply{background:var(--mint-soft)}
.approval-detail pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:11px;color:var(--ink-2);
  background:var(--surface-2);border-radius:var(--r-sm);padding:8px;margin-top:6px;max-height:220px;overflow:auto}
#platform-issues .list-row{align-items:flex-start}

.contact-lines{display:flex;flex-wrap:wrap;gap:var(--sp-2) var(--sp-4);font-size:var(--fs-sm);margin-bottom:var(--sp-3)}
.contact-lines span{display:inline-flex;align-items:center;gap:6px;color:var(--ink-2)}
.contact-lines .i{color:var(--muted)}
#owner-reset .inline-edit{margin-bottom:6px}
#allowance-input{min-width:230px}

@media (max-width:1100px){
  .plat-stats{grid-template-columns:repeat(3,1fr)}
  .plat-stats .stat{border-bottom:1px solid var(--line)}
  .plat-stats .stat:nth-child(3n){border-right:none}
}
@media (max-width:700px){
  .plat-stats{grid-template-columns:repeat(2,1fr)}
  .plat-stats .stat{padding:12px 14px}
  .plat-stats .stat:nth-child(3n){border-right:1px solid var(--line)}
  .plat-stats .stat:nth-child(2n){border-right:none}
  .plat-stats .stat:last-child{grid-column:1 / -1;border-bottom:none}
  .cafe-row{flex-direction:column;align-items:flex-start}
  .cafe-row .list-row-actions{justify-content:flex-start}
  .cafe-usage{max-width:none}
}

/* AI usage: range + metric switches, the summary line, the per-cafe table. */
.usage-controls{display:flex;gap:var(--sp-2);align-items:center;flex-wrap:wrap}
.range-seg{display:inline-flex;border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden}
.range-seg button{background:transparent;border:none;border-right:1px solid var(--line);padding:4px 10px;
  font-size:var(--fs-xs);font-weight:700;color:var(--muted);cursor:pointer;white-space:nowrap}
.range-seg button:last-child{border-right:none}
.range-seg button:hover{color:var(--ink)}
.range-seg button.active{background:var(--ink);color:var(--surface)}
.usage-custom{display:inline-flex;gap:6px;align-items:center;font-size:var(--fs-xs);color:var(--muted)}
.usage-custom input{padding:3px 6px;font-size:var(--fs-xs)}
.usage-summary{font-size:var(--fs-sm);color:var(--ink);margin-bottom:var(--sp-3);display:flex;gap:8px;
  align-items:baseline;flex-wrap:wrap}
.usage-change{font-size:var(--fs-xs);font-weight:800}
.usage-change.up{color:var(--brick)}
.usage-change.down{color:var(--mint)}
.usage-table-wrap{overflow-x:auto}
.usage-table{width:100%;border-collapse:collapse;font-size:var(--fs-sm)}
.usage-table th{text-align:left;padding:6px 8px;border-bottom:1px solid var(--line)}
.usage-table td{padding:8px;border-bottom:1px solid var(--line);vertical-align:middle}
.usage-table .num{text-align:right;white-space:nowrap}
.usage-table tbody tr{cursor:pointer}
.usage-table tbody tr:hover{background:var(--surface-2)}
.usage-table .bar{display:block;height:4px;margin-top:4px;border-radius:999px;background:var(--surface-2);max-width:220px}
.usage-table .bar span{display:block;height:100%;border-radius:999px;background:var(--chalk)}
.usage-name{font-weight:700}
.sort-head{background:none;border:none;padding:0;font:inherit;font-size:var(--fs-xs);font-weight:800;
  color:var(--muted);cursor:pointer;white-space:nowrap}
.sort-head.on{color:var(--ink)}
.usage-table th.num .sort-head{width:100%;text-align:right}
.usage-pairs{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:var(--sp-3)}
.usage-pairs .hint{width:100%}
#platform-view .dish-section > header{flex-wrap:wrap;gap:var(--sp-2)}
@media (max-width:700px){
  .usage-controls{width:100%}
  .range-seg{width:100%}
  .range-seg button{flex:1;padding:6px 4px}
}
