.dashboard-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin-top:1.5rem;display:grid}.progress-card{background:#fff;border:1px solid #e5e7eb;border-radius:.75rem;padding:1rem;box-shadow:0 1px 2px #0f172a0a}.progress-card h3{color:#475569;margin:0 0 .5rem;font-size:1rem}.progress-card-value{color:#0f172a;margin:0;font-size:1.5rem;font-weight:700}.progress-card-detail{color:#64748b;margin:.35rem 0 0;font-size:.9rem}.progress-track{background:#e2e8f0;border-radius:999px;width:100%;height:.6rem;margin-top:.9rem;overflow:hidden}.progress-fill{border-radius:inherit;background:#334155;height:100%}.intake-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem;margin-top:2rem;display:grid}.intake-grid>section,.intake-section{background:#fff;border:1px solid #e5e7eb;border-radius:.75rem;padding:1rem}.intake-grid h3,.intake-section h3{margin-top:0}.intake-grid button{color:#0f172a;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:.5rem;margin:0 .5rem .5rem 0;padding:.55rem .8rem}.intake-grid button:hover:not(:disabled){background:#f1f5f9}.intake-grid button:disabled{cursor:not-allowed;opacity:.6}.entry-list{gap:.65rem;display:grid}.entry-row{border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;gap:1rem;padding:.7rem 0;display:flex}.entry-row:last-child{border-bottom:0}.entry-detail{color:#64748b;margin-top:.2rem;font-size:.9rem;display:block}.delete-button{flex:none}.muted-text{color:#64748b}.error-text{color:#b91c1c}.food-form{gap:1rem;display:grid}.food-form label{color:#334155;gap:.35rem;font-weight:600;display:grid}.form-row{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.75rem;display:grid}.food-form input,.food-form select,.food-form textarea{color:#0f172a;background:#fff;border:1px solid #cbd5e1;border-radius:.5rem;width:100%;padding:.6rem .7rem}.food-form textarea{resize:vertical}.food-form button[type=submit]{justify-self:start}.food-entry-row{align-items:flex-start}.exercise-edit-card{border-bottom:1px solid #e5e7eb;gap:.8rem;padding:1rem 0;display:grid}.exercise-edit-card label{color:#334155;gap:.35rem;font-weight:600;display:grid}.exercise-edit-card input,.exercise-edit-card select,.exercise-edit-card textarea{color:#0f172a;background:#fff;border:1px solid #cbd5e1;border-radius:.5rem;width:100%;padding:.55rem .65rem}.exercise-edit-card textarea{resize:vertical}.symptoms-section{grid-column:1/-1}.symptom-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem;margin:1rem 0;display:grid}.symptom-field{border:1px solid #e2e8f0;border-radius:.6rem;gap:.35rem;padding:.75rem;display:grid}.symptom-field>span:first-child{color:#334155;font-weight:600}.symptom-field select{background:#fff;border:1px solid #cbd5e1;border-radius:.5rem;width:100%;padding:.55rem .65rem}.symptom-current{color:#64748b;font-size:.85rem}.symptom-notes{color:#334155;gap:.35rem;margin-bottom:1rem;font-weight:600;display:grid}.symptom-notes textarea{resize:vertical;border:1px solid #cbd5e1;border-radius:.5rem;width:100%;padding:.65rem}.period-fields{border:0;gap:.75rem;margin:0 0 1rem;padding:0;display:grid}.period-fields label{gap:.3rem;display:grid}.history-page{gap:1.5rem;display:grid}.history-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.history-header h2{margin-bottom:.25rem}.history-date-navigation{flex-wrap:wrap;align-items:end;gap:.5rem;display:flex}.history-date-navigation label{color:#475569;gap:.3rem;font-size:.9rem;display:grid}.history-page button,.history-page input,.history-page select,.history-page textarea{font:inherit}.history-page button{color:#0f172a;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:.5rem;padding:.55rem .8rem}.history-page button:hover:not(:disabled){background:#f1f5f9}.history-page button:disabled{opacity:.5;cursor:not-allowed}.history-page button.history-primary{color:#fff;background:#0f172a;border-color:#0f172a}.history-page button.history-primary:hover:not(:disabled){background:#334155}.history-date-navigation input,.history-field-grid input,.history-field-grid select,.history-field-grid textarea{color:#0f172a;background:#fff;border:1px solid #cbd5e1;border-radius:.5rem;width:100%;min-width:0;padding:.6rem}.history-tabs{flex-wrap:wrap;gap:.5rem;display:flex}.history-tabs button.active{color:#fff;background:#0f172a;border-color:#0f172a}.history-panel{background:#fff;border:1px solid #e5e7eb;border-radius:.8rem;padding:1.25rem}.history-panel-heading{flex-wrap:wrap;justify-content:space-between;align-items:start;gap:1rem;margin-bottom:1rem;display:flex}.history-panel-heading h3{margin:0}.history-entries{display:grid}.history-entry{border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 0;display:flex}.history-entry:last-child{border-bottom:0}.history-entry-info{gap:.35rem;min-width:0;display:grid}.history-entry-info span{color:#64748b;font-size:.9rem}.history-entry-info p{white-space:pre-wrap;margin:0}.history-actions{flex-wrap:wrap;gap:.5rem;margin-top:.5rem;display:flex}.history-editor{background:#f8fafc;border:1px solid #cbd5e1;border-radius:.7rem;margin-top:1.25rem;padding:1rem}.history-editor h4{margin:0 0 1rem}.history-field-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:1rem;margin-bottom:1rem;display:grid}.history-field-grid label{color:#334155;align-content:start;gap:.35rem;font-weight:600;display:grid}.history-field-grid textarea{resize:vertical}.history-medications{gap:.75rem;margin-top:1rem;display:grid}.history-med-row{border:1px solid #e5e7eb;border-radius:.6rem;align-items:flex-start;gap:.75rem;padding:.75rem;display:flex}.history-med-row input{width:1.2rem;height:1.2rem;margin-top:.15rem}.history-med-row span{gap:.3rem;display:grid}.history-med-row small{color:#64748b}@media (width<=700px){.history-entry{flex-direction:column;align-items:flex-start}.history-field-grid{grid-template-columns:1fr}}.history-main-title{line-height:1.3}.history-summary-list{color:#334155;gap:.35rem;margin:.4rem 0;padding-left:1.35rem;line-height:1.5;display:grid}.history-entry-stacked{flex-direction:column;align-items:stretch}.history-entry-stacked .history-entry-info{width:100%}.history-entry-stacked .history-actions{justify-content:flex-start;gap:.5rem;margin-top:.65rem;display:flex}@media (width<=700px){.history-main-title{overflow-wrap:break-word}}.week-heading{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.5rem;display:flex}.week-heading h2{margin-bottom:.25rem}.week-navigation{flex-wrap:wrap;gap:.5rem;display:flex}.week-navigation button{cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:.5rem;padding:.55rem .75rem}.week-navigation button:disabled{opacity:.5;cursor:not-allowed}.week-summary-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1rem;margin-bottom:1.5rem;display:grid}.week-summary-card{background:#fff;border:1px solid #e5e7eb;border-radius:.75rem;gap:.3rem;padding:1rem;display:grid}.week-summary-card>span{color:#475569;font-size:.9rem}.week-summary-card strong{color:#0f172a;font-size:1.35rem}.week-summary-card small{color:#64748b}.week-table-wrap{background:#fff;border:1px solid #e5e7eb;border-radius:.75rem;overflow-x:auto}.week-table{border-collapse:collapse;width:100%;min-width:900px}.week-table th,.week-table td{text-align:left;vertical-align:top;border-bottom:1px solid #e5e7eb;padding:.8rem}.week-table th{color:#475569;background:#f8fafc;font-size:.85rem}.week-table tbody tr:last-child td{border-bottom:0}.today-row{background:#f8fafc}.today-label,.week-cell-detail{color:#64748b;margin-top:.2rem;font-size:.8rem;display:block}.future-day{color:#94a3b8}@media (width<=700px){.week-heading{flex-direction:column}}.reflection-section{background:#fff;border:1px solid #e5e7eb;border-radius:.75rem;margin-top:1.5rem;padding:1rem}.reflection-heading{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.reflection-heading h3{margin:0 0 .25rem}.reflection-saved-indicator{color:#475569;border:1px solid #cbd5e1;border-radius:999px;flex:none;padding:.3rem .55rem;font-size:.8rem}.reflection-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem;margin-bottom:1rem;display:grid}.reflection-grid label{color:#334155;gap:.4rem;font-weight:600;display:grid}.reflection-grid textarea{color:#0f172a;resize:vertical;background:#fff;border:1px solid #cbd5e1;border-radius:.5rem;width:100%;padding:.65rem}.success-text{color:#166534}@media (width<=700px){.reflection-heading{flex-direction:column}}.week-entry-notes{white-space:pre-wrap;overflow-wrap:anywhere;display:block}.trends-heading{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.5rem;display:flex}.trends-heading h2{margin-bottom:.25rem}.range-selector{flex-wrap:wrap;gap:.5rem;display:flex}.range-selector button{cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:.5rem;padding:.55rem .8rem}.trend-summary-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1rem;margin-bottom:1.5rem;display:grid}.trend-summary-card{background:#fff;border:1px solid #e5e7eb;border-radius:.75rem;gap:.3rem;padding:1rem;display:grid}.trend-summary-card>span{color:#475569;font-size:.9rem}.trend-summary-card strong{color:#0f172a;font-size:1.35rem}.trend-summary-card small{color:#64748b}.trend-chart-grid{grid-template-columns:repeat(auto-fit,minmax(420px,1fr));gap:1rem;display:grid}.trend-chart-card{background:#fff;border:1px solid #e5e7eb;border-radius:.75rem;min-width:0;padding:1rem}.trend-chart-card h3{margin-top:0;margin-bottom:.75rem}.trend-chart-container{width:100%;overflow:hidden}.trend-chart{width:100%;height:auto;display:block}.chart-axis{stroke:#cbd5e1;stroke-width:1px}.chart-line{fill:none;stroke:#334155;stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round}.chart-point{fill:#334155}.chart-goal-line{stroke:#64748b;stroke-width:1.5px;stroke-dasharray:6 5}.chart-goal-label,.chart-date-label{fill:#64748b;font-size:10px}@media (width<=700px){.trends-heading{flex-direction:column}.trend-chart-grid{grid-template-columns:1fr}}.period-trends{margin-bottom:1.5rem}.period-flow-label{text-transform:capitalize}.period-history-grid{grid-template-columns:repeat(auto-fit,minmax(125px,1fr));gap:.5rem;display:grid}.period-history-day{background:#f8fafc;border:1px dashed #94a3b8;border-radius:.5rem;gap:.3rem;padding:.75rem;display:grid}.period-history-day time{font-size:.85rem}.period-day-yes{color:#831843;background:#fce7f3;border:1px solid #be185d}.period-day-no{background:#fff;border:1px solid #cbd5e1}.report-page{gap:1.5rem;display:grid}.report-controls{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.report-controls h2{margin-bottom:.25rem}.report-actions{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;display:flex}.report-actions button,.range-selector button{color:#0f172a;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:.5rem;padding:.55rem .8rem}.range-selector{gap:.4rem;display:flex}.range-selector button.active{color:#fff;background:#0f172a;border-color:#0f172a}.report-header-card,.report-section{background:#fff;border:1px solid #e5e7eb;border-radius:.75rem;padding:1rem}.report-header-card h3,.report-section h3{margin-top:0}.report-profile{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;margin:0;display:grid}.report-profile div{gap:.25rem;display:grid}.report-profile dt{color:#64748b;font-size:.85rem}.report-profile dd{color:#0f172a;margin:0;font-weight:600}.capitalize{text-transform:capitalize}.report-summary-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;display:grid}.report-summary-card{background:#fff;border:1px solid #e5e7eb;border-radius:.75rem;gap:.3rem;padding:1rem;display:grid}.report-summary-card span{color:#475569;font-size:.9rem}.report-summary-card strong{color:#0f172a;font-size:1.35rem}.report-summary-card small{color:#64748b}.report-table-wrap{overflow-x:auto}.report-table{border-collapse:collapse;width:100%}.report-table th,.report-table td{text-align:left;vertical-align:top;border-bottom:1px solid #e5e7eb;padding:.7rem}.report-table th{color:#475569;background:#f8fafc;font-size:.85rem}.report-table tbody tr:last-child td{border-bottom:0}.regimen-table{max-width:800px}.report-note,.report-footer-note{color:#64748b;font-size:.85rem}.report-reflections{gap:1rem;display:grid}.report-reflection{border:1px solid #e5e7eb;border-radius:.65rem;padding:1rem}.report-reflection h4{margin:0 0 1rem}.report-reflection div{margin-top:.75rem}.report-reflection p{white-space:pre-wrap;margin:.25rem 0 0}@media (width<=700px){.report-controls{flex-direction:column}.report-actions{justify-content:flex-start}}@media print{body{background:#fff}.app-header,.report-controls{display:none!important}.app-main{max-width:none!important;padding:0!important}.report-page{gap:1rem}.report-header-card,.report-section,.report-summary-card,.report-reflection{break-inside:avoid;box-shadow:none}.report-table-wrap{overflow:visible}.report-table{font-size:9pt}.report-table th,.report-table td{padding:.35rem}}.period-notes{white-space:pre-wrap;overflow-wrap:anywhere}@media print{.report-table{table-layout:fixed}.report-table th,.report-table td{overflow-wrap:anywhere}}.settings-section{background:#fff;border:1px solid #e5e7eb;border-radius:.75rem;margin-bottom:2rem;padding:1rem}.settings-section h3{margin-top:0}.settings-form,.schedule-form{gap:1rem;max-width:560px;display:grid}.settings-form label,.schedule-form label{color:#334155;gap:.35rem;font-weight:600;display:grid}.settings-form input,.settings-form select,.schedule-form input,.schedule-form select{background:#fff;border:1px solid #cbd5e1;border-radius:.5rem;padding:.6rem .7rem}.settings-form button,.schedule-form button,.schedule-row button{cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:.5rem;width:fit-content;padding:.55rem .8rem}.schedule-list{gap:.5rem;margin-top:1.25rem;display:grid}.schedule-row{border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 0;display:flex}.medication-list{gap:.5rem;display:grid}.medication-row{border-bottom:1px solid #e5e7eb;align-items:flex-start;gap:.75rem;padding:.7rem 0;display:flex}.medication-row input{width:1.15rem;height:1.15rem;margin-top:.2rem}.schedule-edit-card{border-bottom:1px solid #e5e7eb;gap:.8rem;padding:1rem 0;display:grid}.schedule-edit-card label{color:#334155;gap:.35rem;font-weight:600;display:grid}.schedule-edit-card input,.schedule-edit-card select{color:#0f172a;background:#fff;border:1px solid #cbd5e1;border-radius:.5rem;width:100%;padding:.55rem .65rem}.backup-block{background:#f8fafc;border:1px solid #e2e8f0;border-radius:.65rem;max-width:680px;margin-top:1.25rem;padding:1rem}.backup-block h4{margin:0 0 .5rem}.backup-block p{color:#475569}.backup-block button{color:#0f172a;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:.5rem;padding:.55rem .8rem}.backup-block button:hover:not(:disabled){background:#f1f5f9}.backup-block button:disabled{opacity:.55;cursor:not-allowed}.backup-block input[type=file]{max-width:100%;margin:.75rem 0;display:block}.selected-backup-file{overflow-wrap:anywhere;margin:.75rem 0}.restore-confirmation{background:#fff;border:1px solid #e2e8f0;border-radius:.5rem;align-items:flex-start;gap:.65rem;max-width:650px;margin:1rem 0;padding:.8rem;display:flex}.restore-confirmation input{flex:none;margin-top:.2rem}.restore-button{margin-top:.25rem}.app-shell{min-height:100vh}.app-header{background:#fff;border-bottom:1px solid #e5e7eb;padding:1.25rem 2rem}.app-header h1{margin:0 0 1rem;font-size:clamp(1.5rem,3vw,2rem);line-height:1.2}.app-nav{flex-wrap:wrap;gap:.5rem;display:flex}.app-nav a{color:#475569;border-radius:.5rem;padding:.6rem .9rem;font-weight:600;text-decoration:none}.app-nav a:hover{color:#0f172a;background:#f1f5f9}.app-nav a.active{color:#0f172a;background:#e2e8f0}.app-main{width:min(1200px,100% - 2rem);margin:0 auto;padding:2rem 0}@media (width<=640px){.app-header{padding:1rem}.app-nav{gap:.25rem}.app-nav a{padding:.5rem .65rem;font-size:.95rem}.app-main{width:min(100% - 1rem,1200px);padding:1rem 0}}:root{color:#1f2937;font-synthesis:none;text-rendering:optimizelegibility;background:#f8fafc;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{min-width:320px;min-height:100%}body{background:#f8fafc;min-width:320px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}a{color:inherit}.entry-actions{flex-wrap:wrap;gap:.4rem;display:flex}.edit-card{background:#f8fafc;border:1px solid #cbd5e1;border-radius:.65rem;gap:.8rem;margin:.5rem 0;padding:1rem;display:grid}.edit-card label{color:#334155;gap:.35rem;font-weight:600;display:grid}.edit-card input,.edit-card select,.edit-card textarea{color:#0f172a;background:#fff;border:1px solid #cbd5e1;border-radius:.5rem;width:100%;padding:.55rem .65rem}.edit-card textarea{resize:vertical}.entry-actions button{cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:.5rem;padding:.5rem .75rem}.entry-actions button:hover:not(:disabled){background:#f1f5f9}.entry-actions button:disabled{opacity:.6;cursor:not-allowed}.app-shell{min-height:100dvh;padding-bottom:env(safe-area-inset-bottom,0px)}.app-header{padding-top:max(1rem, env(safe-area-inset-top,0px));padding-left:max(1rem, env(safe-area-inset-left,0px));padding-right:max(1rem, env(safe-area-inset-right,0px))}.app-version{white-space:nowrap;font-size:.8rem;font-weight:400}.local-status{padding:.75rem max(1rem, env(safe-area-inset-left,0px)) .75rem max(1rem, env(safe-area-inset-right,0px));color:#475569;background:#f1f5f9;gap:.3rem;font-size:.85rem;display:grid}button,.app-nav a{touch-action:manipulation;min-width:44px;min-height:44px}.app-nav a{align-items:center;display:inline-flex}input:not([type=checkbox]):not([type=radio]),select,textarea{max-width:100%;font-size:max(16px,1rem)}input:not([type=checkbox]):not([type=radio]),select{min-height:44px}input,select,textarea{scroll-margin-block:5rem}fieldset,.app-main>*,.intake-grid>*,.history-panel,.history-entry-info{min-width:0}.period-fields input,.period-fields select,.period-fields textarea{width:100%}p,.history-entry-info{overflow-wrap:anywhere}@media (width<=640px){.intake-grid,.dashboard-grid{grid-template-columns:minmax(0,1fr)}.form-row{flex-wrap:wrap}.form-row>*{min-width:0}.app-main{width:auto;margin-left:max(.5rem, env(safe-area-inset-left,0px));margin-right:max(.5rem, env(safe-area-inset-right,0px))}}@media print{.local-status{display:none}}.report-section,.report-header-card,.report-summary-card,.report-table-wrap,.report-controls,.report-actions{min-width:0}.report-table-wrap{max-width:100%}
