/* routine tab: adapted from site/public/routine-tracker.css. Light only. */
.rt-wrap{display:flex;flex-direction:column;gap:14px;font-family:var(--body);color:var(--ink)}
.rt-card{background:var(--card);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow);padding:14px 16px;min-width:0}
.rt-h{font-family:var(--display);font-size:15px;font-weight:600;margin:0 0 10px;color:var(--ink);text-transform:lowercase}
.rt-rings-h{margin:0}
.rt-count{font-family:var(--body);font-size:12px;font-weight:600;color:var(--soft);margin-left:4px;font-variant-numeric:tabular-nums}
.rt-hint{font-family:var(--body);font-size:11px;font-weight:400;color:var(--soft);margin-left:6px}
.rt-num,.rt-stat b,.rt-ring-pct,.rt-count{font-variant-numeric:tabular-nums}
.rt-empty{margin:24px 0;color:var(--muted);font-size:14px}

.rt-rings{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}
.rt-ringcard{display:flex;align-items:center;gap:12px}
.rt-ring{position:relative;width:64px;height:64px;flex-shrink:0}
.rt-ring-pct{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;color:var(--ink3)}
.rt-ring-name{font-weight:600;font-size:14px;text-transform:lowercase}
.rt-sub{font-size:12px;color:var(--muted);margin-top:2px}
.rt-sub b{color:var(--ink)}

.rt-agg{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:12px;align-items:start}
.rt-heat{display:flex;flex-direction:column;gap:3px;overflow-x:auto}
.rt-hr{display:flex;gap:3px}
.rt-hc{width:14px;height:14px;border-radius:3px;border:0;padding:0;display:inline-block;flex-shrink:0;background:#f4f0e8}
button.rt-hc{cursor:pointer;transition:filter .15s var(--ease)}
button.rt-hc:hover{filter:brightness(.88)}
.rt-hc-gap{visibility:hidden}
.rt-today{box-shadow:0 0 0 2px var(--gold)}
button.rt-hc:focus-visible,.rt-dot:focus-visible{outline:none;box-shadow:var(--ring)}
.rt-legend{display:flex;align-items:center;gap:3px;margin-top:10px;font-size:11px;color:var(--soft)}
.rt-legend span:first-child{margin-right:3px}.rt-legend span:last-child{margin-left:3px}

.rt-stats{display:flex;flex-direction:column}
.rt-stat{display:flex;align-items:baseline;gap:10px;padding:7px 0;border-bottom:1px dashed var(--rule)}
.rt-stat:last-child{border-bottom:0}
.rt-stat b{font-family:var(--display);font-size:20px;min-width:48px;color:var(--ink)}
.rt-stat span{font-size:12px;color:var(--muted)}

.rt-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
.rt-table{width:100%;border-collapse:collapse;font-size:13px}
.rt-table th,.rt-table td{padding:7px 8px;text-align:left;border-bottom:1px solid var(--rule);white-space:nowrap}
.rt-table thead th{font-size:11px;font-weight:600;color:var(--soft);text-transform:lowercase}
.rt-table tbody tr:last-child th,.rt-table tbody tr:last-child td{border-bottom:0}
.rt-table tbody tr:hover{background:var(--gold-wash)}
.rt-title{font-weight:500;color:var(--ink)}
.rt-dim{color:var(--soft)}
.rt-dots{display:inline-flex;gap:3px}
.rt-dot{width:12px;height:12px;border-radius:50%;border:1px solid var(--line);background:var(--card);padding:0;cursor:pointer;transition:filter .15s var(--ease)}
.rt-dot.on{background:#16a34a;border-color:#16a34a}
.rt-dot:hover{filter:brightness(.88)}
.rt-dot-none{background:#f4f0e8;border-color:#f4f0e8;cursor:default}

@media (max-width:820px){
  .rt-rings,.rt-agg{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){
  .rt-wrap *{transition:none!important;animation:none!important}
}
