/* Academy workspace only. Platform header, footer and other modules are outside this scope. */
body.tfpa-pro #tfpa-main { --pro-ink:#163247;--pro-muted:#526b7c;--pro-violet:#7136cc;--pro-teal:#087c72;--pro-line:#d6e0e9;--pro-soft:#f2f5f9;--manage-blue:#7136cc;--manage-ink:#163247; color:var(--pro-ink); background:#f2f5f9!important; }
body.tfpa-pro #tfpa-main *,body.tfpa-pro #tfpa-main *::before,body.tfpa-pro #tfpa-main *::after { box-sizing:border-box; }
body.tfpa-pro #tfpa-main [hidden] { display:none!important; }
body.tfpa-pro #tfpa-main .tfpa-wrap { max-width:1280px; width:calc(100% - 32px); }
body.tfpa-pro #tfpa-main .tfpa-manage-workspace { margin-left:0!important; margin-right:0!important; transition:none; }
body.tfpa-pro #tfpa-main .tfpa-v4-ready.is-drawer-open .tfpa-manage-workspace { margin-left:276px!important; }
body.tfpa-pro #tfpa-main .tfpa-v4-ready .tfpa-manage-drawer { left:max(16px,calc((100vw - 1280px)/2)); right:auto; width:256px; transform:translateX(calc(-100% - 32px)); border-radius:14px; background:#102b3e; box-shadow:0 8px 24px #102b3e14; }
body.tfpa-pro #tfpa-main .tfpa-v4-ready.is-drawer-open .tfpa-manage-drawer { transform:translateX(0); }
body.tfpa-pro #tfpa-main .tfpa-manage-bar { margin:0 0 10px; padding:3px 10px; min-height:48px; border:0; background:transparent; box-shadow:none; }
body.tfpa-pro #tfpa-main .tfpa-manage-location { order:0; font-size:12px; }
body.tfpa-pro #tfpa-main .tfpa-manage-location strong { font-size:14px; font-weight:700; }
body.tfpa-pro #tfpa-main .tfpa-manage-public { order:1; }
body.tfpa-pro #tfpa-main .tfpa-menu-toggle { order:-1; font-size:13px!important; background:#fff!important; border-radius:9px!important; }
body.tfpa-pro #tfpa-main .tfpap-primary-nav { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:4px; padding:5px; margin:0 0 18px; background:#e5ebf2; border:1px solid #d7e1eb; border-radius:12px; }
body.tfpa-pro #tfpa-main .tfpap-primary-nav>a { display:flex; justify-content:center; align-items:center; gap:8px; min-width:0; min-height:46px; padding:8px 12px; border-radius:8px; color:#465e72; font-size:14px; line-height:1.4; font-weight:600; text-decoration:none; }
body.tfpa-pro #tfpa-main .tfpap-primary-nav>a[aria-current] { background:#133247; color:#fff; box-shadow:0 2px 5px #12324712; }
body.tfpa-pro #tfpa-main .tfpap-primary-nav svg { flex:0 0 19px; width:19px; height:19px; }
body.tfpa-pro #tfpa-main .tfpap-nav-section { border-top:1px solid #355064; padding:5px 0; margin:7px 0 0; }
body.tfpa-pro #tfpa-main .tfpap-nav-section>summary { min-height:44px; padding:11px; color:#d4e5f0; font-size:13px; line-height:1.5; font-weight:600; cursor:pointer; }
body.tfpa-pro #tfpa-main .tfpap-nav-section>a { margin:3px 0; padding-left:18px; }
body.tfpa-pro #tfpa-main :is(.tfpa-section-heading,.tfpa-manage-heading) { margin:0 0 14px; gap:10px; }
body.tfpa-pro #tfpa-main :is(.tfpa-section-heading,.tfpa-manage-heading) :is(h1,h2) { color:var(--pro-ink)!important; font-size:24px!important; line-height:1.3; letter-spacing:-.4px; font-weight:750!important; margin:0 0 4px; }
body.tfpa-pro #tfpa-main :is(.tfpa-section-heading,.tfpa-manage-heading)>:is(p,div>p) { font-size:13px!important; line-height:1.5; color:var(--pro-muted)!important; margin:4px 0 0; }
body.tfpa-pro #tfpa-main .tfpa-owner-content>.tfpa-section-heading>.tfpa-eyebrow { display:none; }
body.tfpa-pro #tfpa-main :is(.tfpa-card,.tfpa-owner-calendar,.tfpa-owner-quick-add) { border:1px solid var(--pro-line); border-radius:12px; box-shadow:0 2px 8px #16324704; background:#fff; }
body.tfpa-pro #tfpa-main .tfpap-quick-actions { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 16px; }
body.tfpa-pro #tfpa-main .tfpap-action { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:10px 14px; font-size:13px; font-weight:650; line-height:1.4; color:#315168; background:#fff; border:1px solid #cfdbe5; border-radius:9px; text-decoration:none; }
body.tfpa-pro #tfpa-main .tfpap-action.is-primary { background:var(--pro-violet); border-color:var(--pro-violet); color:#fff; }
body.tfpa-pro #tfpa-main .tfpa-owner-kpis { gap:8px; margin:0 0 16px; }
body.tfpa-pro #tfpa-main .tfpa-owner-kpis>a { padding:12px!important; min-height:76px; border-radius:11px; border:1px solid #d5e0e9; background:#fff; box-shadow:none; }
body.tfpa-pro #tfpa-main .tfpa-owner-kpis strong { color:#173247; font-size:22px!important; line-height:1.3; }
body.tfpa-pro #tfpa-main .tfpa-owner-kpis small { color:#526a7c; font-size:12px; }
body.tfpa-pro #tfpa-main .tfpa-owner-kpis em { color:#617587; font-size:11px; }
body.tfpa-pro #tfpa-main .tfpa-owner-kpi-icon { width:34px; height:34px; flex-basis:34px; border-radius:9px; }
body.tfpa-pro #tfpa-main .tfpa-owner-card-head { gap:10px; margin-bottom:10px; }
body.tfpa-pro #tfpa-main .tfpa-owner-card-head h2 { font-size:18px!important; line-height:1.4; color:var(--pro-ink); }
body.tfpa-pro #tfpa-main .tfpa-owner-card-head .tfpa-eyebrow { display:none; }
body.tfpa-pro #tfpa-main .tfpa-owner-dashboard { gap:12px; margin-bottom:14px; }
body.tfpa-pro #tfpa-main .tfpa-owner-dashboard>.tfpa-card { padding:16px!important; }
body.tfpa-pro #tfpa-main .tfpa-owner-day-list>article { padding:10px 0; min-height:60px; }
body.tfpa-pro #tfpa-main .tfpa-owner-attention-row { padding:11px 0; min-height:64px; }
body.tfpa-pro #tfpa-main .tfpa-owner-player-row { min-height:66px; padding:10px 4px; }
body.tfpa-pro #tfpa-main .tfpa-owner-player-name strong { font-size:14px; color:#173247; }
body.tfpa-pro #tfpa-main .tfpa-owner-roster-preview { padding:16px!important; }
body.tfpa-pro #tfpa-main :is(.tfpa-manage-button.is-primary,.tfpa-btn:not(.tfpa-btn--soft):not(.tfpa-btn--ghost)) { background:var(--pro-violet)!important; color:#fff!important; border-color:var(--pro-violet)!important; border-radius:9px!important; font-size:14px!important; line-height:1.4; box-shadow:none!important; }
body.tfpa-pro #tfpa-main :is(.tfpa-manage-heading-actions,.tfpa-manage-coach-actions,.tfpc-toolbar) { gap:7px; }
body.tfpa-pro #tfpa-main :is(.tfpa-manage-button,.tfpa-btn,.tfpc-action) { min-height:44px!important; }
body.tfpa-pro #tfpa-main :is(.tfpa-manage-group-list,.tfpa-manage-coach-list,.tfpa-individual-cards) { gap:10px; }
body.tfpa-pro #tfpa-main .tfpg-card { border:1px solid #d0dce7!important; border-radius:12px; background:#fff!important; box-shadow:none!important; overflow:visible; }
body.tfpa-pro #tfpa-main .tfpg-color-head { padding:13px 14px!important; background:#edf3f8!important; border-radius:11px 11px 0 0; border-bottom:1px solid #d9e3ec; }
body.tfpa-pro #tfpa-main .tfpg-copy h2 { color:#163247!important; font-size:17px!important; line-height:1.4; margin:4px 0 0; }
body.tfpa-pro #tfpa-main .tfpg-category { color:#5c319a!important; background:#eee5fa!important; font-size:11px; font-weight:700; border:0; padding:4px 7px; }
body.tfpa-pro #tfpa-main .tfpg-card[data-category-color="red"] .tfpg-category { color:#a32642!important; background:#ffe8ec!important; }
body.tfpa-pro #tfpa-main .tfpg-card[data-category-color="orange"] .tfpg-category { color:#8d4909!important; background:#fff0dd!important; }
body.tfpa-pro #tfpa-main .tfpg-card[data-category-color="yellow"] .tfpg-category { color:#785711!important; background:#fff5cc!important; }
body.tfpa-pro #tfpa-main .tfpg-card[data-category-color="green"] .tfpg-category { color:#146347!important; background:#e1f4e8!important; }
body.tfpa-pro #tfpa-main .tfpg-card-content { padding:12px 14px!important; background:#fff!important; }
body.tfpa-pro #tfpa-main .tfpg-meta { gap:7px 12px; font-size:12px; color:#4b6579!important; }
body.tfpa-pro #tfpa-main .tfpg-capacity { color:#36556c!important; font-size:12px; }
body.tfpa-pro #tfpa-main .tfpg-toolbar { gap:6px; margin-top:10px; }
body.tfpa-pro #tfpa-main .tfpg-toolbar :is(button,a) { min-height:44px; font-size:12px!important; }
body.tfpa-pro #tfpa-main .tfpg-people[open] { border-top:1px solid #cfdbe6; background:#f3f7fa; }
body.tfpa-pro #tfpa-main .tfpa-roster-shell { border-radius:12px; border-color:#cfdae6; box-shadow:none; }
body.tfpa-pro #tfpa-main .tfpa-roster-row { padding:12px 14px; min-height:76px; }
body.tfpa-pro #tfpa-main .tfpa-roster-name h3 { color:#173247!important; font-size:15px!important; line-height:1.4; overflow-wrap:anywhere; }
body.tfpa-pro #tfpa-main .tfpa-roster-avatar { width:34px; height:34px; border-radius:10px; background:#edf2f7; color:#36536b; font-size:12px; }
body.tfpa-pro #tfpa-main .tfpa-roster-placement strong { font-size:12px; font-weight:500; color:#536a7c; }
body.tfpa-pro #tfpa-main .tfpa-roster-person:nth-child(even) { background:#f5f8fb; }
body.tfpa-pro #tfpa-main .tfpa-roster-editor[open] { background:#eef3f8; border-top:1px solid #d6e0e9; }
body.tfpa-pro #tfpa-main .tfpc-player { padding:14px; }
body.tfpa-pro #tfpa-main .tfpc-summary { gap:7px; padding:0; margin-bottom:10px; }
body.tfpa-pro #tfpa-main .tfpc-summary>span { min-height:0; padding:8px 10px; border:1px solid #d5e0e9; border-radius:8px; background:#fff; font-size:11px; }
body.tfpa-pro #tfpa-main .tfpc-summary strong { font-size:15px; }
body.tfpa-pro.tfpa-owner-app #tfpa-main form.tfpa-form .tfpa-field { gap:5px; }
body.tfpa-pro.tfpa-owner-app #tfpa-main form.tfpa-form .tfpa-field>span { font-size:12px!important; line-height:1.4; color:#476277; }
body.tfpa-pro.tfpa-owner-app #tfpa-main form.tfpa-form :is(input:not([type=hidden]):not([type=checkbox]):not([type=radio]):not([type=file]),select,textarea) { min-height:44px!important; padding:10px 11px!important; border:1px solid #cbd8e4!important; border-radius:9px!important; background:#fff!important; color:#173247!important; font-size:16px!important; line-height:1.4!important; box-shadow:none!important; max-width:100%!important; min-width:0!important; }
body.tfpa-pro.tfpa-owner-app #tfpa-main form.tfpa-form textarea { min-height:80px!important; }
body.tfpa-pro #tfpa-main .tfpa-btn.tfpa-btn--danger { background:#af2c47!important; border-color:#af2c47!important; color:#fff!important; }
body.tfpa-pro #tfpa-main :is(.tfpap-group-appearance,.tfpap-settings-extra,.tfpap-danger-settings) { margin:12px 0; border:1px solid #d5e0e9; border-radius:10px; background:#fff; }
body.tfpa-pro #tfpa-main :is(.tfpap-group-appearance,.tfpap-settings-extra,.tfpap-danger-settings)>summary { min-height:46px; padding:12px; color:#49647a; font-size:13px; line-height:1.5; font-weight:600; cursor:pointer; }
body.tfpa-pro #tfpa-main :is(.tfpap-group-appearance,.tfpap-settings-extra)>div { padding:0 12px 12px; }
body.tfpa-pro #tfpa-main .tfpap-settings-extra>div>.tfpa-card { margin:0; padding:0!important; border:0; box-shadow:none; }
body.tfpa-pro #tfpa-main .tfpap-danger-settings>summary { color:#a22c43; }
body.tfpa-pro #tfpa-main .tfpap-danger-settings>.tfpa-danger-zone { margin:0; border:0; }
body.tfpa-pro #tfpa-main .tfpg-card[data-category-color="red"] { --group-accent:#bd4057; }
body.tfpa-pro #tfpa-main .tfpg-card[data-category-color="orange"] { --group-accent:#ce781f; }
body.tfpa-pro #tfpa-main .tfpg-card[data-category-color="yellow"] { --group-accent:#be9627; }
body.tfpa-pro #tfpa-main .tfpg-card[data-category-color="green"] { --group-accent:#2b9473; }
body.tfpa-pro #tfpa-main .tfpg-card[data-custom-color="1"] { border-left:3px solid var(--group-accent,#7956ba)!important; }
body.tfpa-pro #tfpa-main .tfpw-member-summary { margin:10px 0; padding:11px 12px; gap:10px; border-radius:10px; background:#f3edfc; }
body.tfpa-pro #tfpa-main .tfpw-member-summary strong { font-size:20px; }
body.tfpa-pro #tfpa-main .tfpw-inline-actions>button { min-height:44px; font-size:12px; }

