/* Account forms and responsive family workspace. No viewport offsets or clipping. */
.tp-account-grid,.tp-settings-grid,.tp-family-layout,.tp-today-layout,.tp-context-selectors{min-width:0}
.tp-app .tp-account-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:20px}
.tp-account-grid>.tp-card{min-width:0;max-width:100%;padding:24px;border:1px solid #dce7dd;border-radius:20px;background:#fffefa}
.tp-account-grid h2{font-size:21px;line-height:1.4;margin:0 0 16px}.tp-app .tp-account-grid p{overflow-wrap:anywhere}
.tp-app .tp-form label{min-width:0}.tp-app .tp-form input:not([type=checkbox]):not([type=radio]),.tp-app .tp-form select,.tp-app .tp-form textarea{box-sizing:border-box;width:100%;max-width:100%;min-width:0;font-size:16px}
.tp-field-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.tp-account-title{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.tp-active-badge{display:inline-flex;align-items:center;gap:6px;vertical-align:middle;font-size:12px;line-height:1.5;background:#e9f4e8;color:#316843;border-radius:20px;padding:4px 9px;white-space:nowrap;margin-inline:5px}
.tp-active-badge i{display:inline-block;width:6px;height:6px;border-radius:50%;background:#39935b}.tp-account-title .tp-active-badge{margin-bottom:14px}
.tp-account-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:16px}.tp-account-email{font-weight:600}.tp-email-change{border-top:1px solid #dbe4d8;padding-top:20px;margin-top:24px}
.tp-account-delete{border-color:#e9d2ca!important}.tp-app .tp-form-note{font-size:13px;line-height:1.65;color:#637564}
.tp-app .tp-button,.tp-app button.tp-text-button,.tp-app .tp-icon-button{min-height:44px}.tp-app .tp-button{white-space:normal;text-align:center}
.tp-app .tp-workspace,.tp-app .tp-content,.tp-app .tp-workspace-header,.tp-app .tp-record-row,.tp-app .tp-record-row>div{min-width:0;max-width:100%}
.tp-app .tp-context-selectors select{max-width:min(30vw,230px);min-width:0;text-overflow:ellipsis}.tp-app .tp-record-actions{flex-wrap:wrap;flex-shrink:0}
.tp-app .tp-record-row p,.tp-app .tp-member p,.tp-app .tp-origin{overflow-wrap:anywhere}.tp-app .tp-chart-card svg{width:100%;height:auto;display:block}
.tp-app .tp-dialog{box-sizing:border-box;width:min(640px,calc(100vw - 24px));max-width:calc(100vw - 24px);max-height:calc(100dvh - 32px);overflow:auto;overscroll-behavior:contain}
.tp-app .tp-form-between,.tp-app .tp-dialog-actions{flex-wrap:wrap}.tp-app .tp-report-dates{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
@media(max-width:900px){.tp-app .tp-account-grid{grid-template-columns:minmax(0,1fr)}.tp-app .tp-family-layout{grid-template-columns:minmax(0,1fr)}}
@media(max-width:600px){
 .tp-app .tp-content{padding:20px 14px!important}.tp-app .tp-workspace-header{gap:8px;flex-wrap:wrap;padding:12px!important}
 .tp-app .tp-context-selectors{flex:1;max-width:calc(100% - 52px);gap:5px}.tp-app .tp-context-selectors select{max-width:calc((100vw - 115px)/2);font-size:14px}
 .tp-app .tp-account-controls{width:100%;justify-content:flex-end}.tp-app .tp-account-grid>.tp-card{padding:20px 16px}.tp-field-pair{grid-template-columns:minmax(0,1fr)}
 .tp-app .tp-page-heading{display:flex;flex-direction:column;align-items:flex-start;gap:14px}.tp-app .tp-page-heading .tp-button{max-width:100%}
 .tp-app .tp-record-row{display:flex;flex-wrap:wrap;gap:10px}.tp-app .tp-record-row>div:not(.tp-record-actions){flex:1;min-width:calc(100% - 66px)}.tp-app .tp-record-actions{margin-left:auto}
 .tp-app .tp-member{flex-wrap:wrap}.tp-app .tp-member>div{min-width:0;flex:1}.tp-app .tp-member>button{margin-left:auto}
 .tp-app .tp-dialog{margin:auto;padding:18px 14px}.tp-app .tp-dialog-actions{position:static;gap:10px}.tp-app .tp-report-dates{grid-template-columns:minmax(0,1fr)}
 .tp-app .tp-sidebar{max-width:min(300px,calc(100vw - 40px));padding-bottom:max(20px,env(safe-area-inset-bottom))}
 .tp-app .tp-chart-modules{grid-template-columns:repeat(2,minmax(0,1fr))}.tp-app .tp-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
 .tp-app .tp-report-checks{display:grid;gap:10px}.tp-app .tp-alert{overflow-wrap:anywhere}
}
@media(prefers-reduced-motion:reduce){.tp-app *{scroll-behavior:auto!important;transition:none!important}}
