.tp-panel{--tp-price:#b88a2e;--tp-day:#258c81;--tp-labour:#8c71ba;--tp-people:#35679e;margin:22px 0;padding:22px;border:1px solid var(--line);border-radius:var(--radius,16px);background:var(--panel);color:var(--ink);min-width:0}
:root[data-theme=dark] .tp-panel{--tp-price:#d5b45f;--tp-day:#68beb3;--tp-labour:#a69ad1;--tp-people:#a5c6f4}
.tp-heading,.tp-chart-title,.tp-category-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.tp-heading h2,.tp-chart-title h3,.tp-category-heading h3{margin:0}.tp-heading>span,.tp-range,.tp-hero small,.tp-stat small{color:var(--muted);font-size:12px}.tp-hero{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;padding:23px 0}.tp-hero strong{display:block;font-size:38px;line-height:1.2;letter-spacing:-1px;margin-top:7px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.tp-people{text-align:right}.tp-hero .tp-people strong{font-size:34px}.tp-chart-panel{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--panel)}.tp-chart-title{padding:18px 16px 0}.tp-legend{display:flex;gap:16px;flex-wrap:wrap;padding:12px 16px 0;font-size:11px;color:var(--muted)}.tp-legend>span{display:inline-flex;align-items:center;gap:7px}.tp-income-key{width:10px;height:10px;border-radius:2px;background:var(--tp-price)}.tp-people-key{width:23px;height:2px;background:var(--tp-people);position:relative}.tp-people-key:after{content:"";position:absolute;width:6px;height:6px;border-radius:50%;background:var(--tp-people);top:-2px;left:9px}.tp-chart-wrap{position:relative;margin:12px 12px 0;min-width:0}.tp-chart{display:block;width:100%;height:auto;overflow:visible}.tp-chart text{font-size:11px;fill:var(--muted);font-family:inherit;font-variant-numeric:tabular-nums}.tp-chart .tp-count{fill:var(--ink)}.tp-week-hits{position:absolute;top:28px;bottom:43px;display:grid;grid-auto-flow:column;grid-auto-columns:1fr}.tp-week-hits button{background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;border-radius:5px;min-width:0}.tp-week-hits button:hover{background:color-mix(in srgb,var(--ink) 4%,transparent)!important}.tp-chart-foot{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;padding:2px 16px 14px;font-size:11px;color:var(--muted)}.tp-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line);background:var(--panel-alt)}.tp-stat{min-width:0;padding:16px}.tp-stat+.tp-stat{border-left:1px solid var(--line)}.tp-stat small{display:block;font-size:11px}.tp-stat strong{display:block;font-size:25px;margin:7px 0;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.tp-category-heading{margin:24px 0 12px}.tp-category-heading button{font-size:12px;min-height:40px}.tp-categories{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.tp-panel .tp-category{display:flex;flex-direction:column;gap:9px;text-align:left;min-width:0;padding:15px 14px!important;border:1px solid var(--line)!important;border-radius:10px;background:var(--panel-alt)!important;color:var(--ink)!important}.tp-panel [data-tp-kind][aria-pressed=true]{border-color:var(--gold)!important;background:var(--gold-bg)!important}.tp-category b{display:flex;align-items:center;gap:7px;font-size:14px}.tp-category strong{font-size:25px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.tp-category small{display:flex;justify-content:space-between;flex-wrap:wrap;gap:4px;font-size:11px;color:var(--muted);font-weight:400}.tp-dot{width:7px;height:7px;border-radius:2px}.tp-track{height:5px;background:var(--line);border-radius:3px;width:100%;overflow:hidden}.tp-track i{height:100%;display:block}.tp-panel .pricework{background:var(--tp-price)}.tp-panel .daywork{background:var(--tp-day)}.tp-panel .labour{background:var(--tp-labour)}.tp-coverage{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-top:16px;padding:14px;background:var(--panel-alt);border-radius:8px;font-size:12px}.tp-coverage>span{flex:1;min-width:180px}.tp-coverage small{display:block;line-height:1.5;margin-top:5px;color:var(--muted)}.tp-coverage button,.tp-types{font-size:12px}.tp-types{margin-top:14px}.tp-note{font-size:12px;line-height:1.6;color:var(--muted);margin:13px 0 0}.tp-sr{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@media(max-width:700px){.tp-panel{padding:15px 12px}.tp-heading>span{font-size:11px}.tp-hero strong{font-size:29px}.tp-hero .tp-people strong{font-size:29px}.tp-hero small{font-size:11px}.tp-chart-title{padding:15px 11px 0}.tp-chart-wrap{margin:10px 2px 0}.tp-legend{padding:11px 11px 0}.tp-chart-foot{padding:2px 11px 13px}.tp-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.tp-stat{padding:13px 10px}.tp-stat:last-child{grid-column:1/-1;border-left:0;border-top:1px solid var(--line);display:flex;gap:8px;align-items:baseline;flex-wrap:wrap}.tp-stat:last-child strong{font-size:19px;margin:0}.tp-categories{grid-template-columns:1fr}.tp-panel .tp-category{display:grid;grid-template-columns:1fr auto;gap:8px}.tp-category>b{grid-column:1;grid-row:1}.tp-category>strong{grid-column:2;grid-row:1;text-align:right;font-size:22px;white-space:nowrap}.tp-category>small,.tp-category>.tp-track{grid-column:1/-1}.tp-coverage{padding:12px}.tp-coverage>span{min-width:0;flex-basis:100%}.tp-coverage button{width:100%}}

@media(max-width:420px){.tp-stats{grid-template-columns:1fr}.tp-stat{display:grid;grid-template-columns:1fr auto;align-items:center;gap:6px 10px}.tp-stat+.tp-stat{border-left:0;border-top:1px solid var(--line)}.tp-stat strong{font-size:22px;white-space:nowrap;margin:0}.tp-stat small:last-child{grid-column:1/-1}.tp-stat:last-child{display:flex}.tp-category>strong{font-size:20px}}
.tp-type-editor{padding:16px;margin:16px 0;border:1px solid var(--line);border-radius:10px;background:var(--panel-alt);min-width:0}.tp-type-editor label{display:flex;flex-direction:column;gap:6px;min-width:0}.tp-type-editor select,.tp-type-editor input{width:100%;min-width:0;box-sizing:border-box}.tp-type-editor [hidden]{display:none!important}.tp-split-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.tp-split-total,[data-tp-balance]{font-size:13px;font-variant-numeric:tabular-nums}.tp-type-editor .tp-note{margin-top:10px}@media(max-width:540px){.tp-split-fields{grid-template-columns:1fr}.tp-type-editor{padding:12px}}