/* Calendar and training form: one clear choice, then a date and an explicit next action. */
body.tfpa-pro #tfpa-main .tfpa-owner-schedule-layout { gap:14px; }
body.tfpa-pro #tfpa-main .tfpa-owner-calendar { padding:14px!important; }
body.tfpa-pro #tfpa-main .tfpa-owner-calendar-grid { gap:5px; }
body.tfpa-pro #tfpa-main .tfpa-owner-calendar-day { min-height:56px; border-radius:9px; padding:7px 4px; }
body.tfpa-pro #tfpa-main .tfpa-owner-calendar-legend { display:flex; gap:7px 12px; flex-wrap:wrap; margin:12px 0 0; padding-top:10px; font-size:11px; line-height:1.45; }
body.tfpa-pro #tfpa-main .tfpa-owner-calendar-legend>span:last-child { display:none; }
body.tfpa-pro #tfpa-main .tfpa-calendar-refresh { margin-top:8px; }
body.tfpa-pro #tfpa-main .tfpa-calendar-refresh>button { min-height:44px; font-size:12px; padding:8px 10px; }
body.tfpa-pro #tfpa-main .tfpa-owner-quick-add { padding:14px!important; }
body.tfpa-pro #tfpa-main .tfpa-owner-add-training { margin-top:12px; border:1px solid #d7c8ee; border-radius:11px; background:#fff; }
body.tfpa-pro #tfpa-main .tfpa-owner-add-training>summary { min-height:54px; padding:10px 12px; background:#f3edfc; border-radius:10px; }
body.tfpa-pro #tfpa-main .tfpa-owner-add-training-icon { width:30px; height:30px; border-radius:8px; font-size:22px; }
body.tfpa-pro #tfpa-main .tfpa-owner-add-training-body { padding:14px 12px; }
body.tfpa-pro #tfpa-main [data-lesson-form] { padding:0!important; margin:0; background:transparent!important; border:0!important; box-shadow:none!important; }
body.tfpa-pro #tfpa-main [data-lesson-form] .tfpa-smart-lesson-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
body.tfpa-pro #tfpa-main [data-lesson-form] .tfpa-field { min-width:0; gap:5px; margin:0; }
body.tfpa-pro #tfpa-main [data-lesson-form] .tfpa-field>span { font-size:12px!important; font-weight:600!important; color:#455f74!important; line-height:1.4; }
body.tfpa-pro #tfpa-main [data-lesson-form] :is(input:not([type=hidden]):not([type=checkbox]):not([type=radio]),select,textarea) { min-height:44px!important; min-width:0!important; width:100%!important; max-width:100%!important; padding:10px 11px!important; color:#173247!important; border:1px solid #cad8e4!important; border-radius:9px!important; background:#fff!important; font-size:16px!important; line-height:1.4!important; box-shadow:none!important; }
body.tfpa-pro #tfpa-main [data-lesson-form] textarea { min-height:80px!important; }
body.tfpa-pro #tfpa-main .tfpap-target { grid-column:1/-1; margin:0 0 4px; }
body.tfpa-pro #tfpa-main .tfpap-step { display:flex; align-items:center; gap:7px; margin:0 0 10px; color:#25465e; font-size:13px; line-height:1.4; }
body.tfpa-pro #tfpa-main .tfpap-step>span { display:grid; place-items:center; width:23px; height:23px; border-radius:7px; background:#e9e0f9; color:#6432a8; font-size:11px; font-weight:700; }
body.tfpa-pro #tfpa-main .tfpap-step-wide { grid-column:1/-1; margin:4px 0 -3px; }
body.tfpa-pro #tfpa-main .tfpap-kind-buttons { display:flex; gap:6px; flex-wrap:wrap; margin-bottom:10px; }
body.tfpa-pro #tfpa-main .tfpap-kind-buttons>button { flex:1 1 auto; min-height:44px; padding:9px 10px; color:#425c72; background:#fff; border:1px solid #cbd8e4; border-radius:9px; font:inherit; font-size:12px; line-height:1.4; font-weight:650; cursor:pointer; box-shadow:none; }
body.tfpa-pro #tfpa-main .tfpap-kind-buttons>button[aria-pressed="true"] { background:#153247; border-color:#153247; color:#fff; }
body.tfpa-pro #tfpa-main .tfpap-chosen { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:8px 10px; border:1px solid #c7ded9; border-radius:9px; background:#edf8f4; }
body.tfpa-pro #tfpa-main .tfpap-chosen>strong { min-width:0; color:#1a5b4b; font-size:14px; line-height:1.45; overflow-wrap:anywhere; }
body.tfpa-pro #tfpa-main .tfpap-chosen>button { flex:0 0 auto; min-height:44px; padding:8px; border:0; background:transparent; color:#215f51; font-size:12px; font-weight:650; cursor:pointer; }
body.tfpa-pro #tfpa-main .tfpap-target-search { display:grid; gap:5px; margin:0 0 8px; }
body.tfpa-pro #tfpa-main .tfpap-target-search>span { font-size:12px; color:#526a7d; }
body.tfpa-pro #tfpa-main .tfpap-choice-list { border:1px solid #d4dfe8; border-radius:9px; overflow:hidden; }
body.tfpa-pro #tfpa-main .tfpap-choice { display:flex; align-items:center; justify-content:space-between; gap:12px; width:100%; min-height:46px; padding:10px 12px; border:0; border-bottom:1px solid #dfe6ee; border-radius:0; background:#fff; color:#213f55; font:inherit; font-size:14px; line-height:1.45; font-weight:550; text-align:left; cursor:pointer; box-shadow:none; }
body.tfpa-pro #tfpa-main .tfpap-choice:last-child { border-bottom:0; }
body.tfpa-pro #tfpa-main .tfpap-choice:nth-child(even) { background:#f5f8fb; }
body.tfpa-pro #tfpa-main .tfpap-choice>span:first-child { min-width:0; overflow-wrap:anywhere; }
body.tfpa-pro #tfpa-main .tfpap-choice>span:last-child { color:#7040ae; }
body.tfpa-pro #tfpa-main .tfpap-choice:hover { background:#eee8f7; }
body.tfpa-pro #tfpa-main .tfpap-choice-count { margin:7px 0 0; font-size:12px; color:#5b7081; line-height:1.5; }
body.tfpa-pro #tfpa-main .tfpap-choice-pages { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-top:6px; }
body.tfpa-pro #tfpa-main .tfpap-choice-pages>button { min-height:44px; padding:8px; border:0; background:transparent; color:#6336a0; font:inherit; font-size:12px; cursor:pointer; }
body.tfpa-pro #tfpa-main .tfpap-choice-pages>span { font-size:11px; color:#587084; }
body.tfpa-pro #tfpa-main .tfpap-choice-pages>button:disabled { opacity:.45; cursor:default; }
body.tfpa-pro #tfpa-main .tfpap-picker-error { margin:8px 0; padding:9px; background:#fff0f3; color:#ac2944; border-radius:7px; font-size:12px; line-height:1.5; }
body.tfpa-pro #tfpa-main :is(.tfpap-lesson-options,.tfpa-lesson-note) { margin:12px 0 0; border:1px solid #d5e0e9; border-radius:9px; background:#f7f9fc; }
body.tfpa-pro #tfpa-main :is(.tfpap-lesson-options,.tfpa-lesson-note)>summary { min-height:44px; padding:11px 12px; color:#496379; font-size:12px; line-height:1.5; font-weight:600; cursor:pointer; }
body.tfpa-pro #tfpa-main :is(.tfpap-lesson-options,.tfpa-lesson-note)>summary>span { margin-left:6px; color:#61778a; font-size:11px; font-weight:400; }
body.tfpa-pro #tfpa-main .tfpa-smart-lesson-more { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; padding:0 12px 12px; margin:0; }
body.tfpa-pro #tfpa-main .tfpa-smart-lesson-more>.tfpa-field:first-child { grid-column:1/-1; }
body.tfpa-pro #tfpa-main .tfpa-lesson-note>.tfpa-field { padding:0 12px 12px; }
body.tfpa-pro #tfpa-main .tfpap-lesson-actions { margin-top:14px; padding-top:12px; border-top:1px solid #dce4ec; }
body.tfpa-pro #tfpa-main .tfpap-lesson-actions>p { margin:0 0 10px; color:#526a7c; font-size:12px; line-height:1.55; }
body.tfpa-pro #tfpa-main .tfpap-lesson-actions>div { display:flex; gap:8px; flex-wrap:wrap; }
body.tfpa-pro #tfpa-main .tfpap-lesson-actions .tfpa-btn { flex:1 1 auto; min-height:46px!important; padding:10px 12px!important; font-size:13px!important; line-height:1.4; }
body.tfpa-pro #tfpa-main .tfpap-lesson-actions.has-one-action .tfpa-btn { background:#7136cc!important; border-color:#7136cc!important; color:#fff!important; }
body.tfpa-pro #tfpa-main [data-pro-save-bill]:disabled { opacity:.5; cursor:default; }
body.tfpa-pro #tfpa-main .tfpr-picker { margin:8px 0!important; padding:11px!important; border:1px solid #d6e2e8; border-radius:9px; background:#f6faf9; }
body.tfpa-pro #tfpa-main .tfpr-person { min-height:44px; padding:8px 9px; font-size:13px; }
body.tfpa-pro #tfpa-main .tfpr-person input { width:18px; height:18px; flex:0 0 18px; accent-color:#7136cc; }
body.tfpa-pro #tfpa-main .tfpr-picker-head>button { min-height:44px; }
body.tfpa-pro #tfpa-main .tfpa-agenda-summary { min-height:74px!important; padding:11px!important; }
body.tfpa-pro #tfpa-main .tfpa-agenda-copy>strong { font-size:14px; color:#173247; }
body.tfpa-pro #tfpa-main .tfpa-agenda-detail { padding:12px!important; background:#f4f7fb; }
body.tfpa-pro #tfpa-main .tfpa-training-bill { padding:12px; border-radius:10px; box-shadow:none; }
body.tfpa-pro #tfpa-main .tfpap-subscription-covered { display:inline-block; padding:4px 7px; margin-top:5px; border-radius:6px; background:#e2f2ea; color:#1c644b; font-size:11px; line-height:1.4; font-weight:650; }
body.tfpa-pro #tfpa-main .tfpa-owner-day-actions { gap:7px; }

