.calendar{background-color:var(--card-bg);border-radius:12px;padding:1.25rem;box-shadow:0 2px 10px #0000000d}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.calendar-header button{background:none;border:none;font-size:1.2rem;cursor:pointer;padding:.25rem .5rem;color:var(--primary-color)}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;font-weight:500;margin-bottom:.5rem;color:var(--secondary-color)}.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}.calendar-day{aspect-ratio:1;display:flex;flex-direction:column;justify-content:center;align-items:center;cursor:pointer;border-radius:8px;position:relative;transition:all .2s ease}.calendar-day:hover{background-color:var(--hover-color)}.calendar-day.selected{background-color:var(--primary-color);color:#fff;box-shadow:0 2px 5px #3b82f64d}.calendar-day.empty{cursor:default}.calendar-day.has-record .record-indicator{position:absolute;bottom:8px;height:8px;width:8px;background-color:var(--accent-color);border-radius:50%}.calendar-day.selected .record-indicator{background-color:#fff}.calendar-actions{margin-top:1rem;display:flex;justify-content:center}@media (max-width: 768px){.calendar-days{gap:2px}.calendar-day{font-size:.9rem}}.health-chart{background-color:var(--card-bg);border-radius:12px;padding:1.25rem;box-shadow:0 2px 10px #0000000d}.chart-controls{display:flex;margin-bottom:1rem}.chart-btn{background:none;border:1px solid var(--border-color);padding:.5rem 1rem;cursor:pointer;transition:all .2s ease}.chart-btn:first-child{border-radius:8px 0 0 8px}.chart-btn:last-child{border-radius:0 8px 8px 0}.chart-btn.active{background-color:var(--primary-color);color:#fff;border-color:var(--primary-color)}.chart{width:100%;height:auto;overflow:visible}.chart-line{stroke:var(--chart-line);stroke-width:2;fill:none}.chart-line.systolic{stroke:var(--systolic-color)}.chart-line.diastolic{stroke:var(--diastolic-color)}.data-point{fill:var(--weight-color);transition:all .2s ease}.data-point.systolic{fill:var(--systolic-color)}.data-point.diastolic{fill:var(--diastolic-color)}.data-point:hover{r:6}.bp-range-line{stroke:var(--secondary-color);stroke-width:1;stroke-dasharray:2}.chart-label,.date-label,.legend-label{font-size:12px;fill:var(--text-color)}.weight-bar{fill:var(--weight-color);opacity:.3;transition:opacity .2s}.weight-bar:hover{opacity:.5}.weight-label,.systolic-label,.diastolic-label{font-size:10px;font-weight:500}.no-data-message{display:flex;justify-content:center;align-items:center;height:200px;color:var(--secondary-color);font-style:italic}.record-summary{padding:1rem;border-radius:8px;background-color:var(--card-bg);grid-column:6 / span 6}.record-summary h4{color:var(--text-color);font-size:1rem;margin:1rem 0 .5rem}.summary-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;margin-bottom:1rem}.summary-item{display:flex;flex-direction:column}.summary-value{font-size:1.25rem;font-weight:500}.summary-notes{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border-color)}.medication-tracking{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border-color)}.medication-times{display:flex;flex-direction:column;gap:.75rem}.medication-time-item{display:flex;align-items:center}.medication-checkbox{display:flex;align-items:center;position:relative;padding-left:35px;cursor:pointer;-webkit-user-select:none;user-select:none;width:100%}.medication-checkbox input{position:absolute;opacity:0;cursor:pointer;height:0;width:0}.checkmark{position:absolute;left:0;height:24px;width:24px;background-color:var(--bg-color);border:2px solid var(--border-color);border-radius:4px;transition:all .2s}.medication-checkbox:hover input~.checkmark{border-color:var(--primary-color)}.medication-checkbox input:checked~.checkmark{background-color:var(--primary-color);border-color:var(--primary-color)}.checkmark:after{content:"";position:absolute;display:none}.medication-checkbox input:checked~.checkmark:after{display:block}.medication-checkbox .checkmark:after{left:8px;top:4px;width:5px;height:10px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg)}.medication-details{display:flex;flex-direction:column}.medication-time{font-weight:500}.medication-description{font-size:.875rem;color:var(--secondary-color)}.medication-schedule-editor{max-width:800px;margin:0 auto}.medication-schedule-editor h2,.schedule-selector{margin-bottom:1.5rem}.schedule-selector select{width:100%;padding:.5rem;border-radius:4px;border:1px solid var(--border-color);color:var(--text-color);font-size:1rem}.medication-schedule-info{display:flex;justify-content:space-between;margin-bottom:.5rem;font-size:.9rem;color:var(--secondary-color)}.schedule-name{font-weight:700}.schedule-effective-date{font-style:italic}.medication-times-section{margin:1.5rem 0}.medication-times-section h3{margin-bottom:1rem;font-size:1.2rem}.empty-message{color:var(--secondary-color);font-style:italic;margin-bottom:1rem}.medication-time-editor{background-color:var(--hover-color);border-radius:8px;padding:1rem;margin-bottom:1rem}.time-editor-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.time-editor-header h4{margin:0;font-size:1rem}.btn-icon{background:none;border:none;color:var(--secondary-color);cursor:pointer;font-size:1.2rem;padding:.25rem .5rem;border-radius:4px}.btn-icon:hover{background-color:#0000000d;color:var(--text-color)}.time-editor-fields{display:grid;grid-template-columns:1fr 2fr;gap:1rem}@media (max-width: 600px){.time-editor-fields{grid-template-columns:1fr}}.theme-toggle{background:none;border:none;cursor:pointer;color:var(--text-color);display:flex;align-items:center;justify-content:center;padding:.5rem;border-radius:50%;transition:background-color .2s}.theme-icon{width:24px;height:24px}[data-theme=dark] .theme-icon{filter:invert(1)}.header-actions{display:flex;align-items:center;gap:16px}.profile-selector{position:relative}.profile-button{display:flex;align-items:center;gap:8px;background-color:var(--bg-color);border:1px solid var(--border-color);border-radius:20px;padding:8px 16px;cursor:pointer;transition:all .2s ease;color:var(--text-color);box-shadow:0 1px 3px #0000000d}.profile-button:hover{background-color:var(--hover-bg);transform:translateY(-1px);box-shadow:0 2px 5px #00000014}.profile-avatar{font-size:1.5rem;line-height:1}.profile-name{font-size:.9rem;font-weight:500}.profile-dropdown{position:absolute;top:100%;right:0;margin-top:8px;background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 4px 12px #0000001a;z-index:100;min-width:180px;overflow:hidden;animation:dropdown-appear .2s ease}.profile-option{display:flex;align-items:center;gap:8px;width:100%;padding:10px 16px;border:none;background:none;text-align:left;cursor:pointer;transition:background-color .2s;color:var(--text-color)}.profile-option:hover{background-color:var(--hover-bg)}.profile-option.active{background-color:#3b82f61a;font-weight:600}@keyframes dropdown-appear{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.login-screen{display:flex;justify-content:center;align-items:center;min-height:100vh;background-color:#f5f5f5}.login-container{background-color:#fff;border-radius:8px;box-shadow:0 4px 12px #0000001a;padding:2rem;width:100%;max-width:400px;text-align:center}.login-container h1{margin-bottom:1rem;color:#333}.login-container p{margin-bottom:2rem;color:#666}.login-button{background-color:#06c;color:#fff;border:none;border-radius:4px;padding:12px 24px;font-size:16px;cursor:pointer;transition:background-color .2s}.login-button:hover{background-color:#05a}#root{max-width:1280px;margin:0 auto;padding:2rem;text-align:center}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion: no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em}.read-the-docs{color:#888}:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;--bg-color: #f8fafc;--text-color: #334155;--primary-color: #3b82f6;--secondary-color: #64748b;--border-color: #e2e8f0;--card-bg: #ffffff;--hover-color: #f1f5f9;--chart-line: #3b82f6;--weight-color: #6366f1;--systolic-color: #ef4444;--diastolic-color: #10b981;--accent-color: #8b5cf6;--success-color: #22c55e;--warning-color: #f59e0b;--hover-bg: #e2e8f0;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}[data-theme=dark]{--bg-color: #0f172a;--text-color: #e2e8f0;--primary-color: #60a5fa;--secondary-color: #94a3b8;--border-color: #334155;--card-bg: #1e293b;--hover-color: #334155;--chart-line: #60a5fa;--weight-color: #818cf8;--systolic-color: #f87171;--diastolic-color: #34d399;--accent-color: #a78bfa;--hover-bg: #2d3748;--success-color: #4ade80;--warning-color: #fbbf24}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-color);color:var(--text-color);transition:background-color .3s,color .3s}.container{max-width:1200px;margin:0 auto;padding:1rem}.app-header{display:flex;flex-direction:column;background-color:var(--card-bg);border-bottom:1px solid var(--border-color);margin-bottom:1rem;box-shadow:0 1px 3px #0000000d}.header-content{display:flex;justify-content:space-between;align-items:center;padding:1rem}.main-nav{border-top:1px solid var(--border-color)}.main-nav ul{display:flex;list-style:none;padding:0;margin:0}.main-nav li{margin:0}.main-nav a{display:block;padding:.75rem 1rem;color:var(--text-color);text-decoration:none;border-bottom:3px solid transparent;transition:all .2s ease}.main-nav a:hover{background-color:var(--hover-color)}.main-nav a.active{border-bottom-color:var(--primary-color);font-weight:500;color:var(--primary-color)}@media (max-width: 768px){.main-nav ul{flex-direction:column}.main-nav a{border-bottom:none;border-left:3px solid transparent}.main-nav a.active{border-left-color:var(--primary-color);border-bottom:none}}h1,h2,h3{margin-bottom:1rem;color:var(--text-color)}.dashboard-layout{display:grid;grid-template-columns:repeat(12,1fr);gap:20px}.dashboard-main{grid-column:1 / span 6;display:flex;flex-direction:column;gap:20px}.dashboard-record-summary{display:flex;flex-direction:column;grid-column:7 / span 6}.calendar-section{margin-bottom:20px}.chart-section{flex-grow:1}.dashboard-sidebar{grid-column:2 / span 6;background-color:var(--card-bg);border-radius:12px;padding:16px;box-shadow:0 2px 10px #0000000d}.no-record{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px;text-align:center}.future-date-message{padding:20px;text-align:center;color:var(--secondary-color)}.overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#0009;display:flex;justify-content:center;align-items:center;z-index:1000;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.overlay-content{background-color:var(--card-bg);border-radius:12px;padding:24px;width:90%;max-width:600px;max-height:90vh;overflow-y:auto;position:relative;box-shadow:0 10px 25px #0000001a}.close-button{position:absolute;top:12px;right:12px;background:none;border:none;font-size:24px;cursor:pointer;color:var(--secondary-color);transition:color .2s}.close-button:hover{color:var(--text-color)}.btn-primary{background-color:var(--primary-color);color:#fff;border:none;padding:.6rem 1.2rem;border-radius:8px;cursor:pointer;text-decoration:none;display:inline-block;font-weight:500;transition:all .2s ease;box-shadow:0 2px 5px #3b82f64d}.btn-primary:hover{background-color:var(--primary-color);filter:brightness(1.1);transform:translateY(-1px)}.btn-secondary{background-color:var(--secondary-color);color:#fff;border:none;padding:.6rem 1.2rem;border-radius:8px;cursor:pointer;margin-left:.5rem;font-weight:500;transition:all .2s ease}.record-entry{max-width:600px;margin:0 auto;background-color:var(--card-bg);border-radius:12px;padding:1.5rem;box-shadow:0 2px 10px #0000000d}.form-group{margin-bottom:1.25rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:var(--text-color)}.form-group input,.form-group textarea{width:100%;padding:.75rem;border:1px solid var(--border-color);border-radius:8px;background-color:var(--bg-color);color:var(--text-color);transition:border-color .2s,box-shadow .2s}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px #3b82f633}.form-group textarea{min-height:120px;resize:vertical}.form-actions{display:flex;justify-content:flex-end;margin-top:1.5rem;gap:.75rem}.record-summary{padding:1rem;border-radius:8px;background-color:var(--card-bg)}.record-summary h3{color:var(--text-color);font-size:1.25rem;margin-bottom:1rem}.summary-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:1rem;margin-bottom:1rem}.summary-item{display:flex;flex-direction:column;padding:.75rem;background-color:var(--bg-color);border-radius:8px;box-shadow:0 1px 3px #0000000d}.summary-label{font-size:.875rem;color:var(--secondary-color);margin-bottom:.25rem}.summary-value{font-size:1.25rem;font-weight:600;color:var(--text-color)}.summary-notes{margin-top:1rem;padding:1rem;background-color:var(--bg-color);border-radius:8px}.summary-notes h4{font-size:1rem;margin-bottom:.5rem;color:var(--secondary-color)}.summary-notes p{color:var(--text-color);line-height:1.6}.summary-actions{margin-top:1.5rem;display:flex;justify-content:flex-end}.record-summary.empty{text-align:center;padding:2rem}.record-summary.empty h3{color:var(--secondary-color)}.record-summary.empty p{color:var(--secondary-color);margin-bottom:1.5rem}.theme-toggle{background:none;border:none;cursor:pointer;color:var(--text-color);display:flex;align-items:center;justify-content:center;font-size:1.25rem;padding:.5rem;border-radius:50%;transition:background-color .2s}.theme-toggle:hover{background-color:var(--hover-color)}@media (max-width: 768px){.dashboard-layout{grid-template-columns:1fr}.overlay-content{width:95%;padding:1rem}.summary-grid{grid-template-columns:1fr}}.dashboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.medication-settings-btn{display:flex;align-items:center;gap:.5rem}.medication-settings-btn:before{content:"💊";font-size:1.2em}
