.view-toggle{display:inline-flex;border:1px solid var(--border);border-radius:var(--radius-full);overflow:hidden;margin-bottom:.6rem;}
.view-toggle a{padding:.32rem .75rem;font-size:.8rem;background:var(--surface);color:var(--ink-soft);display:inline-flex;}
.view-toggle a.active{background:var(--accent-soft);color:var(--accent);font-weight:600;}

.filter-bar{display:flex;gap:.4rem;flex-wrap:wrap;margin-bottom:.6rem;align-items:center;}
.filter-bar select{border:1px solid var(--border);background:var(--surface);border-radius:var(--radius-sm);padding:.35rem .55rem;font-size:.82rem;color:var(--ink);}
.search-field{display:flex;align-items:center;gap:.35rem;border:1px solid var(--border);background:var(--surface);border-radius:var(--radius-sm);padding:.32rem .6rem;font-size:.82rem;color:var(--ink-soft);flex:1;min-width:180px;}
.search-field input{border:none;outline:none;background:none;width:100%;color:var(--ink);}
.clear-filters{font-size:.78rem;color:var(--ink-soft);text-decoration:underline;background:none;border:none;}

.table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);}
.health-table th{text-align:left;font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-soft);padding:.4rem .6rem;border-bottom:1px solid var(--border);white-space:nowrap;}
.th-inner{display:inline-flex;align-items:center;gap:.3rem;cursor:pointer;background:none;border:none;color:inherit;font:inherit;padding:0;}
.health-table td{padding:.45rem .6rem;border-bottom:1px solid var(--border);font-size:.85rem;vertical-align:top;}
.health-table tr:last-child td{border-bottom:none;}
.health-table tr:hover td{background:var(--surface-2);}
.cell-date{font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--ink-soft);}
.cell-desc{max-width:320px;color:var(--ink-soft);}

.cal-head{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem;}
.cal-head .navbtn{width:28px;height:28px;border-radius:50%;border:1px solid var(--border);background:var(--surface);display:flex;align-items:center;justify-content:center;}
.cal-head h3{font-size:1rem;font-weight:600;text-transform:capitalize;}
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background:var(--border);border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden;}
.cal-dow{background:var(--surface-2);padding:.3rem;text-align:center;font-size:.68rem;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.04em;}
.cal-cell{background:var(--surface);min-height:58px;padding:.3rem;display:flex;flex-direction:column;gap:.15rem;}
.cal-cell.out{background:var(--paper);color:var(--ink-soft);}
.cal-cell .daynum{font-size:.78rem;font-variant-numeric:tabular-nums;color:var(--ink-soft);}
.cal-cell.today .daynum{background:var(--accent);color:var(--accent-contrast);width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;}
.cal-event{display:flex;align-items:center;gap:.3rem;font-size:.66rem;color:var(--ink-soft);}
.cal-event .dot{width:6px;height:6px;border-radius:50%;flex-shrink:0;}
.cal-legend{display:flex;flex-wrap:wrap;gap:.35rem .7rem;margin-top:.6rem;}

@media (max-width:480px){
  .filter-bar{flex-direction:column;align-items:stretch;}
  .filter-bar select{width:100%;}
  .health-table thead{display:none;}
  .health-table,.health-table tbody,.health-table tr,.health-table td{display:block;width:100%;}
  .health-table tr{border-bottom:1px solid var(--border);padding:.6rem 0;}
  .health-table td{border-bottom:none;padding:.15rem .9rem;}
  .health-table td::before{content:attr(data-label);display:block;font-size:.66rem;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-soft);margin-bottom:.1rem;}
  .cal-cell{min-height:44px;}
}