/* One clear payment purpose and a preview of exactly what will be recorded. */
body.tfpa-pro #tfpa-main .tfpap-payment-kind { display:flex; gap:6px; margin:0 0 14px; }
body.tfpa-pro #tfpa-main .tfpap-payment-kind>button { flex:1; min-height:44px; padding:9px 10px; font:inherit; font-size:12px; line-height:1.4; font-weight:650; color:#4a6074; border:1px solid #d2dce6; border-radius:9px; background:#fff; cursor:pointer; }
body.tfpa-pro #tfpa-main .tfpap-payment-kind>button[aria-pressed="true"] { color:#fff; border-color:#173247; background:#173247; }
body.tfpa-pro #tfpa-main .tfpap-payment-kind>button:disabled { color:#718394; background:#f0f3f7; opacity:.6; cursor:default; }
body.tfpa-pro #tfpa-main .tfpw-payment-intro { margin-bottom:12px; gap:4px; }
body.tfpa-pro #tfpa-main .tfpw-payment-intro>strong { font-size:16px; }
body.tfpa-pro #tfpa-main .tfpw-payment-intro>span { font-size:12px; }
body.tfpa-pro #tfpa-main .tfpw-available { margin:0 0 10px; padding:10px 12px; border-radius:9px; }
body.tfpa-pro #tfpa-main .tfpw-available strong { font-size:18px; }
body.tfpa-pro #tfpa-main .tfpap-payment-options { margin:12px 0; border:1px solid #d8e1eb; border-radius:9px; background:#f7f9fc; }
body.tfpa-pro #tfpa-main .tfpap-payment-options>summary { min-height:44px; padding:11px 12px; font-size:12px; line-height:1.5; color:#4e6579; cursor:pointer; }
body.tfpa-pro #tfpa-main .tfpap-payment-options>div { padding:0 12px 12px; }
body.tfpa-pro #tfpa-main .tfpw-preview { margin:12px 0 10px; padding:11px 12px; border-radius:9px; }
body.tfpa-pro #tfpa-main .tfpw-preview dl { gap:7px; }
body.tfpa-pro #tfpa-main .tfps-settled-history,body.tfpa-pro #tfpa-main .tfpap-settled-history { margin:12px 0; border:1px solid #d5dfe8; border-radius:9px; background:#f8fafc; }
body.tfpa-pro #tfpa-main .tfpap-settled-history>summary { min-height:44px; padding:11px 12px; color:#415d72; font-size:13px; line-height:1.5; font-weight:600; cursor:pointer; }
body.tfpa-pro #tfpa-main .tfpap-settled-history>summary>span { margin-left:7px; color:#6b7e8e; font-size:11px; }
body.tfpa-pro #tfpa-main .tfpap-settled-history>.tfpb-charge { margin:8px; }
body.tfpa-pro #tfpa-main .tfps-compact-ledger .tfps-page-actions>* { min-height:44px; }
body.tfpa-pro #tfpa-main .tfps-compact-ledger .tfps-ledger-row { min-height:82px; }

