/* Cards: panels, lists and rows, alerts, KPI strips and tiles, summaries, empty states. */
/* ---------- empty state ---------- */
.empty{text-align:center;display:grid;justify-items:center;padding:clamp(32px,5vw,48px) 20px;gap:10px;max-width:none}
.summary{border:1px solid var(--hair-strong);background:var(--paper)}
.summary > div{display:flex;justify-content:space-between;gap:10px;padding:11px 14px;border-bottom:1px solid var(--hair);font-size:var(--fs-body-s)}
.summary > div:last-child{border-bottom:0}
.summary .tot{font-weight:600;background:var(--mint)}
.summary .guarantee{display:block;color:var(--muted)}
/* panels + lists */
.panel{background:var(--paper);border:1px solid var(--hair-strong);min-width:0}
.panel-h{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:13px 16px;border-bottom:1px solid var(--hair)}
.panel-h a{text-decoration:underline;text-underline-offset:3px}
.link-panel{text-decoration:none;display:block}
@media (hover:hover){
  .link-panel:hover{background:var(--mint)}
}
.list{border:1px solid var(--hair-strong);background:var(--paper)}
.panel .list,.list .list{border:0}
.li{display:flex;gap:14px;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--hair);text-decoration:none;color:inherit}
.li:last-child{border-bottom:0}
@media (hover:hover){
  a.li:hover{background:var(--mint)}
}
.alert{background:var(--accent);color:var(--on-accent);border:1px solid var(--on-accent);padding:14px 16px;display:grid;gap:8px}
.kpis{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--hair-strong);background:var(--paper)}
.kpis > *{padding:16px 18px;border-right:1px solid var(--hair);display:block;text-decoration:none;color:inherit}
.kpis > *:last-child{border-right:0}
@media (hover:hover){
  .kpis > a:hover{background:var(--mint)}
}
.kpis b{display:block;font-size:30px;font-weight:500;letter-spacing:-.03em}
.kpis small{font-family:var(--mono);font-size:var(--fs-micro);text-transform:uppercase;color:var(--muted)}
@media (max-width:960px){
  .kpis{grid-template-columns:1fr 1fr}
  .kpis > *:nth-child(2){border-right:0}
  .kpis > *:nth-child(-n+2){border-bottom:1px solid var(--hair)}
}
@media (max-width:600px){
  .li{flex-wrap:wrap}
}
.kpi-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));border-left:1px solid var(--hair-strong);border-top:1px solid var(--hair-strong);background:var(--paper)}
.kpi-tile{padding:16px;border-right:1px solid var(--hair-strong);border-bottom:1px solid var(--hair-strong);text-decoration:none;color:inherit;display:grid;gap:4px}
.kpi-tile b{font-size:var(--fs-h3);font-weight:500;letter-spacing:-.03em}
.kpi-tile small{font-size:var(--fs-caption);color:var(--muted)}
a.kpi-tile[href]:hover{background:var(--mint)}
.plain-list{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.alert.photo-nudge .btn{background:var(--paper)}
/* admin Numbers: groups of exactly 6 tiles (3 x 2; 2 x 3 on phones); .kpi-fill pads a short group and keeps its borders */
.kpi-grid.compact{grid-template-columns:repeat(3,minmax(0,1fr))}
.kpi-grid.compact .kpi-tile{padding:12px 14px;position:relative;align-content:start}
.kpi-fill{background:transparent;pointer-events:none}
.kpi-grid.compact .kpi-tile b{font-size:var(--fs-h4)}
a.kpi-tile:hover .kpi-go{color:var(--ink)}
@media (max-width:600px){
  .kpi-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr))}
  .kpi-grid.compact .kpi-tile b{font-size:var(--fs-h5)}
}
.panel-note{padding:12px 16px;margin:0;border-bottom:1px solid var(--hair)}
.panel-note:last-child{border-bottom:0}
.alert input[type=range]{--fill:var(--on-accent);--rest:rgba(21,20,14,.22);--thumb:var(--on-accent);--thumb-b:var(--on-accent)}
.alert .btn:focus-visible{outline-color:var(--on-accent)}
.empty > *{max-width:46ch;margin-inline:auto}
.empty h3{text-wrap:balance}
.empty p{line-height:1.5;text-wrap:pretty}
.empty .btn,.empty .link{margin-top:6px}
