/* Shared dashboard surface system, inspired by TailAdmin's cards and forms. */
:root{--panel-radius:12px;--panel-shadow:0 1px 2px #14213d04;--panel-muted:var(--dim)}
#overviewPanel{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}
#overviewPanel>*{min-width:0;grid-column:1/-1;margin-block:0}
#dashboard-daily:checked ~ #fitness-app #nutrition{grid-column:1;margin:0;height:100%}
#dashboard-daily:checked ~ #fitness-app #mealPanel{grid-column:2;margin:0;height:100%}
#fitness-app .overview-heading,#fitness-app .overview-metrics{margin:0}
#fitness-app .overview-metrics{gap:16px}.overview-card{border-radius:var(--panel-radius);box-shadow:var(--panel-shadow);min-height:150px;justify-content:center}.overview-macros .overview-detail:empty{display:none}.overview-card h3 sup{font-size:10px;color:var(--dim);margin-left:2px;vertical-align:top}
#fitness-app .section,#overviewPanel>details{border-radius:var(--panel-radius);box-shadow:var(--panel-shadow)}
#dashboard-daily:checked ~ #fitness-app .section,#dashboard-weekly:checked ~ #fitness-app .section,#dashboard-weekly:checked ~ #fitness-app #dietTrends,#dashboard-weekly:checked ~ #fitness-app #exerciseTrends{margin:0}
#fitness-app .panel-heading{gap:10px;margin-bottom:18px}#fitness-app .panel-heading small{font-size:12px;color:var(--dim)}
#fitness-app .nutrition-header{padding:0 0 14px;margin:0;border-bottom:1px solid var(--line)}
#fitness-app .nutrition-header h2,#fitness-app #mealPanel>.row h2{font-size:16px;line-height:1.4}
#fitness-app #mealPanel>.row{padding:0 0 14px;margin:0;border-bottom:1px solid var(--line)}
#fitness-app .metric-header{padding-top:14px;padding-bottom:5px}#fitness-app .metric-header,#fitness-app .metric-row{grid-template-columns:minmax(78px,1fr) 125px 80px 42px;gap:9px}
#fitness-app .metric-row{min-height:49px;padding:8px 0;font-size:13px}.metric-name .nutri-track{height:4px;margin:7px 0 0}.metric-amount,.metric-remaining,.metric-percent{white-space:nowrap}.metric-percent{font-size:12px;color:var(--dim)}.metric-name strong{font-weight:550}.metric-amount small,.metric-remaining small{font-size:10px}
#fitness-app .meal-tabs{margin:14px 0 0}#fitness-app #mealPanel [role=tabpanel]>.metric-header{padding-top:12px}
.mealentry{border-color:var(--line);padding:13px 0}.mealentry strong{font-size:13px;font-weight:550}.mealentry .muted{font-size:11px;line-height:1.6;margin-top:3px}.mealentry.row{flex-wrap:nowrap;gap:12px}.mealentry.row>div{min-width:0}.mealentry .entry-edit{flex:none}
#fitness-app #mealPanel>p.muted{font-size:11px;line-height:1.6;padding-top:12px;margin:0;color:var(--dim)}
.daily-log-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:24px}.log-column{min-width:0}.log-column>h3{font-size:13px;margin:0 0 14px;color:var(--dim);font-weight:500}.activity-column{border-left:1px solid var(--line);padding-left:24px}
#activitylog>.row{align-items:flex-start;gap:10px;flex-wrap:nowrap}#activitylog>.row>div{min-width:0}.entrytitle{font-size:13px;font-weight:550}#activitylog .entrytitle{display:block}#activitylog small{font-size:10px}#activitylog .row>div>div{font-size:11px;color:var(--dim);line-height:1.6;margin-top:4px}#activitylog .row>div>a{font-size:11px;text-underline-offset:3px}
#fitness-app .entry-edit{display:inline-flex;align-items:center;justify-content:center;gap:5px;border:1px solid var(--line);background:var(--panel);border-radius:7px;min-height:32px;padding:6px 9px;font-size:11px;white-space:nowrap;color:var(--dim)}#fitness-app .entry-edit:hover{color:var(--ink);background:var(--soft)}
#fitness-app .tablewrap{width:100%;max-width:100%;overflow:auto;border:1px solid var(--line);border-radius:10px;overscroll-behavior-inline:contain}#fitness-app .tablewrap:empty{border:0}#fitness-app table{border-spacing:0;border-collapse:collapse;width:100%;font-size:12px}#fitness-app th{background:var(--muted-surface);font-size:10px;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;padding:11px 12px;color:var(--dim)}#fitness-app td{padding:12px;font-size:12px;border-color:var(--line);line-height:1.5}#fitness-app td:first-child,#fitness-app th:first-child{padding-left:12px}#fitness-app tr:last-child td{border-bottom:0}#fitness-app tbody tr:hover{background:color-mix(in srgb,var(--soft) 40%,transparent)}#fitness-app td.num{white-space:nowrap}.entrynote{font-size:11px;line-height:1.6}
#foodlog td:first-child{font-size:11px;color:var(--dim);white-space:nowrap}#foodlog td:last-child{width:60px}#foodlog .entrytitle{font-size:12px}#foodlog .empty{margin:0}
#fitness-app .empty{padding:22px 16px;margin:12px 0 0;background:var(--muted-surface);border:1px dashed var(--line);border-radius:9px;text-align:center;color:var(--dim);font-size:12px;line-height:1.6}
#overviewPanel .weekly-controls{margin:0;padding:0;gap:12px}#overviewPanel #trendRangeLabel{font-size:11px;color:var(--dim);font-weight:500}
#fitness-app .trend-grid{gap:14px;margin-top:16px}#fitness-app .trend-chart{border:1px solid var(--line);border-radius:10px;padding:16px;background:var(--panel);min-width:0}#fitness-app .trend-chart>.row{margin-bottom:8px;align-items:center}#fitness-app .trend-chart h3{font-size:13px;font-weight:550}#fitness-app .trend-chart>.row>small{font-size:10px;padding:2px 6px;border-radius:5px;background:var(--soft);color:var(--dim)}.trend-chart svg{max-height:230px}.chart-legend{font-size:10px;gap:7px 12px;line-height:1.6}.chart-legend span{display:inline-flex;align-items:center}.chart-legend i{height:7px;width:7px;margin-right:5px}.chart-data summary{min-height:36px}
#overviewPanel details>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;list-style:none;min-height:32px;font-size:13px;font-weight:550;cursor:pointer;touch-action:manipulation}#overviewPanel details>summary::-webkit-details-marker{display:none}#overviewPanel details>summary::after{content:'';height:7px;width:7px;border:solid var(--dim);border-width:0 1.5px 1.5px 0;transform:rotate(45deg);flex:none;margin:0 3px 3px 8px}#overviewPanel details[open]>summary::after{transform:rotate(225deg);margin-top:5px}#overviewPanel details>summary:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:4px}#overviewPanel details[open]>summary{margin-bottom:12px}#overviewPanel .chart-data>summary{font-size:11px;color:var(--dim);font-weight:400;min-height:32px}#overviewPanel .calculation-note{border:0;border-top:1px solid var(--line);margin-top:16px;padding-top:8px;background:none}#overviewPanel .calculation-note>summary{font-size:11px;font-weight:400;color:var(--dim)}#overviewPanel .calculation-note p{font-size:11px;line-height:1.7;margin:0 0 6px}
#fitness-app #exerciseTrends>h3{margin-top:24px;margin-bottom:12px;font-size:14px}#fitness-app #exerciseTrends>details:not(.calculation-note){border-top:1px solid var(--line);padding-top:12px;margin-top:16px}.chart-data .tablewrap{margin-top:8px}#defaults table,#comparison table{min-width:600px}.sourceurls{line-height:1.6;margin-top:16px}
#navigationMenu .menu-content{padding:6px;box-shadow:0 10px 36px #0002}#navigationMenu button{min-height:44px;padding:10px 12px;font-size:13px;line-height:1.4}.menu-content button:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
/* All dialogs use the same header, fields, actions, and backdrop. */
dialog{width:min(640px,calc(100vw - 32px));padding:24px;border-radius:14px;box-shadow:0 24px 80px #0003}dialog h2{font-size:18px;letter-spacing:-.3px;margin:0}dialog h3{font-size:14px;font-weight:550}dialog label{font-size:12px;font-weight:500;gap:7px}dialog input,dialog select,dialog textarea{min-height:44px;padding:10px 12px;font-size:14px;border:1px solid var(--line);background-color:var(--panel);color:var(--ink);box-shadow:0 1px 2px #00000003}dialog select{padding-right:38px}dialog input:focus-visible,dialog select:focus-visible,dialog textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}dialog textarea{min-height:88px;resize:vertical}dialog .modal-heading,#editForm>.row:first-child{padding-bottom:16px;border-bottom:1px solid var(--line);margin-bottom:18px;align-items:center}dialog .modal-close{box-shadow:none;margin:-7px -8px -7px auto}dialog .formgrid{gap:16px;margin:16px 0 20px}dialog .formgrid small{font-size:11px;line-height:1.5}.modal-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:18px;margin-top:20px;border-top:1px solid var(--line)}.modal-actions>button{min-height:42px;border-radius:8px;font-size:13px}dialog .primary{padding:9px 20px;min-width:78px}#deleteEntry{border-color:transparent;background:transparent}.backup-action{margin-top:20px}.backup-action+.backup-action{padding-top:20px}.backup-action h3{font-size:14px}.backup-action p{font-size:12px;line-height:1.6}dialog input[type=file]{width:100%;font-size:12px;padding:8px}dialog input[type=file]::file-selector-button{border:0;border-radius:6px;padding:7px 10px;margin-right:10px;background:var(--soft);color:var(--ink);font:inherit;cursor:pointer}.restore-options label{margin-top:8px;border-radius:9px;min-height:48px;background:var(--panel)}.restore-options label:has(:checked){background:var(--soft)}.restore-options input{padding:0;min-height:18px;box-shadow:none}dialog .calculation-note{grid-column:1/-1;border:1px solid var(--line);border-radius:8px;padding:8px 12px;margin:0}dialog .calculation-note summary{font-size:11px;color:var(--dim);font-weight:400;cursor:pointer;min-height:26px;line-height:26px}dialog .calculation-note p{font-size:11px;line-height:1.6;margin:8px 0 0}.budget-heading h3{margin:0!important}.budget-heading{margin-top:6px}.budgettable{width:100%;border-collapse:collapse;min-width:0!important}.budgettable th{padding:8px;font-size:10px;font-weight:500;color:var(--dim);background:var(--soft);text-transform:capitalize}.budgettable td{padding:8px;border-bottom:1px solid var(--line);font-size:12px}#nutritionForm .budgettable input{width:100%;min-width:0;max-width:90px;font-size:13px;min-height:38px;padding:8px 6px}.budgettable td:first-child{font-weight:500}.budgettable tr:last-child td{border-bottom:0}#nutritionFields>.tablewrap{border:1px solid var(--line);border-radius:8px;overflow:auto;max-width:100%}#nutritionForm .modal-actions{margin-top:16px}#nutritionForm .modal-actions button{margin:0}#nutritionError:empty,#error:empty{display:none}
@media(max-width:1000px){#dashboard-daily:checked ~ #fitness-app #nutrition,#dashboard-daily:checked ~ #fitness-app #mealPanel{grid-column:1/-1}.daily-log-grid{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)}.metric-header,.metric-row{grid-template-columns:minmax(78px,1fr) 125px 80px 42px}}
@media(max-width:600px){
 #overviewPanel{gap:14px;grid-template-columns:minmax(0,1fr)}#overviewPanel>*{grid-column:1!important}#fitness-app .overview-metrics{gap:10px}.overview-card{min-height:155px}.daily-log-grid{grid-template-columns:minmax(0,1fr);gap:20px}.activity-column{border-left:0;border-top:1px solid var(--line);padding:18px 0 0}#fitness-app .panel-heading{margin-bottom:16px;gap:5px}#fitness-app .panel-heading small{font-size:10px}.log-column>h3{font-size:12px;margin-bottom:10px}
 #fitness-app .metric-header,#fitness-app .metric-row{grid-template-columns:minmax(60px,1fr) 96px 59px 29px;gap:5px}#fitness-app .metric-row{min-height:46px;font-size:12px}#fitness-app .metric-header{font-size:9px}.metric-percent{font-size:10px}.metric-amount small,.metric-remaining small{font-size:9px}#fitness-app .nutrition-header,#fitness-app #mealPanel>.row{padding-bottom:12px}.mealentry.row{gap:8px}.mealentry .muted{font-size:10px}#fitness-app .entry-edit{min-height:44px;min-width:44px;padding:10px}#fitness-app .entry-edit>span{display:none}#fitness-app #foodlog td{padding:10px 7px}#foodlog td:last-child{width:50px}.entrytitle,#foodlog .entrytitle{font-size:12px}#foodlog table{min-width:0}.entrynote{font-size:10px}#fitness-app .trend-grid{gap:12px;margin-top:12px}#fitness-app .trend-chart{padding:12px;border-radius:9px}.trend-chart svg text{font-size:14px}.chart-legend{font-size:9px}.chart-legend span{display:inline}.chart-data .tablewrap table{min-width:360px}#overviewPanel details>summary{min-height:44px;font-size:12px}#overviewPanel .chart-data>summary,#overviewPanel .calculation-note>summary{min-height:44px}#weightlog table,#weeks table,#weightweeks table{min-width:400px}.restore-options label{font-size:12px}
 dialog{width:calc(100vw - 24px);max-height:calc(100dvh - 24px);padding:18px}dialog input,dialog select,dialog textarea{font-size:16px;min-height:44px}dialog label{font-size:12px}dialog .modal-actions{gap:8px}dialog .modal-actions>button{min-height:44px;font-size:12px;padding:9px 11px}dialog .modal-heading,#editForm>.row:first-child{margin-bottom:16px;padding-bottom:14px}#nutritionFields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}#nutritionFields>.span2{grid-column:1/-1}#nutritionFields>label:first-child{grid-column:1/-1}#nutritionFields>.tablewrap{border:0;border-radius:0;overflow:visible}.budgettable,.budgettable tbody{display:block}.budgettable thead{display:none}.budgettable tr{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;border:1px solid var(--line);border-radius:9px;padding:12px;margin-top:10px}.budgettable tr:first-child{margin-top:0}.budgettable td{display:block;padding:0;border:0;min-width:0}.budgettable td:first-child{grid-column:1/-1;font-size:12px;padding-bottom:3px}.budgettable td[data-label]::before{content:attr(data-label);display:block;text-transform:capitalize;font-size:9px;color:var(--dim);margin-bottom:5px}#nutritionForm .budgettable input{width:100%;max-width:none;min-width:0;font-size:16px;min-height:44px;padding:8px 3px}
}
@media(max-width:359px){#fitness-app .metric-header,#fitness-app .metric-row{grid-template-columns:minmax(48px,1fr) 82px 50px 23px;gap:4px}#fitness-app .metric-row{font-size:11px}.metric-amount small,.metric-remaining small{font-size:8px}.overview-card{padding:12px 10px}dialog{padding:16px}.budgettable tr{gap:5px;padding:10px}}
#overviewPanel .meal-nutrition{margin:12px 0 0;padding:0;border:0;border-bottom:1px solid var(--line)}#overviewPanel .meal-nutrition>summary{min-height:44px;font-size:12px;color:var(--dim);font-weight:500}#overviewPanel .meal-nutrition>summary small{font-size:11px;font-weight:500;margin-left:auto;white-space:nowrap}#overviewPanel .meal-nutrition[open]>summary{margin-bottom:0}#overviewPanel .meal-nutrition .metric-header{padding-top:8px}#overviewPanel .meal-nutrition .metric-row:last-child{border-bottom:0}
#fitness-app .tablewrap:has(>.empty){border:0;overflow:visible}#fitness-app .tablewrap>.empty{margin:0}#fitness-app .tablewrap{scrollbar-width:thin;scrollbar-color:var(--line) transparent}dialog input[type=number]{appearance:textfield;-moz-appearance:textfield}dialog input[type=number]::-webkit-inner-spin-button,dialog input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}

/* Daily metric cards: larger useful content, fewer captions. */
#fitness-app.daily-view .overview-card{min-height:154px;gap:7px;padding:16px 18px}
#fitness-app.daily-view .overview-value{font-size:33px}
#fitness-app.daily-view .overview-macros{align-items:center;text-align:center;gap:7px}
#fitness-app.daily-view .overview-macros>h3{order:-1}
#fitness-app.daily-view .overview-macro-content{flex-direction:column;align-items:center;justify-content:center;gap:8px}
#fitness-app.daily-view .macro-donut{width:62px;height:62px;margin-inline:auto}
#fitness-app.daily-view .macro-donut>span{width:43px;height:43px}
#fitness-app.daily-view .overview-macro-legend{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;gap:8px;font-size:10px}
#fitness-app.daily-view .overview-macro-legend>div{display:flex;flex-direction:column;align-items:center;gap:3px}
#fitness-app.daily-view .overview-macro-legend i{display:none}
#fitness-app.daily-view .overview-macro-legend strong{margin:0;font-size:11px}
#fitness-app.daily-view .daily-weight .overview-detail{display:flex;align-items:center;flex-wrap:wrap;gap:4px 5px}
#fitness-app.daily-view .daily-weight .metric-context{display:inline;margin:0;white-space:nowrap;font-size:10px}
@media(max-width:600px){#fitness-app.daily-view .overview-card{min-height:154px;padding:14px 12px}#fitness-app.daily-view .overview-value{font-size:30px}#fitness-app.daily-view .macro-donut{width:56px;height:56px}#fitness-app.daily-view .macro-donut>span{width:39px;height:39px}#fitness-app.daily-view .overview-macro-legend{font-size:9px;gap:4px}#fitness-app.daily-view .overview-macro-legend strong{font-size:10px}#fitness-app.daily-view .daily-weight .metric-context{font-size:9px}}