/* Finance overview and ledger. Provider prepayments have their own section. */
body.tfpa-pro #tfpa-main .tfpf-navigation { margin:0 0 12px; background:#e7edf4; border-radius:10px; padding:4px; }
body.tfpa-pro #tfpa-main .tfpf-navigation a { min-height:44px; font-size:13px; }
body.tfpa-pro #tfpa-main .tfpf-navigation a[aria-current] { background:#173247; color:#fff; box-shadow:none; }
body.tfpa-pro #tfpa-main .tfpf-compact .tfpf-heading h1 { font-size:24px!important; }
body.tfpa-pro #tfpa-main .tfpap-finance-actions { display:flex; gap:7px; flex-wrap:wrap; }
body.tfpa-pro #tfpa-main .tfpf-compact .tfpf-period { margin:0 0 12px; padding:7px; gap:8px; border-radius:10px; align-items:flex-start; }
body.tfpa-pro #tfpa-main .tfpf-compact .tfpf-period>nav { gap:2px; }
body.tfpa-pro #tfpa-main .tfpf-compact .tfpf-period>nav>a { font-size:12px; padding:9px 11px; min-height:44px; }
body.tfpa-pro #tfpa-main .tfpap-custom-range>summary { min-height:44px; padding:11px 10px; color:#5d3697; font-size:12px; line-height:1.5; cursor:pointer; }
body.tfpa-pro #tfpa-main .tfpap-custom-range .tfpf-range { padding:8px; }
body.tfpa-pro #tfpa-main .tfpf-compact .tfpf-metrics { grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin-bottom:10px; }
body.tfpa-pro #tfpa-main .tfpf-compact .tfpf-metrics>div { padding:12px; gap:4px; border:1px solid #cddce4; border-radius:10px; min-height:82px; background:#f2faf7; }
body.tfpa-pro #tfpa-main .tfpf-compact .tfpf-metrics .is-cost { background:#fff6ee; border-color:#ecdac9; }
body.tfpa-pro #tfpa-main .tfpf-compact .tfpf-metrics .is-result { background:#153247; border-color:#153247; }
body.tfpa-pro #tfpa-main .tfpf-compact .tfpf-metrics .is-result :is(span,strong,small) { color:#fff; }
body.tfpa-pro #tfpa-main .tfpf-compact .tfpf-metrics .is-result.is-negative strong { color:#ffd0da; }
body.tfpa-pro #tfpa-main .tfpf-compact .tfpf-metrics span { font-size:12px; line-height:1.4; }
body.tfpa-pro #tfpa-main .tfpf-compact .tfpf-metrics strong { font-size:20px; line-height:1.35; }
body.tfpa-pro #tfpa-main .tfpf-compact .tfpf-metrics small { display:none; }
body.tfpa-pro #tfpa-main .tfpap-finance-summary { margin:0 0 12px; border-bottom:1px solid #d9e2eb; }
body.tfpa-pro #tfpa-main .tfpap-finance-summary>summary { min-height:44px; padding:10px 2px; color:#4f687d; font-size:12px; line-height:1.5; cursor:pointer; }
body.tfpa-pro #tfpa-main .tfpap-finance-summary>.is-margin { display:flex; gap:10px; flex-wrap:wrap; font-size:12px; padding:7px 0; }
body.tfpa-pro #tfpa-main .tfpap-finance-summary>.is-margin small { color:#6a7e8e; }
body.tfpa-pro #tfpa-main .tfpf-compact .tfpf-receivables { display:grid; padding:7px 0 12px; gap:4px; font-size:12px; }
body.tfpa-pro #tfpa-main .tfpf-compact .tfpf-breakdown { margin:10px 0; border-radius:9px; }
body.tfpa-pro #tfpa-main .tfpf-compact .tfpf-breakdown>summary { min-height:44px; padding:10px 12px; font-size:12px; }
body.tfpa-pro #tfpa-main .tfpf-compact .tfpf-list-heading { margin:14px 0 10px; }
body.tfpa-pro #tfpa-main .tfpf-compact .tfpf-list-heading h2 { font-size:18px; }
body.tfpa-pro #tfpa-main .tfpf-compact .tfpf-entry-row { min-height:70px; padding:10px 12px; gap:8px 12px; }
body.tfpa-pro #tfpa-main .tfpf-compact .tfpf-entry-copy strong { font-size:14px; font-weight:650; color:#173247; }
body.tfpa-pro #tfpa-main .tfpf-compact .tfpf-entry-copy>span { font-size:12px; line-height:1.45; }
body.tfpa-pro #tfpa-main .tfpf-compact .tfpf-entry-amount { font-size:15px; }
body.tfpa-pro #tfpa-main .tfpf-compact .is-receipt_refund .tfpf-entry-amount { color:#a62b44; }
body.tfpa-pro #tfpa-main .tfpf-compact .tfpf-entry:nth-child(even) { background:#f6f9fb; }
body.tfpa-pro #tfpa-main .tfpap-dialog-ready>#finance-create:not([open]) { display:none; }
body.tfpa-pro #tfpa-main .tfpap-supplier-balances,body.tfpa-pro #tfpa-main .tfpap-guest-payments { margin:16px 0 0; background:#fff; border:1px solid #d2dfe8; border-radius:11px; }
body.tfpa-pro #tfpa-main :is(.tfpap-supplier-balances,.tfpap-guest-payments)>summary { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:6px 14px; min-height:48px; padding:12px 14px; color:#25475f; font-size:13px; font-weight:650; line-height:1.45; cursor:pointer; }
body.tfpa-pro #tfpa-main :is(.tfpap-supplier-balances,.tfpap-guest-payments)>summary>span:last-child { color:#687e8e; font-size:11px; font-weight:400; }
body.tfpa-pro #tfpa-main :is(.tfpap-supplier-balances,.tfpap-guest-payments)>div { padding:0 14px 14px; }
body.tfpa-pro #tfpa-main .tfpap-supplier-balances .tfpp { margin:0; padding:0; border:0; background:transparent; }
body.tfpa-pro #tfpa-main .tfpp-heading h2 { font-size:16px; }
body.tfpa-pro #tfpa-main .tfpp-grid { grid-template-columns:minmax(0,1fr); gap:8px; }
body.tfpa-pro #tfpa-main .tfpp-account { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:5px 12px; padding:11px 12px; border:1px solid #d7ddea; border-radius:9px; }
body.tfpa-pro #tfpa-main .tfpp-account-top { grid-column:1/-1; }
body.tfpa-pro #tfpa-main .tfpp-account h3 { margin:0; font-size:14px; line-height:1.4; }
body.tfpa-pro #tfpa-main .tfpp-balance { margin:0; justify-content:flex-end; gap:5px; }
body.tfpa-pro #tfpa-main .tfpp-balance strong { font-size:18px; }
body.tfpa-pro #tfpa-main .tfpp-card-actions { grid-column:1/-1; margin-top:5px; }
body.tfpa-pro #tfpa-main .tfpp :is(button,.tfpp-account-top button) { min-height:44px; font-size:12px; }
body.tfpa-pro #tfpa-main .tfpag-payments { margin:0; padding:0; border:0; box-shadow:none; background:transparent; }
body.tfpa-pro #tfpa-main .tfpag-payments>header h2 { font-size:17px; }
body.tfpa-pro #tfpa-main .tfpag-payments>header p { font-size:12px; }
body.tfpa-pro #tfpa-main .tfpag-payments .tfpag-totals { gap:7px; margin:10px 0; }
body.tfpa-pro #tfpa-main .tfpag-payments .tfpag-totals>div { padding:10px; border-radius:9px; }
body.tfpa-pro #tfpa-main .tfpag-payments .tfpag-totals dd { font-size:18px; }
body.tfpa-pro #tfpa-main .tfpag-payments .tfpag-payment-lesson>summary { min-height:58px; padding:10px 12px; }
body.tfpa-pro #tfpa-main .tfpag-payments .tfpag-payment-lesson>summary strong { font-size:14px; }

/* The member/parent view uses the same compact reading rhythm. */
body.tfpa-pro.tfpa-member-app #tfpa-main .tfpa-member-page-card { padding:16px!important; border-radius:12px; box-shadow:none; }
body.tfpa-pro.tfpa-member-app #tfpa-main .tfpa-member-payment-hero { margin:0 0 16px; padding:0; border:0; border-radius:0; background:transparent; box-shadow:none; }
body.tfpa-pro.tfpa-member-app #tfpa-main .tfpa-member-payment-hero__top { display:block; }
body.tfpa-pro.tfpa-member-app #tfpa-main .tfpa-member-payment-overview { padding:14px; min-height:0; border:1px solid #cddde6; border-radius:10px; background:#f0f7fa; }
body.tfpa-pro.tfpa-member-app #tfpa-main .tfpa-member-payment-overview strong { font-size:28px; color:#173247; }
body.tfpa-pro.tfpa-member-app #tfpa-main .tfpa-member-payment-overview p { font-size:12px; line-height:1.5; }
body.tfpa-pro.tfpa-member-app #tfpa-main :is(.tfpa-member-payment-guide,.tfpa-member-payment-steps) { display:none; }
body.tfpa-pro.tfpa-member-app #tfpa-main .tfpa-member-payment-card { padding:13px; border:1px solid #d7e1ea; border-radius:10px; background:#fff; box-shadow:none; }
body.tfpa-pro.tfpa-member-app #tfpa-main .tfpa-member-payment-title strong { color:#173247; font-size:15px; line-height:1.45; }
body.tfpa-pro.tfpa-member-app #tfpa-main .tfpm-amount { margin:10px 0; padding:10px 12px; min-height:0; background:#f3eefc; border-radius:9px; }
body.tfpa-pro.tfpa-member-app #tfpa-main .tfpm-amount strong { font-size:22px; }
body.tfpa-pro.tfpa-member-app #tfpa-main .tfpm-method>summary { min-height:50px; padding:10px 12px; }
body.tfpa-pro.tfpa-member-app #tfpa-main .tfpm-method-title strong { font-size:13px; }
body.tfpa-pro.tfpa-member-app #tfpa-main .tfpap-member-history { margin-top:16px; border:1px solid #d5e0e9; border-radius:10px; background:#f8fafc; }
body.tfpa-pro.tfpa-member-app #tfpa-main .tfpap-member-history>summary { min-height:46px; padding:12px; color:#456278; font-size:13px; font-weight:650; cursor:pointer; }
body.tfpa-pro.tfpa-member-app #tfpa-main .tfpap-member-history>div { padding:0 12px 12px; }
body.tfpa-pro #tfpa-main :is(.tfpap-target-ui button,.tfpap-primary-nav a,.tfpap-action,.tfpap-nav-section summary,.tfpap-payment-kind button,.tfpap-payment-options summary,.tfpap-supplier-balances summary,.tfpap-guest-payments summary):focus-visible { outline:3px solid #a286d2; outline-offset:2px; }

