:root{--taken:#7daa8a;--taken-bg:#0f1a12;--taken-bdr:#2d4a35;--missed:#aa7d7d;--missed-bg:#1a0f0f;--missed-bdr:#4a2d2d;--unknown:#4e4842;--unknown-bg:#141210;--unknown-bdr:#2a2520;--appt:#8a8a6e;--appt-bg:#181710;--appt-bdr:#3d3a28;--accent-dim:#6a5e56;--bg-card:#0f0e0d;--bg-inset:#0a0908;--text-faint:#3d3630}.page-wrapper{max-width:var(--max-width);margin:0 auto}.med-hero{margin-bottom:2.5rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border)}.med-hero-title{font-family:var(--font-display);font-size:clamp(1.8rem,4vw,2.6rem);font-weight:600;color:var(--text);letter-spacing:-.02em;line-height:1.05;margin-bottom:.4rem}.med-hero-sub{font-size:.875rem;color:var(--text-muted);margin-bottom:1rem}.med-diag-badge{display:inline-block;font-family:var(--font-mono);font-size:.68rem;font-weight:500;background:var(--bg-inset);color:var(--text-muted);border:1px solid var(--border);padding:.2rem .65rem;border-radius:3px;letter-spacing:.03em;margin-right:.5rem;margin-bottom:.5rem}.med-stat-strip{display:flex;gap:0;border:1px solid var(--border);border-radius:4px;overflow:hidden;margin-bottom:2rem;background:var(--bg-card)}.med-stat-cell{flex:1;padding:.75rem 1rem;border-right:1px solid var(--border);text-align:center}.med-stat-cell:last-child{border-right:none}.med-stat-label{font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);margin-bottom:.2rem;font-family:var(--font-body)}.med-stat-value{font-family:var(--font-display);font-size:1.5rem;font-weight:600;line-height:1}.med-stat-value.taken{color:var(--taken)}.med-stat-value.missed{color:var(--missed)}.med-stat-value.rate{color:var(--accent)}.med-stat-value.total{color:var(--text-soft)}.med-adh-bar{background:var(--bg-inset);border:1px solid var(--border);border-radius:3px;padding:.85rem 1.1rem;margin-bottom:2rem}.med-adh-bar-label{font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:.6rem;font-family:var(--font-body)}.med-adh-bar-track{height:8px;background:var(--bg);border-radius:4px;overflow:hidden;display:flex;gap:2px;margin-bottom:.5rem}.med-adh-seg{height:100%;border-radius:3px;transition:flex .3s ease}.med-adh-seg.taken{background:var(--taken);flex:8}.med-adh-seg.missed{background:var(--missed);flex:22}.med-adh-seg.unknown{background:var(--unknown);flex:5}.med-adh-seg.appt{background:var(--appt);flex:2}.med-adh-legend{display:flex;gap:1.2rem;flex-wrap:wrap}.med-adh-legend-item{display:flex;align-items:center;gap:.35rem;font-size:.68rem;color:var(--text-muted)}.med-adh-swatch{width:10px;height:10px;border-radius:2px;border:1px solid;flex-shrink:0}.med-adh-swatch.taken{background:var(--taken);border-color:var(--taken-bdr)}.med-adh-swatch.missed{background:var(--missed);border-color:var(--missed-bdr)}.med-adh-swatch.unknown{background:var(--unknown);border-color:var(--unknown-bdr)}.med-adh-swatch.appt{background:var(--appt);border-color:var(--appt-bdr)}.med-section-title{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);margin-bottom:1rem;display:flex;align-items:center;gap:.6rem;font-family:var(--font-body)}.med-section-title .dot{width:10px;height:3px;border-radius:2px}.med-rx-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:2rem}.med-rx-card{background:var(--bg-card);border:1px solid var(--border);border-radius:4px;padding:1.1rem 1.25rem;position:relative;overflow:hidden}.med-rx-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px}.med-rx-card.rx-1::before{background:var(--accent-dim)}.med-rx-card.rx-2::before{background:#6e7a8a}.med-rx-card-label{font-size:.62rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:.6rem;font-family:var(--font-body)}.med-rx-date{font-family:var(--font-mono);font-size:.62rem;color:var(--text-faint);margin-bottom:.8rem}.med-rx-med-list{display:flex;flex-direction:column;gap:.6rem}.med-rx-med-item{display:grid;grid-template-columns:6px 1fr auto;gap:.6rem;align-items:center;background:var(--bg-inset);border:1px solid var(--border);border-radius:3px;padding:.55rem .75rem;transition:border-color .2s}.med-rx-med-item:hover{border-color:var(--border-strong)}.med-rx-pip{width:6px;height:6px;border-radius:50%}.rx-1 .med-rx-pip{background:var(--accent-dim)}.rx-2 .med-rx-pip{background:#6e7a8a}.med-rx-med-name{font-size:.82rem;font-weight:600;color:var(--text);font-family:var(--font-body)}.med-rx-med-comp{font-size:.6rem;color:var(--text-muted);font-family:var(--font-mono);margin-top:.05rem}.med-rx-med-dose{text-align:right;font-size:.62rem;color:var(--text-muted);line-height:1.4;white-space:nowrap;font-family:var(--font-body)}.med-rx-med-dose strong{font-weight:700;color:var(--text-soft);font-size:.68rem;display:block}.med-cal-section{background:var(--bg-card);border:1px solid var(--border);border-radius:4px;padding:1.4rem 1.5rem;margin-bottom:2rem}.med-cal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.2rem}.med-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}.med-cal-hdr{text-align:center;font-size:.58rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint);padding:.2rem 0;font-family:var(--font-body)}.med-cal-day{aspect-ratio:1;border-radius:3px;border:1.5px solid transparent;display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:.6rem;font-weight:500;cursor:default;transition:transform .12s ease}.med-cal-day:not(.empty):hover{transform:scale(1.2)}.med-cal-day.empty{background:0 0;border-color:transparent}.med-cal-day.inactive{color:var(--text-faint);border-color:transparent}.med-cal-day.taken{background:var(--taken-bg);color:var(--taken);border-color:var(--taken-bdr)}.med-cal-day.missed{background:var(--missed-bg);color:var(--missed);border-color:var(--missed-bdr)}.med-cal-day.unknown{background:var(--unknown-bg);color:var(--unknown);border-color:var(--unknown-bdr)}.med-cal-day.appt{background:var(--appt-bg);color:var(--appt);border-color:var(--appt-bdr)}.med-log-table{width:100%;border-collapse:collapse;font-size:.85rem}.med-log-table th{text-align:left;font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);padding:.4rem .75rem .5rem;border-bottom:1px solid var(--border);font-family:var(--font-body)}.med-log-table td{padding:.6rem .75rem;border-bottom:1px solid var(--border-mid);vertical-align:top;color:var(--text-soft);line-height:1.5}.med-log-table tr:last-child td{border-bottom:none}.med-log-table tr:hover td{background:var(--bg-inset)}.med-log-date{font-family:var(--font-mono);font-size:.72rem;color:var(--accent-dim);white-space:nowrap}.med-status-pill{display:inline-block;font-size:.6rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;padding:.1rem .4rem;border-radius:2px;white-space:nowrap;font-family:var(--font-body)}.med-status-pill.taken{background:var(--taken-bg);color:var(--taken);border:1px solid var(--taken-bdr)}.med-status-pill.missed{background:var(--missed-bg);color:var(--missed);border:1px solid var(--missed-bdr)}.med-status-pill.unknown{background:var(--unknown-bg);color:var(--unknown);border:1px solid var(--unknown-bdr)}.med-status-pill.appt{background:var(--appt-bg);color:var(--appt);border:1px solid var(--appt-bdr)}.med-notes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:.75rem;margin-bottom:2rem}.med-note-card{background:var(--bg-card);border:1px solid var(--border);border-radius:4px;padding:0;overflow:hidden;transition:border-color .2s;position:relative}.med-note-card:hover{border-color:var(--border-strong)}.med-note-card::before{content:'';position:absolute;top:0;left:0;bottom:0;width:3px}.med-note-card[data-status=taken]::before{background:var(--taken)}.med-note-card[data-status=missed]::before{background:var(--missed)}.med-note-card[data-status=unknown]::before{background:var(--unknown)}.med-note-card[data-status=appt]::before{background:var(--appt)}.med-note-header{padding:.75rem 1rem .6rem;border-bottom:1px solid var(--border-mid);display:flex;align-items:baseline;gap:.6rem;flex-wrap:wrap}.med-note-date{font-family:var(--font-mono);font-size:.72rem;color:var(--text-soft);flex-shrink:0}.med-note-status{display:inline-block;font-size:.6rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;padding:.1rem .45rem;border-radius:2px;border:1px solid;white-space:nowrap;font-family:var(--font-body)}.med-note-status.taken{background:var(--taken-bg);color:var(--taken);border-color:var(--taken-bdr)}.med-note-status.missed{background:var(--missed-bg);color:var(--missed);border-color:var(--missed-bdr)}.med-note-status.unknown{background:var(--unknown-bg);color:var(--unknown);border-color:var(--unknown-bdr)}.med-note-status.appt{background:var(--appt-bg);color:var(--appt);border-color:var(--appt-bdr)}.med-note-text{padding:.75rem 1rem;font-size:.82rem;color:var(--text-soft);line-height:1.6;font-family:var(--font-body)}.med-page-nav{margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;gap:1rem}.med-page-nav-link{font-size:.8rem;color:var(--text-muted);transition:color .2s;border-bottom:none;display:flex;align-items:center;gap:.4rem}.med-page-nav-link:hover{color:var(--text);border-bottom:none}.med-page-nav-label{font-size:.62rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-faint);display:block;font-family:var(--font-body)}.med-single{padding:1.5rem clamp(1.25rem,5vw,4rem)}.med-single-header{margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border)}.med-single-meta{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem}.med-single-doctor{font-size:.85rem;color:var(--accent)}.med-single-title{font-family:var(--font-display);font-size:clamp(1.4rem,4vw,2rem);font-weight:600;color:var(--text);line-height:1.2;margin-bottom:.5rem}.med-single-diag{font-size:.95rem;color:var(--text-soft);margin-bottom:1.25rem}.med-single-footer{margin-top:3rem;padding-top:1.5rem;border-top:1px solid var(--border)}.med-single-content table{width:100%;border-collapse:collapse;font-size:.85rem;margin:1rem 0;background:var(--bg-card);border:1px solid var(--border);border-radius:4px;overflow:hidden}.med-single-content table th{text-align:left;font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);padding:.4rem .75rem .5rem;border-bottom:1px solid var(--border);font-family:var(--font-body);background:var(--bg-card)}.med-single-content table td{padding:.6rem .75rem;border-bottom:1px solid var(--border-mid);vertical-align:top;color:var(--text-soft);line-height:1.5;font-family:var(--font-body)}.med-single-content table tr:last-child td{border-bottom:none}.med-single-content table tr:hover td{background:var(--bg-inset)}.med-single-content table td:has(>strong:contains("OK")),.med-single-content table td:has(>strong:contains("Đã uống")){background:var(--taken-bg);color:var(--taken)}.med-single-content .med-status-pill,.med-single-content td strong.OK,.med-single-content td strong.MISS{display:inline-block;font-size:.6rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;padding:.1rem .4rem;border-radius:2px;white-space:nowrap;font-family:var(--font-body)}.med-single-content .med-status-pill.taken,.med-single-content td strong.OK{background:var(--taken-bg);color:var(--taken);border:1px solid var(--taken-bdr)}.med-single-content .med-status-pill.missed,.med-single-content td strong.MISS{background:var(--missed-bg);color:var(--missed);border:1px solid var(--missed-bdr)}.med-single-content .med-status-pill.unknown{background:var(--unknown-bg);color:var(--unknown);border:1px solid var(--unknown-bdr)}.med-single-content .med-status-pill.appt{background:var(--appt-bg);color:var(--appt);border:1px solid var(--appt-bdr)}.med-single-content table td strong.OK{background:var(--taken-bg);color:var(--taken);border:1px solid var(--taken-bdr);padding:.1rem .4rem;border-radius:2px;font-size:.6rem}.med-single-content table td strong.MISS{background:var(--missed-bg);color:var(--missed);border:1px solid var(--missed-bdr);padding:.1rem .4rem;border-radius:2px;font-size:.6rem}.med-single-content table td strong.APPT{background:var(--appt-bg);color:var(--appt);border:1px solid var(--appt-bdr);padding:.1rem .4rem;border-radius:2px;font-size:.6rem}.med-single-content li{margin-left:1.25rem;margin-bottom:.3rem}.med-single-content hr{border:none;border-top:1px solid var(--border-mid);margin:1.5rem 0}.med-charts-row{display:grid;grid-template-columns:3fr 2fr;gap:1rem;margin-bottom:2rem}.med-chart-wrap{position:relative;height:200px}@media(max-width:600px){.med-charts-row{grid-template-columns:1fr}}@media(max-width:600px){.med-rx-grid{grid-template-columns:1fr}.med-stat-strip{flex-wrap:wrap}.med-stat-cell{min-width:50%}}