.filters{display:grid;grid-template-columns:2fr 1fr 1fr;gap:14px;align-items:end;margin-bottom:12px}
.filters input,.filters select,.field input,.field select,.row-grid input,.row-grid select{width:100%;box-sizing:border-box;background:#111611;border:1px solid #3a4636;color:#eee;padding:11px;border-radius:6px;font-size:14px}
.result-count{font-size:12px;color:var(--muted);margin:8px 0 16px}
.exercise-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px}
.exercise-card{all:unset;box-sizing:border-box;cursor:pointer;padding:18px;border:1px solid #35452d;border-radius:9px;background:linear-gradient(145deg,#202c1c,#182016);display:flex;flex-direction:column;gap:10px;min-height:96px}
.exercise-card:hover,.exercise-card:focus-visible{border-color:var(--lime);outline:none}
.exercise-card strong{font-size:16px;line-height:1.25}
.tag-row{display:flex;flex-wrap:wrap;gap:6px}
.tag-video{background:var(--lime);color:#1b2b0e}
.demo-video{display:block;width:100%;max-height:360px;background:#080a09;border-radius:10px;margin:14px 0}
.credits{font-size:11px;color:#9ea996;line-height:1.5;overflow-wrap:anywhere}
.credits a{color:#c4d8b0}
.steps{padding-left:20px;line-height:1.7}
.row-grid{display:grid;grid-template-columns:2.4fr .7fr .7fr .9fr .9fr auto;gap:8px;align-items:end;padding:10px 0;border-bottom:1px solid #293226}
.row-grid label{font-size:11px}
.row-grid.session-row{grid-template-columns:auto 2fr .8fr .7fr .7fr .7fr auto}
.row-grid .check-label{margin:0;min-height:44px}
.row-head{font-weight:700;font-size:15px;overflow-wrap:anywhere;align-self:center}
.row-actions{display:flex;gap:6px;flex-wrap:wrap}
.template-card{padding:18px 0;border-bottom:1px solid #3b4536}
.template-card ol{margin:10px 0 14px;padding-left:20px;line-height:1.7;font-size:14px}
.rest-chip{font-variant-numeric:tabular-nums;font-weight:800;color:var(--lime);min-width:52px;text-align:center}
.meal-block{border:1px solid #313d2c;border-radius:9px;padding:16px;margin:14px 0;background:#141a14}
.meal-block h3{margin:0 0 6px}
.meal-head{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end}
.food-line{display:grid;grid-template-columns:1fr 120px auto;gap:8px;align-items:center;padding:8px 0;border-bottom:1px solid #232c22;font-size:14px}
.food-line input{width:100%;box-sizing:border-box;background:#111611;border:1px solid #3a4636;color:#eee;padding:9px;border-radius:6px}
.search-line{display:grid;grid-template-columns:1fr auto;gap:8px;margin-top:12px}
.search-line input,.pick-line select,.pick-line input{width:100%;box-sizing:border-box;background:#111611;border:1px solid #3a4636;color:#eee;padding:10px;border-radius:6px}
.pick-line{display:grid;grid-template-columns:1fr 110px auto;gap:8px;margin-top:8px}
.totals-table td,.totals-table th,.shopping-table td,.shopping-table th{padding:9px 8px;border-bottom:1px solid #2a3329}
.totals-table td.over{color:#efb294}
.totals-table td.ok{color:var(--lime)}
.inline-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:end;margin:14px 0}
.inline-actions label{min-width:140px}
.status-line{min-height:22px;color:#ceefaf}
.page-links{display:flex;gap:10px;flex-wrap:wrap;margin:6px 0 18px}
.page-links a{color:#c4d8b0}
@media(max-width:720px){
  .filters{grid-template-columns:1fr 1fr}.filters .wide-field{grid-column:1/-1}
  .row-grid,.row-grid.session-row{grid-template-columns:1fr 1fr}.row-grid .row-span{grid-column:1/-1}
  .food-line,.pick-line{grid-template-columns:1fr 100px}.food-line button,.pick-line button{grid-column:1/-1}
  .filters input,.filters select,.row-grid input,.food-line input,.search-line input,.pick-line select,.pick-line input{font-size:16px}
}
@media print{
  body *{visibility:hidden}#shopping-print,#shopping-print *{visibility:visible}
  #shopping-print{position:absolute;left:0;top:0;width:100%;color:#000;background:#fff}
  #shopping-print .no-print{display:none}
}