@media(max-width:1099px) {
  body.tfpa-pro #tfpa-main .tfpa-v4-ready.is-drawer-open .tfpa-manage-workspace { margin-left:0!important; }
  body.tfpa-pro #tfpa-main .tfpa-v4-ready .tfpa-manage-drawer { top:var(--tfp-header-fixed-height,76px); bottom:0; left:0; right:auto; width:min(310px,88vw); border-radius:0 12px 12px 0; transform:translateX(-100%); }
  body.tfpa-pro #tfpa-main .tfpa-v4-ready.is-drawer-open .tfpa-manage-drawer { transform:translateX(0); }
}
@media(max-width:760px) {
  body.tfpa-pro #tfpa-main .tfpa-wrap { width:calc(100% - 24px); }
  body.tfpa-pro #tfpa-main .tfpa-manage-bar { gap:8px; padding:0; margin-bottom:8px; }
  body.tfpa-pro #tfpa-main .tfpa-manage-location>a,body.tfpa-pro #tfpa-main .tfpa-manage-location>span { display:none; }
  body.tfpa-pro #tfpa-main .tfpa-manage-public { font-size:11px; }
  body.tfpa-pro #tfpa-main .tfpap-primary-nav { margin-bottom:14px; gap:2px; padding:4px; border-radius:10px; }
  body.tfpa-pro #tfpa-main .tfpap-primary-nav>a { flex-direction:column; gap:4px; padding:7px 3px; min-height:56px; font-size:11px; }
  body.tfpa-pro #tfpa-main .tfpap-primary-nav svg { width:18px; height:18px; flex-basis:18px; }
  body.tfpa-pro #tfpa-main :is(.tfpa-section-heading,.tfpa-manage-heading) :is(h1,h2) { font-size:22px!important; }
  body.tfpa-pro #tfpa-main .tfpap-quick-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; }
  body.tfpa-pro #tfpa-main .tfpap-quick-actions>a:first-child { grid-column:auto; }
  body.tfpa-pro #tfpa-main .tfpa-owner-kpis { grid-template-columns:repeat(2,minmax(0,1fr)); }
  body.tfpa-pro #tfpa-main .tfpa-owner-kpis>a { padding:10px!important; min-height:74px; }
  body.tfpa-pro #tfpa-main .tfpa-owner-kpis strong { font-size:20px!important; }
  body.tfpa-pro #tfpa-main .tfpa-owner-kpi-icon { display:none; }
  body.tfpa-pro #tfpa-main .tfpa-owner-calendar,body.tfpa-pro #tfpa-main .tfpa-owner-quick-add { padding:12px!important; }
  body.tfpa-pro #tfpa-main .tfpa-owner-calendar-grid { gap:4px; }
  body.tfpa-pro #tfpa-main .tfpa-owner-calendar-day { min-height:46px; padding:5px 2px; font-size:13px; }
  body.tfpa-pro #tfpa-main .tfpa-owner-calendar-count { font-size:10px; }
  body.tfpa-pro #tfpa-main .tfpa-owner-add-training-body { padding:12px 10px; }
  body.tfpa-pro #tfpa-main .tfpap-kind-buttons { gap:5px; }
  body.tfpa-pro #tfpa-main .tfpap-kind-buttons>button { padding:9px 7px; font-size:11px; }
  body.tfpa-pro #tfpa-main [data-lesson-form] .tfpa-smart-lesson-grid { gap:10px; }
  body.tfpa-pro #tfpa-main .tfpap-lesson-actions>div { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
  body.tfpa-pro #tfpa-main .tfpap-lesson-actions .tfpa-btn { width:100%; }
  body.tfpa-pro #tfpa-main .tfpr-person { font-size:13px; }
  body.tfpa-pro #tfpa-main .tfpa-roster-row { padding:11px; min-height:78px; }
  body.tfpa-pro #tfpa-main .tfpa-roster-name h3 { font-size:14px!important; }
  body.tfpa-pro #tfpa-main .tfpa-roster-avatar { width:30px; height:30px; }
  body.tfpa-pro #tfpa-main .tfps-compact-ledger .tfps-ledger-row { min-height:100px; }
  body.tfpa-pro #tfpa-main .tfpf-compact .tfpf-heading { align-items:stretch; flex-direction:column; }
  body.tfpa-pro #tfpa-main .tfpap-finance-actions>* { flex:1; }
  body.tfpa-pro #tfpa-main .tfpf-compact .tfpf-period { display:block; }
  body.tfpa-pro #tfpa-main .tfpf-compact .tfpf-period>nav { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); }
  body.tfpa-pro #tfpa-main .tfpap-custom-range>summary { padding:10px; }
  body.tfpa-pro #tfpa-main .tfpap-custom-range .tfpf-range { grid-template-columns:repeat(2,minmax(0,1fr)); }
  body.tfpa-pro #tfpa-main .tfpap-custom-range .tfpf-range>button { grid-column:1/-1; }
  body.tfpa-pro #tfpa-main .tfpf-compact .tfpf-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; }
  body.tfpa-pro #tfpa-main .tfpf-compact .tfpf-metrics>.is-result { grid-column:1/-1; flex-direction:row; align-items:center; justify-content:space-between; min-height:56px; }
  body.tfpa-pro #tfpa-main .tfpf-compact .tfpf-metrics>div { padding:11px; min-height:76px; }
  body.tfpa-pro #tfpa-main .tfpf-compact .tfpf-metrics strong { font-size:19px; }
  body.tfpa-pro #tfpa-main .tfpf-compact .tfpf-entry-row { grid-template-columns:minmax(0,1fr) auto; grid-template-areas:"date amount" "copy edit"; gap:4px 10px; padding:11px; min-height:84px; }
  body.tfpa-pro #tfpa-main .tfpf-compact .tfpf-entry-row>:is(time,.tfpf-undated) { grid-area:date; font-size:11px; }
  body.tfpa-pro #tfpa-main .tfpf-compact .tfpf-entry-copy { grid-area:copy; }
  body.tfpa-pro #tfpa-main .tfpf-compact .tfpf-entry-amount { grid-area:amount; font-size:15px; }
  body.tfpa-pro #tfpa-main .tfpf-compact .tfpf-entry-row>:is(.tfpf-edit-link,.tfpf-auto) { grid-area:edit; }
  body.tfpa-pro #tfpa-main .tfpf-compact .tfpf-entry-row>.tfpf-entry-type { display:none; }
  body.tfpa-pro #tfpa-main .tfpf-compact .tfpf-entry-copy strong { font-size:13px; }
  body.tfpa-pro #tfpa-main .tfpf-compact .tfpf-entry-copy>span { font-size:11px; }
  body.tfpa-pro #tfpa-main .tfpf-compact .tfpf-edit-link { min-width:62px; font-size:12px; }
  body.tfpa-pro #tfpa-main .tfpp-account { grid-template-columns:minmax(0,1fr); }
  body.tfpa-pro #tfpa-main .tfpp-balance { justify-content:flex-start; }
  body.tfpa-pro #tfpa-main .tfpag-payments .tfpag-totals { grid-template-columns:minmax(0,1fr); gap:5px; }
  body.tfpa-pro #tfpa-main .tfpag-payments .tfpag-totals>div { display:flex; align-items:center; justify-content:space-between; gap:10px; }
  body.tfpa-pro #tfpa-main .tfpag-payments .tfpag-totals dd { font-size:16px; white-space:nowrap; }
  body.tfpa-pro #tfpa-main .tfpap-payment-kind { gap:5px; }
  body.tfpa-pro #tfpa-main .tfpap-payment-kind>button { padding:9px 7px; font-size:12px; }
}
@media(max-width:360px) {
  body.tfpa-pro #tfpa-main .tfpa-wrap { width:calc(100% - 16px); }
  body.tfpa-pro #tfpa-main .tfpap-primary-nav>a { font-size:10px; }
  body.tfpa-pro #tfpa-main .tfpap-kind-buttons { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
  body.tfpa-pro #tfpa-main .tfpap-kind-buttons>button { font-size:12px; }
  body.tfpa-pro #tfpa-main .tfpa-owner-calendar-grid { gap:3px; }
  body.tfpa-pro #tfpa-main .tfpa-owner-calendar-day { min-height:44px; }
}
@media(prefers-reduced-motion:reduce) {
  body.tfpa-pro #tfpa-main .tfpa-manage-drawer,body.tfpa-pro #tfpa-main .tfpa-manage-workspace { transition:none; }
}

/* Compact dashboard: no inherited icon tracks, and money always has a full-width row. */
body.tfpa-pro #tfpa-main .tfpap-dashboard-metrics { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin:0 0 14px; }
body.tfpa-pro #tfpa-main .tfpap-dashboard-metrics>a { display:grid; grid-template-columns:minmax(0,1fr); gap:3px; min-width:0; padding:13px 15px; background:#fff; border:1px solid #d4dfe9; border-radius:11px; text-decoration:none; }
body.tfpa-pro #tfpa-main .tfpap-dashboard-metrics span { color:#526b7c; font-size:12px; line-height:1.45; text-transform:none; letter-spacing:0; }
body.tfpa-pro #tfpa-main .tfpap-dashboard-metrics strong { display:block; min-width:0; color:#163247; font-size:23px!important; line-height:1.3!important; font-weight:750; white-space:nowrap!important; word-break:normal!important; overflow-wrap:normal!important; font-variant-numeric:tabular-nums; }
body.tfpa-pro #tfpa-main .tfpap-dashboard-metrics small { color:#617588; font-size:11px; line-height:1.4; }
body.tfpa-pro #tfpa-main .tfpap-dashboard-metrics>.is-money { border-left:3px solid #b33452; background:#fff9fa; }
body.tfpa-pro #tfpa-main .tfpap-dashboard-metrics>.is-money strong { color:#a12b47; }
body.tfpa-pro #tfpa-main .tfpap-dashboard-extra { border:1px solid #d5e0e9; border-radius:11px; background:#fff; margin-top:12px; }
body.tfpa-pro #tfpa-main .tfpap-dashboard-extra>summary { min-height:46px; padding:12px 14px; cursor:pointer; color:#36566c; font-size:13px; font-weight:650; }
body.tfpa-pro #tfpa-main .tfpap-dashboard-extra>div { padding:0 14px 12px; }
body.tfpa-pro #tfpa-main .tfpap-dashboard-extra .tfpa-card { padding:0!important; margin:0; border:0; box-shadow:none; }
body.tfpa-pro #tfpa-main .tfpap-attendance-stat { padding:10px 0; margin:0 0 10px; font-size:12px; color:#526b7c; border-bottom:1px solid #dce5ed; }
body.tfpa-pro #tfpa-main .tfpap-all-clear { display:flex; gap:8px; align-items:center; min-height:38px; margin:0; font-size:13px; color:#24624e; }
body.tfpa-pro #tfpa-main .tfpap-all-clear>span { width:25px; height:25px; display:grid; place-items:center; border-radius:50%; background:#e4f4ec; }
body.tfpa-pro #tfpa-main .tfpap-dashboard-link { display:inline-flex; align-items:center; min-height:44px; margin-top:5px; color:#5f319f; font-size:12px; font-weight:600; }
body.tfpa-pro #tfpa-main .tfpa-owner-today>.tfpa-owner-empty-mini { display:flex; flex-direction:row; align-items:center; justify-content:space-between; gap:10px; padding:12px; min-height:64px; }
body.tfpa-pro #tfpa-main .tfpa-owner-today>.tfpa-owner-empty-mini strong { font-size:13px; line-height:1.45; }
body.tfpa-pro #tfpa-main .tfpa-owner-today>.tfpa-owner-empty-mini .tfpa-btn { flex:none; font-size:12px!important; padding:9px 11px!important; }

/* Creation price, direct allocation and concise actions. */
body.tfpa-pro #tfpa-main .tfpap-fee { min-width:0; margin:18px 0 0; padding:12px; border:1px solid #c6d8d6; border-radius:10px; background:#f2faf8; }
body.tfpa-pro #tfpa-main .tfpap-fee>legend { padding:0 5px; }
body.tfpa-pro #tfpa-main .tfpap-fee .tfpap-step { margin:0; }
body.tfpa-pro #tfpa-main .tfpap-fee .tfpap-step>span { background:#d9eee8; color:#1e6856; }
body.tfpa-pro #tfpa-main .tfpap-fee-fields { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.3fr); gap:10px; }
body.tfpa-pro #tfpa-main .tfpap-fee-fields input { font-variant-numeric:tabular-nums; font-weight:650!important; }
body.tfpa-pro #tfpa-main .tfpap-fee-fields :is(input,select) { min-width:0; width:100%; }
body.tfpa-pro #tfpa-main .tfpap-fee-preview { margin:10px 0 0; color:#235c4e; font-size:12px; line-height:1.6; font-weight:600; }
body.tfpa-pro #tfpa-main .tfpap-monthly-extra { display:flex; align-items:center; gap:8px; min-height:44px; margin:0 0 8px; font-size:12px; color:#244e47; }
body.tfpa-pro #tfpa-main .tfpap-monthly-extra input { width:18px; height:18px; accent-color:#087c72; }
body.tfpa-pro #tfpa-main .tfpap-fee-fields :disabled { background:#eaf0f0!important; color:#6a7e7b!important; opacity:1; }
body.tfpa-pro #tfpa-main .tfpap-edit-fee { display:flex; flex-wrap:wrap; align-items:center; gap:8px; padding:12px; margin-top:14px; background:#f2faf8; border:1px solid #c6d8d6; border-radius:10px; font-size:12px; }
body.tfpa-pro #tfpa-main .tfpap-edit-fee>small { flex-basis:100%; color:#526b7c; line-height:1.5; }
body.tfpa-pro #tfpa-main .tfpap-lesson-actions .tfpa-btn--soft { background:#fff!important; background-image:none!important; border:1px solid #c5d3e0!important; color:#23465d!important; }
body.tfpa-pro #tfpa-main .tfpap-lesson-actions [data-pro-save-bill],body.tfpa-pro #tfpa-main .tfpap-lesson-actions.has-one-action .tfpa-btn { background:#7136cc!important; background-image:none!important; color:#fff!important; border:1px solid #7136cc!important; }
body.tfpa-pro #tfpa-main .tfpap-lesson-actions.has-one-action>div { grid-template-columns:minmax(0,1fr); }
body.tfpa-pro #tfpa-main .tfpap-lesson-actions .tfpa-btn { min-width:0; white-space:normal; box-shadow:none!important; }

/* One consistent disclosure control, without a rotated text glyph or a second scroll pane. */
body.tfpa-pro #tfpa-main .tfpa-agenda-list { max-height:none!important; overflow:visible!important; }
body.tfpa-pro #tfpa-main .tfpa-owner-add-training { border:1px solid #c6d7e3!important; border-radius:11px!important; background:#fff!important; }
body.tfpa-pro #tfpa-main .tfpa-owner-add-training>summary { grid-template-columns:32px minmax(0,1fr) 32px!important; min-height:56px!important; padding:10px 12px!important; background:#eaf1f8!important; list-style:none; }
body.tfpa-pro #tfpa-main .tfpa-owner-add-training>summary strong { color:#23485f!important; font-size:14px!important; font-weight:650!important; }
body.tfpa-pro #tfpa-main .tfpa-owner-add-training>summary small { display:none!important; }
body.tfpa-pro #tfpa-main .tfpa-owner-add-training-icon { width:30px!important; height:30px!important; border-radius:8px!important; background:#fff!important; color:#5f319f!important; font-size:23px!important; }
body.tfpa-pro #tfpa-main :is(.tfpa-owner-add-training-arrow,.tfpa-agenda-caret,.tfpg-caret) { display:flex!important; align-items:center; justify-content:center; flex:none; width:30px; height:30px; border:1px solid #c9d6e2; border-radius:50%; background:#fff; color:#36576e; line-height:1; transform:none!important; transition:transform .15s ease; }
body.tfpa-pro #tfpa-main :is(.tfpa-owner-add-training-arrow,.tfpa-agenda-caret,.tfpg-caret)>svg { display:block; width:17px; height:17px; flex:none; }
body.tfpa-pro #tfpa-main .tfpa-owner-add-training[open]>summary .tfpa-owner-add-training-arrow,body.tfpa-pro #tfpa-main .tfpa-agenda-entry[open]>.tfpa-agenda-summary>.tfpa-agenda-caret,body.tfpa-pro #tfpa-main .tfpg-roster-toggle.is-active .tfpg-caret { transform:rotate(180deg)!important; background:#e6edf5; }
body.tfpa-pro #tfpa-main .tfpa-owner-add-training[open]>summary { border-bottom:1px solid #cfdae5; }
body.tfpa-pro #tfpa-main .tfpa-agenda-entry[open]>.tfpa-agenda-summary { background:#eaf1f8!important; border-bottom:1px solid #cfdae5; }
body.tfpa-pro #tfpa-main .tfpa-owner-action-detail.is-edit>summary .tfpa-owner-action-caret { display:none!important; }
body.tfpa-pro #tfpa-main .tfpa-owner-action-detail.is-edit>summary { cursor:pointer; }
body.tfpa-pro #tfpa-main .tfpa-billing-dialog [data-lesson-form] { margin:0; padding:0; border:0; background:#fff; }
body.tfpa-pro #tfpa-main :is(.tfpa-owner-add-training>summary,.tfpa-owner-action-detail.is-edit>summary,.tfpap-dashboard-extra>summary,.tfpap-lesson-actions button):focus-visible { outline:3px solid #a286d2; outline-offset:2px; }
@media(max-width:760px) {
  body.tfpa-pro #tfpa-main .tfpap-dashboard-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
  body.tfpa-pro #tfpa-main .tfpap-dashboard-metrics>a { padding:11px 12px; }
  body.tfpa-pro #tfpa-main .tfpap-dashboard-metrics>.is-money { grid-column:1/-1; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:3px 12px; }
  body.tfpa-pro #tfpa-main .tfpap-dashboard-metrics>.is-money strong { grid-column:2; grid-row:1/3; font-size:22px!important; }
  body.tfpa-pro #tfpa-main .tfpap-dashboard-metrics>.is-money small { grid-column:1; }
  body.tfpa-pro #tfpa-main .tfpap-fee-fields { grid-template-columns:minmax(0,1fr); gap:8px; }
  body.tfpa-pro #tfpa-main .tfpap-lesson-actions .tfpa-btn { font-size:12px!important; padding:10px 7px!important; }
}
@media(max-width:360px) {
  body.tfpa-pro #tfpa-main .tfpap-dashboard-metrics>.is-money { grid-template-columns:minmax(0,1fr); }
  body.tfpa-pro #tfpa-main .tfpap-dashboard-metrics>.is-money strong { grid-column:1; grid-row:auto; }
}
@media(prefers-reduced-motion:reduce) {
  body.tfpa-pro #tfpa-main :is(.tfpa-owner-add-training-arrow,.tfpa-agenda-caret,.tfpg-caret) { transition:none; }
}

/* Earnings and margin stay visible before balances and supplier prepayments. */
body.tfpa-pro #tfpa-main .tfpf-clear .tfpf-earnings { grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin-bottom:8px; }
body.tfpa-pro #tfpa-main .tfpf-clear .tfpf-earnings>div { min-width:0; min-height:128px; padding:16px; gap:7px; }
body.tfpa-pro #tfpa-main .tfpf-clear .tfpf-earnings span { font-size:13px; font-weight:650; }
body.tfpa-pro #tfpa-main .tfpf-clear .tfpf-earnings strong { font-size:clamp(24px,2.4vw,32px); line-height:1.2; font-weight:750; font-variant-numeric:tabular-nums; }
body.tfpa-pro #tfpa-main .tfpf-clear .tfpf-earnings small { display:block; font-size:11px; line-height:1.5; color:#536c7e; }
body.tfpa-pro #tfpa-main .tfpf-clear .tfpf-earnings>.is-result { grid-column:auto; flex-direction:column; align-items:flex-start; justify-content:flex-start; }
body.tfpa-pro #tfpa-main .tfpf-clear .tfpf-earnings>.is-result :is(span,strong,small) { color:#fff; }
body.tfpa-pro #tfpa-main .tfpf-clear .tfpf-earnings>.is-result.is-negative strong { color:#ffd0da; }
body.tfpa-pro #tfpa-main .tfpf-clear .tfpf-earnings>.is-margin { background:#f3edff; border-color:#d9c9ef; }
body.tfpa-pro #tfpa-main .tfpf-clear .tfpf-earnings>.is-margin strong { color:#6335a3; }
body.tfpa-pro #tfpa-main .tfpf-clear .tfpf-earnings>.is-margin.is-negative strong { color:#a62b44; }
body.tfpa-pro #tfpa-main .tfpf-clear .tfpf-earnings-note { margin:0 0 20px; font-size:12px; line-height:1.6; color:#536c7e; }
@media(max-width:900px) {
  body.tfpa-pro #tfpa-main .tfpf-clear .tfpf-earnings { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:540px) {
  body.tfpa-pro #tfpa-main .tfpf-clear .tfpf-earnings { gap:8px; }
  body.tfpa-pro #tfpa-main .tfpf-clear .tfpf-earnings>div { padding:13px; min-height:116px; gap:6px; }
  body.tfpa-pro #tfpa-main .tfpf-clear .tfpf-earnings strong { font-size:26px; }
  body.tfpa-pro #tfpa-main .tfpf-clear .tfpf-earnings span { font-size:12px; }
}

/* One financial story: received money, paid costs, then outstanding items. */
body.tfpa-pro #tfpa-main .tfpf-clear .tfpf-heading { align-items:flex-start; gap:18px; }
body.tfpa-pro #tfpa-main .tfpf-clear .tfpap-finance-actions { justify-content:flex-end; max-width:570px; }
body.tfpa-pro #tfpa-main .tfpf-clear .tfpf-report-label { margin:4px 0 10px; color:#50697c; font-size:13px; }
body.tfpa-pro #tfpa-main .tfpf-clear .tfpf-earnings a { margin-top:auto; color:#155771; font-size:11px; line-height:1.5; text-decoration:underline; text-underline-offset:3px; }
body.tfpa-pro #tfpa-main .tfpf-clear .tfpf-earnings-note { max-width:900px; }
body.tfpa-pro #tfpa-main .tfpf-clear .tfpf-pending-costs { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:7px 18px; padding:13px 16px; margin:0 0 20px; border:1px solid #ebd7ae; border-radius:11px; background:#fff7e8; color:#785015; text-decoration:none; }
body.tfpa-pro #tfpa-main .tfpf-clear .tfpf-pending-costs>span { font-size:13px; }
body.tfpa-pro #tfpa-main .tfpf-clear .tfpf-pending-costs strong { margin-left:8px; font-size:18px; white-space:nowrap; }
body.tfpa-pro #tfpa-main .tfpf-clear .tfpf-pending-costs small { font-size:12px; }
body.tfpa-pro #tfpa-main .tfpf-clear .tfpf-balance-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
body.tfpa-pro #tfpa-main .tfpf-clear .tfpf-balance-note { font-size:12px; color:#536c7e; line-height:1.6; margin:10px 0 0; }
body.tfpa-pro #tfpa-main .tfpf-clear .tfpf-list-hint { font-size:12px; color:#536c7e; line-height:1.6; margin:0 0 12px; }
body.tfpa-pro #tfpa-main #finance-operations,body.tfpa-pro #tfpa-main #finance-prepayments { scroll-margin-top:calc(var(--tfp-header-fixed-height,76px) + 18px); }
body.tfpa-pro #tfpa-main .tfpf-clear .is-planned { border-left-color:#d59c36; background:#fffbf1; }
body.tfpa-pro #tfpa-main .tfpf-clear .is-planned .tfpf-entry-amount { color:#936010; }
body.tfpa-pro #tfpa-main .tfpf-clear .tfpf-cost-state { display:inline-block; color:#617788; font-size:11px; line-height:1.5; }
body.tfpa-pro #tfpa-main .tfpf-clear .is-planned .tfpf-cost-state { color:#936010; font-weight:650; }
body.tfpa-pro #tfpa-main .tfpf-clear .tfpf-training-link { display:block; color:#66419c; font-size:11px; line-height:1.6; text-underline-offset:3px; }
body.tfpa-pro #tfpa-main .tfpf-clear .tfpf-prepayments>header { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:8px; padding:16px; }
body.tfpa-pro #tfpa-main .tfpf-clear .tfpf-prepayments>header h2 { margin:0; font-size:18px; }
body.tfpa-pro #tfpa-main .tfpf-clear .tfpf-prepayments>header>strong { font-size:22px; color:#61359f; }
body.tfpa-pro #tfpa-main .tfpf-clear .tfpf-cost-breakdown { margin:20px 0; padding:16px; border:1px solid #d6e1e8; border-radius:11px; background:#fff; }
body.tfpa-pro #tfpa-main .tfpf-clear .tfpf-cost-breakdown h2 { font-size:18px; margin:0 0 5px; }
body.tfpa-pro #tfpa-main .tfpf-clear .tfpf-cost-breakdown p { font-size:12px; color:#536c7e; margin:0 0 12px; }
body.tfpa-pro #tfpa-main .tfpf-clear .tfpf-cost-breakdown dl { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px 20px; margin:0; }
body.tfpa-pro #tfpa-main .tfpf-clear .tfpf-cost-breakdown dl>div { display:flex; justify-content:space-between; gap:10px; padding:9px 0; border-top:1px solid #e7edf2; font-size:13px; }
body.tfpa-pro #tfpa-main .tfpf-clear .tfpf-cost-breakdown dd { font-weight:650; margin:0; white-space:nowrap; }
body.tfpa-pro [data-finance-form] .tfpf-purpose,body.tfpa-pro [data-finance-form] .tfpf-training-context { margin:0 0 14px; font-size:13px; line-height:1.6; color:#536c7e; }
body.tfpa-pro [data-finance-form] .tfpf-training-context { padding:12px; border:1px solid #d6e3ea; border-radius:9px; background:#f4f8fb; }
body.tfpa-pro [data-finance-form] .tfpf-training-context>* { display:block; }
body.tfpa-pro [data-finance-form] .tfpf-effect { margin:14px 0 0; padding:12px; border:1px solid #d3e5dd; border-radius:9px; background:#f0faf5; color:#245e4a; font-size:13px; line-height:1.6; }
body.tfpa-pro [data-finance-form] .tfpf-period-hint { padding:10px 12px; margin:12px 0; border:1px solid #ebd7ae; border-radius:9px; background:#fff7e8; color:#785015; font-size:12px; line-height:1.5; }
body.tfpa-pro #tfpa-main .tfpalc { padding:14px; margin-top:14px; border:1px solid #d8e2e9; border-radius:12px; background:#fff; color:#25475c; }
body.tfpa-pro #tfpa-main .tfpalc h3 { font-size:16px; margin:0 0 4px; }
body.tfpa-pro #tfpa-main .tfpalc header p,body.tfpa-pro #tfpa-main .tfpalc-empty,body.tfpa-pro #tfpa-main .tfpalc-free { font-size:12px; line-height:1.6; color:#597285; margin:0 0 12px; }
body.tfpa-pro #tfpa-main .tfpalc-totals { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin:0 0 12px; }
body.tfpa-pro #tfpa-main .tfpalc-totals>div { min-width:0; padding:10px; border-radius:8px; background:#f2f7fa; }
body.tfpa-pro #tfpa-main .tfpalc-totals dt { font-size:11px; color:#597285; }
body.tfpa-pro #tfpa-main .tfpalc-totals dd { font-size:19px; font-weight:700; margin:5px 0 0; overflow-wrap:anywhere; }
body.tfpa-pro #tfpa-main .tfpalc-add { display:flex; align-items:center; justify-content:center; min-height:44px; padding:9px 12px; margin:0 0 12px; background:#eee7fa; color:#6335a3; border:1px solid #d8c7ef; border-radius:8px; font-size:13px; font-weight:650; text-decoration:none; }
body.tfpa-pro #tfpa-main .tfpalc-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:6px 10px; padding:11px 0; border-top:1px solid #e5edf3; }
body.tfpa-pro #tfpa-main .tfpalc-row>div { min-width:0; overflow-wrap:anywhere; }
body.tfpa-pro #tfpa-main .tfpalc-row strong { font-size:13px; }
body.tfpa-pro #tfpa-main .tfpalc-row small { display:block; color:#657e8f; font-size:11px; margin-top:4px; }
body.tfpa-pro #tfpa-main .tfpalc-row>a { grid-column:1/-1; min-height:36px; display:flex; align-items:center; font-size:12px; color:#66419c; }
body.tfpa-pro #tfpa-main .tfpalc-editor>summary { min-height:44px; padding:11px 0; font-size:13px; color:#6335a3; cursor:pointer; }
body.tfpa-pro #tfpa-main .tfpalc-enhanced .tfpalc-editor:not([open]) { display:none; }
body.tfpa-pro #tfps-billing-dialog .tfpalc-editor>summary { display:none; }
body.tfpa-pro .tfpalc-editor .tfpf-delete { margin-top:14px; color:#ad3350; background:#fff; border:1px solid #e8cbd2; border-radius:8px; min-height:44px; padding:9px 12px; }
body.tfpa-pro #tfpa-main .tfpalc-prepaid { display:flex; align-items:center; justify-content:center; min-height:44px; padding:9px 12px; margin:0 0 12px; border:1px solid #aed3c0; border-radius:8px; background:#eaf7ef; color:#176d53; font-size:13px; font-weight:650; text-decoration:none; }
body.tfpa-pro #tfpa-main .tfpalc-row .tfpalc-use-prepaid { padding:5px 10px; border:1px solid #c5e1d1; border-radius:7px; color:#176d53; background:#f0faf4; }
body.tfpa-pro #tfpa-main .tfpf .tfpf-entry-copy .tfpf-prepaid-shortcut { display:inline-flex; align-items:center; min-height:36px; max-width:100%; margin:7px 0 0; padding:6px 10px; border:1px solid #c5e1d1; border-radius:7px; background:#f0faf4; color:#176d53; font-size:12px; line-height:1.5; }
body.tfpa-pro #tfpa-main .tfpap-finance-actions .tfpf-prepaid-shortcut { border-color:#c5e1d1; color:#176d53; background:#f0faf4; }
body.tfpa-pro #tfpa-main form[data-finance-cancel-form] { display:flex; width:fit-content; max-width:100%; gap:0; padding:0; margin:7px 0 0; border:0; background:transparent; box-shadow:none; }
body.tfpa-pro #tfpa-main .tfpalc-row>form[data-finance-cancel-form] { grid-column:1/-1; justify-self:start; margin:0; }
body.tfpa-pro #tfpa-main form[data-finance-cancel-form] .tfpf-cancel-cost { display:inline-flex; align-items:center; justify-content:center; min-height:44px; max-width:100%; padding:7px 12px; border:1px solid #e6c4ce; border-radius:7px; background:#fff8fa; color:#a12d49; font:inherit; font-size:12px; font-weight:650; line-height:1.5; white-space:normal; cursor:pointer; }
body.tfpa-pro #tfpa-main form[data-finance-cancel-form] .tfpf-cancel-cost:hover { background:#fbeaf0; border-color:#cd9aaa; }
body.tfpa-pro #tfpa-main form[data-finance-cancel-form] .tfpf-cancel-cost:focus-visible { outline:3px solid #a12d49; outline-offset:3px; }
@media(max-width:760px) {
  body.tfpa-pro #tfpa-main .tfpf-clear .tfpap-finance-actions { justify-content:flex-start; max-width:none; }
  body.tfpa-pro #tfpa-main .tfpf-clear .tfpf-balance-grid { grid-template-columns:minmax(0,1fr); }
  body.tfpa-pro #tfpa-main .tfpf-clear .tfpf-cost-breakdown dl { grid-template-columns:minmax(0,1fr); }
}

/* Owner dashboard uses its own text tracks; no reserved columns for removed icons. */
body.tfpa-pro #tfpa-main .tfpd { display:grid; grid-template-columns:minmax(0,1fr); gap:14px; color:#18364b; }
body.tfpa-pro #tfpa-main .tfpd *,body.tfpa-pro #tfpa-main .tfpd *::before,body.tfpa-pro #tfpa-main .tfpd *::after { box-sizing:border-box; }
body.tfpa-pro #tfpa-main .tfpd a { color:inherit; text-decoration:none; }
body.tfpa-pro #tfpa-main .tfpd a:focus-visible { outline:3px solid #9472cb; outline-offset:3px; }
body.tfpa-pro #tfpa-main .tfpd-heading { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px 18px; }
body.tfpa-pro #tfpa-main .tfpd-heading h1 { font-size:25px!important; line-height:1.25; margin:3px 0 0; }
body.tfpa-pro #tfpa-main .tfpd-heading p { color:#61788c; font-size:12px; line-height:1.5; }
body.tfpa-pro #tfpa-main .tfpd-actions { display:flex; flex-wrap:wrap; gap:7px; }
body.tfpa-pro #tfpa-main .tfpd-actions a { display:flex; align-items:center; justify-content:center; min-height:42px; padding:9px 12px; border:1px solid #d2dfe8; border-radius:9px; background:#fff; color:#36566b; font-size:12px; font-weight:650; }
body.tfpa-pro #tfpa-main .tfpd-actions a.is-primary { background:#7138d2; color:#fff; border-color:#7138d2; }
body.tfpa-pro #tfpa-main .tfpd-kpis { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
body.tfpa-pro #tfpa-main .tfpd-kpi { display:flex; flex-direction:column; min-width:0; gap:4px; padding:14px; border:1px solid #d6e2ea; border-radius:11px; background:#fff; }
body.tfpa-pro #tfpa-main .tfpd-kpi>span { color:#536d80; font-size:12px; line-height:1.45; }
body.tfpa-pro #tfpa-main .tfpd-kpi>strong { font-size:clamp(21px,2.1vw,27px); font-weight:750; line-height:1.25; letter-spacing:-.025em; overflow-wrap:anywhere; font-variant-numeric:tabular-nums; }
body.tfpa-pro #tfpa-main .tfpd-kpi>small { font-size:11px; line-height:1.5; color:#627a8d; }
body.tfpa-pro #tfpa-main .tfpd-kpi.is-due { background:#fff8f9; border-color:#eddae0; }
body.tfpa-pro #tfpa-main .tfpd-kpi.is-due>strong { color:#ad3350; }
body.tfpa-pro #tfpa-main .tfpd-kpi.is-profit { background:#ecf8f2; border-color:#cde5d9; }
body.tfpa-pro #tfpa-main .tfpd-kpi.is-profit>strong { color:#176d53; }
body.tfpa-pro #tfpa-main .tfpd-kpi.is-profit.is-negative { background:#fff4f6; border-color:#eddae0; }
body.tfpa-pro #tfpa-main .tfpd-kpi.is-profit.is-negative>strong { color:#ad3350; }
body.tfpa-pro #tfpa-main .tfpd-columns { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,1fr); gap:12px; align-items:start; }
body.tfpa-pro #tfpa-main .tfpd-side { display:grid; gap:12px; min-width:0; }
body.tfpa-pro #tfpa-main .tfpd-card { min-width:0; padding:16px; background:#fff; border:1px solid #d6e2ea; border-radius:12px; }
body.tfpa-pro #tfpa-main .tfpd-card-head { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:6px 12px; margin-bottom:12px; }
body.tfpa-pro #tfpa-main .tfpd-card-head h2 { font-size:17px!important; line-height:1.4; margin:0; }
body.tfpa-pro #tfpa-main .tfpd-card-head>a { min-height:32px; display:flex; align-items:center; color:#5d3597; font-size:12px; font-weight:600; }
body.tfpa-pro #tfpa-main .tfpd-card-head>span { color:#61798c; font-size:12px; }
body.tfpa-pro #tfpa-main .tfpd-section-label { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:5px 12px; padding:8px 0; }
body.tfpa-pro #tfpa-main .tfpd-section-label h3 { font-size:13px; font-weight:700; line-height:1.5; margin:0; }
body.tfpa-pro #tfpa-main .tfpd-section-label>span { color:#6b8193; font-size:11px; }
body.tfpa-pro #tfpa-main .tfpd-empty { padding:10px 12px; margin:0 0 8px; border-radius:8px; background:#f6f9fb; color:#60788a; font-size:12px; line-height:1.6; }
body.tfpa-pro #tfpa-main .tfpd-empty>a { color:#633c9b; text-decoration:underline; }
body.tfpa-pro #tfpa-main .tfpd-lesson { display:grid; grid-template-columns:58px minmax(0,1fr) auto; align-items:center; gap:10px; padding:11px 0; border-bottom:1px solid #e7edf2; }
body.tfpa-pro #tfpa-main .tfpd-lesson:last-child { border-bottom:0; }
body.tfpa-pro #tfpa-main .tfpd-time { display:grid; gap:2px; }
body.tfpa-pro #tfpa-main .tfpd-time>strong { color:#334d6e; font-size:16px; line-height:1.3; font-variant-numeric:tabular-nums; }
body.tfpa-pro #tfpa-main .tfpd-time>span { color:#6b8193; font-size:11px; }
body.tfpa-pro #tfpa-main .tfpd-lesson-info { min-width:0; }
body.tfpa-pro #tfpa-main .tfpd-lesson-info>strong { display:block; font-size:13px; line-height:1.5; font-weight:650; overflow-wrap:anywhere; }
body.tfpa-pro #tfpa-main .tfpd-lesson-info>span { display:block; margin-top:2px; color:#6b8193; font-size:11px; line-height:1.5; overflow-wrap:anywhere; }
body.tfpa-pro #tfpa-main .tfpd-state { flex:none; padding:5px 7px; border-radius:6px; background:#f0ecfa; color:#6c459d; font-size:10px; line-height:1.4; white-space:nowrap; }
body.tfpa-pro #tfpa-main .tfpd-state.is-live { background:#e1f4ec; color:#176d53; }
body.tfpa-pro #tfpa-main .tfpd-state.is-done { background:#eef3f7; color:#647c8e; }
body.tfpa-pro #tfpa-main .tfpd-task { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:12px; padding:12px 0; border-bottom:1px solid #e7edf2; }
body.tfpa-pro #tfpa-main .tfpd-task>div { min-width:0; }
body.tfpa-pro #tfpa-main .tfpd-task strong { display:block; font-size:13px; line-height:1.5; font-weight:650; word-break:normal; overflow-wrap:break-word; }
body.tfpa-pro #tfpa-main .tfpd-task small { display:block; color:#6b8193; margin-top:3px; font-size:11px; line-height:1.5; }
body.tfpa-pro #tfpa-main .tfpd-task>span { color:#653b9d; font-size:13px; font-weight:650; text-align:right; white-space:nowrap; }
body.tfpa-pro #tfpa-main .tfpd-task.is-red>span { color:#ad3350; }
body.tfpa-pro #tfpa-main .tfpd-task.is-teal>span { color:#16775e; }
body.tfpa-pro #tfpa-main .tfpd-task.is-amber>span { color:#91620e; }
body.tfpa-pro #tfpa-main .tfpd-more { display:flex; align-items:center; min-height:38px; margin-top:6px; color:#623b9c; font-size:12px; font-weight:600; line-height:1.5; }
body.tfpa-pro #tfpa-main .tfpd-all-clear { padding:10px 12px; border-radius:8px; background:#edf8f2; color:#217456; font-size:13px; line-height:1.6; }
body.tfpa-pro #tfpa-main .tfpd-finance-list { margin:0; }
body.tfpa-pro #tfpa-main .tfpd-finance-list>div { display:flex; justify-content:space-between; gap:12px; padding:9px 0; font-size:13px; border-bottom:1px solid #edf1f5; }
body.tfpa-pro #tfpa-main .tfpd-finance-list dt { color:#587184; }
body.tfpa-pro #tfpa-main .tfpd-finance-list dd { margin:0; font-weight:650; white-space:nowrap; font-variant-numeric:tabular-nums; }
body.tfpa-pro #tfpa-main .tfpd-finance-list .tfpd-result { font-weight:700; border-bottom:0; }
body.tfpa-pro #tfpa-main .tfpd-finance-list .tfpd-result dd { color:#176d53; }
body.tfpa-pro #tfpa-main .tfpd-finance-list .tfpd-result.is-negative dd { color:#ad3350; }
body.tfpa-pro #tfpa-main .tfpd-caption { color:#6b8193; font-size:11px; line-height:1.5; margin:8px 0 0; }
body.tfpa-pro #tfpa-main .tfpd-bottom { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; align-items:start; }
body.tfpa-pro #tfpa-main .tfpd-attendance { display:flex; align-items:baseline; flex-wrap:wrap; gap:5px 8px; color:#5a7386; font-size:13px; line-height:1.6; margin:0 0 10px; }
body.tfpa-pro #tfpa-main .tfpd-attendance>span { color:#73889a; font-size:11px; }
body.tfpa-pro #tfpa-main .tfpd-group-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
body.tfpa-pro #tfpa-main .tfpd-group-list>a { min-width:0; padding:10px; border:1px solid #e1e8ee; border-radius:8px; background:#f8fafc; }
body.tfpa-pro #tfpa-main .tfpd-group-list strong { display:block; font-size:13px; line-height:1.5; overflow-wrap:anywhere; }
body.tfpa-pro #tfpa-main .tfpd-group-list span { display:block; font-size:11px; line-height:1.5; color:#6b8193; margin-top:3px; }
body.tfpa-pro #tfpa-main .tfpd-people>a { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:10px; padding:10px 0; border-bottom:1px solid #e7edf2; }
body.tfpa-pro #tfpa-main .tfpd-people>a:last-child { border-bottom:0; }
body.tfpa-pro #tfpa-main .tfpd-people strong { display:block; font-size:13px; line-height:1.5; overflow-wrap:anywhere; }
body.tfpa-pro #tfpa-main .tfpd-people small { display:block; color:#6b8193; font-size:11px; line-height:1.5; }
body.tfpa-pro #tfpa-main .tfpd-people>a>span { color:#597387; font-size:11px; white-space:nowrap; }
body.tfpa-pro #tfpa-main .tfpd-notice { padding:12px; border:1px solid #e3d3aa; border-radius:9px; background:#fff9eb; color:#805c1d; font-size:13px; }
@media(max-width:1100px) {
  body.tfpa-pro #tfpa-main .tfpd-kpis { grid-template-columns:repeat(2,minmax(0,1fr)); }
  body.tfpa-pro #tfpa-main .tfpd-columns { grid-template-columns:minmax(0,1fr); }
  body.tfpa-pro #tfpa-main .tfpd-side { grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; }
}
@media(max-width:700px) {
  body.tfpa-pro #tfpa-main .tfpd { gap:10px; }
  body.tfpa-pro #tfpa-main .tfpd-heading { align-items:flex-start; }
  body.tfpa-pro #tfpa-main .tfpd-actions { width:100%; }
  body.tfpa-pro #tfpa-main .tfpd-actions>a { flex:1; font-size:11px; padding:9px; }
  body.tfpa-pro #tfpa-main .tfpd-side,body.tfpa-pro #tfpa-main .tfpd-bottom { grid-template-columns:minmax(0,1fr); }
  body.tfpa-pro #tfpa-main .tfpd-card { padding:13px; }
  body.tfpa-pro #tfpa-main .tfpd-task { grid-template-columns:minmax(0,1fr); gap:6px; }
  body.tfpa-pro #tfpa-main .tfpd-task>span { text-align:left; }
  body.tfpa-pro #tfpa-main .tfpd-lesson { grid-template-columns:50px minmax(0,1fr); gap:5px 9px; }
  body.tfpa-pro #tfpa-main .tfpd-lesson .tfpd-state { grid-column:2; justify-self:start; }
}
