/* Minhas Finanças — visualização exclusiva do Professor. */
body:not(:is([data-profession="teacher"],:is([data-profession="barber"],[data-profession="other"]),[data-profession="trainer"])) .teacher-finance-only{display:none!important}
body:is([data-profession="teacher"],:is([data-profession="barber"],[data-profession="other"]),[data-profession="trainer"]) #personal-finance-dialog{background:#f8f6f0;color:#142720}
body:is([data-profession="teacher"],:is([data-profession="barber"],[data-profession="other"]),[data-profession="trainer"]) #personal-finance-dialog .personal-finance-shell{padding:clamp(16px,4vw,28px)}
body:is([data-profession="teacher"],:is([data-profession="barber"],[data-profession="other"]),[data-profession="trainer"]) #personal-finance-dialog .personal-finance-header h2{font-family:var(--tp-serif,Georgia,serif);font-size:clamp(1.65rem,5vw,2.2rem);letter-spacing:-.025em}
body:is([data-profession="teacher"],:is([data-profession="barber"],[data-profession="other"]),[data-profession="trainer"]) #personal-finance-dialog .personal-finance-header p:last-child{max-width:480px;font-size:.84rem;line-height:1.45}
body:is([data-profession="teacher"],:is([data-profession="barber"],[data-profession="other"]),[data-profession="trainer"]) #personal-finance-dialog .personal-finance-month-label{display:none}
body:is([data-profession="teacher"],:is([data-profession="barber"],[data-profession="other"]),[data-profession="trainer"]) #personal-finance-dialog .personal-finance-filters{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:12px;margin:20px 0 12px}
body:is([data-profession="teacher"],:is([data-profession="barber"],[data-profession="other"]),[data-profession="trainer"]) #personal-finance-dialog .personal-finance-filters label{min-width:0}
body:is([data-profession="teacher"],:is([data-profession="barber"],[data-profession="other"]),[data-profession="trainer"]) #personal-finance-dialog .personal-finance-filters label span{font-size:.78rem}
body:is([data-profession="teacher"],:is([data-profession="barber"],[data-profession="other"]),[data-profession="trainer"]) #personal-finance-dialog .personal-finance-filters :is(select,input){width:100%;min-width:0;min-height:48px;border:1px solid #d9e1db;border-radius:15px;background:#fff;color:#142720;font-size:.88rem}
body:is([data-profession="teacher"],:is([data-profession="barber"],[data-profession="other"]),[data-profession="trainer"]) .teacher-finance-custom{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:-2px 0 14px}
body:is([data-profession="teacher"],:is([data-profession="barber"],[data-profession="other"]),[data-profession="trainer"]) .teacher-finance-custom[hidden]{display:none!important}
body:is([data-profession="teacher"],:is([data-profession="barber"],[data-profession="other"]),[data-profession="trainer"]) .teacher-finance-custom label{min-width:0;font-size:.78rem;font-weight:700}
body:is([data-profession="teacher"],:is([data-profession="barber"],[data-profession="other"]),[data-profession="trainer"]) .teacher-finance-custom label span{display:block;margin-bottom:5px}
body:is([data-profession="teacher"],:is([data-profession="barber"],[data-profession="other"]),[data-profession="trainer"]) .teacher-finance-custom input{width:100%;min-width:0;min-height:44px;margin:0;border-radius:13px;background:#fff}
body:is([data-profession="teacher"],:is([data-profession="barber"],[data-profession="other"]),[data-profession="trainer"]) .teacher-finance-custom p{grid-column:1/-1;margin:0;color:#a3332c;font-size:.78rem}
body:is([data-profession="teacher"],:is([data-profession="barber"],[data-profession="other"]),[data-profession="trainer"]) .teacher-finance-tabs{display:flex;gap:7px;margin:0 -4px 14px;padding:3px 4px 5px;overflow-x:auto;scrollbar-width:none;overscroll-behavior-x:contain}
body:is([data-profession="teacher"],:is([data-profession="barber"],[data-profession="other"]),[data-profession="trainer"]) .teacher-finance-tabs::-webkit-scrollbar{display:none}
body:is([data-profession="teacher"],:is([data-profession="barber"],[data-profession="other"]),[data-profession="trainer"]) .teacher-finance-tabs button{flex:0 0 auto;min-height:43px;padding:0 15px;border:1px solid #e2e5df;border-radius:999px;background:#f0eee8;color:#20372f;font:inherit;font-size:.78rem;font-weight:750;cursor:pointer;white-space:nowrap;transition:background-color var(--motion-fast,160ms) var(--ease-standard,ease),color var(--motion-fast,160ms) var(--ease-standard,ease),transform var(--motion-fast,160ms) var(--ease-standard,ease)}
body:is([data-profession="teacher"],:is([data-profession="barber"],[data-profession="other"]),[data-profession="trainer"]) .teacher-finance-tabs button:active{transform:scale(.98)}
body:is([data-profession="teacher"],:is([data-profession="barber"],[data-profession="other"]),[data-profession="trainer"]) .teacher-finance-tabs button.is-active{border-color:#0b503d;background:#064432;color:#f7d47d;box-shadow:0 5px 12px #0a3c2e2b}
body:is([data-profession="teacher"],:is([data-profession="barber"],[data-profession="other"]),[data-profession="trainer"]) .teacher-finance-tabs button:focus-visible,body:is([data-profession="teacher"],:is([data-profession="barber"],[data-profession="other"]),[data-profession="trainer"]) .tf-chart-hits button:focus-visible{outline:3px solid #d4a853;outline-offset:2px}
body:is([data-profession="teacher"],:is([data-profession="barber"],[data-profession="other"]),[data-profession="trainer"]) .teacher-finance-history{display:block;min-width:0;margin-bottom:14px;padding:18px;border-radius:23px;background:radial-gradient(circle at 85% 12%,#0d5a46,#063d31 56%,#042f27);color:#fff;box-shadow:0 12px 27px #0d342927;animation:motion-fade-lift var(--motion-base,240ms) var(--ease-standard,ease) both}
body:is([data-profession="teacher"],:is([data-profession="barber"],[data-profession="other"]),[data-profession="trainer"]) .tf-chart-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px}
body:is([data-profession="teacher"],:is([data-profession="barber"],[data-profession="other"]),[data-profession="trainer"]) .tf-chart-head h3,body:is([data-profession="teacher"],:is([data-profession="barber"],[data-profession="other"]),[data-profession="trainer"]) .tf-more h3{margin:0;color:#fff;font-size:1.08rem;font-weight:850}
body:is([data-profession="teacher"],:is([data-profession="barber"],[data-profession="other"]),[data-profession="trainer"]) .tf-legend{display:flex;flex-wrap:wrap;gap:6px 14px}
body:is([data-profession="teacher"],:is([data-profession="barber"],[data-profession="other"]),[data-profession="trainer"]) .tf-legend span{display:inline-flex;align-items:center;gap:6px;color:#e6f1eb;font-size:.7rem}
body:is([data-profession="teacher"],:is([data-profession="barber"],[data-profession="other"]),[data-profession="trainer"]) .tf-legend span::before{content:"";width:9px;height:9px;border-radius:50%;background:#52c996}
body:is([data-profession="teacher"],:is([data-profession="barber"],[data-profession="other"]),[data-profession="trainer"]) .tf-legend .is-expenses::before{background:#f0797b}
body:is([data-profession="teacher"],:is([data-profession="barber"],[data-profession="other"]),[data-profession="trainer"]) .tf-legend .is-result::before,body:is([data-profession="teacher"],:is([data-profession="barber"],[data-profession="other"]),[data-profession="trainer"]) .tf-legend .is-lessons::before{background:#f2cb65}
body:is([data-profession="teacher"],:is([data-profession="barber"],[data-profession="other"]),[data-profession="trainer"]) .tf-tooltip{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:8px;padding:10px 12px;border:1px solid #d4a85382;border-radius:14px;background:#092e27;color:#fff;animation:motion-fade var(--motion-fast,160ms) var(--ease-standard,ease)}
body:is([data-profession="teacher"],:is([data-profession="barber"],[data-profession="other"]),[data-profession="trainer"]) .tf-tooltip>strong{font-size:.8rem;text-transform:capitalize}
body:is([data-profession="teacher"],:is([data-profession="barber"],[data-profession="other"]),[data-profession="trainer"]) .tf-tooltip>span{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:5px 12px}
body:is([data-profession="teacher"],:is([data-profession="barber"],[data-profession="other"]),[data-profession="trainer"]) .tf-tooltip>span>span{display:flex;gap:5px;min-width:0;font-size:.73rem;overflow-wrap:anywhere}
body:is([data-profession="teacher"],:is([data-profession="barber"],[data-profession="other"]),[data-profession="trainer"]) .tf-tooltip i{color:#c8ddd3;font-style:normal}
body:is([data-profession="teacher"],:is([data-profession="barber"],[data-profession="other"]),[data-profession="trainer"]) .tf-tooltip b{color:#fff;font-variant-numeric:tabular-nums}
body:is([data-profession="teacher"],:is([data-profession="barber"],[data-profession="other"]),[data-profession="trainer"]) .tf-chart-scroll{max-width:100%;margin-top:8px;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;scrollbar-color:#a8c3b6 transparent}
body:is([data-profession="teacher"],:is([data-profession="barber"],[data-profession="other"]),[data-profession="trainer"]) .tf-chart-canvas{max-width:none}
body:is([data-profession="teacher"],:is([data-profession="barber"],[data-profession="other"]),[data-profession="trainer"]) .tf-chart-plot{position:relative;height:200px}
body:is([data-profession="teacher"],:is([data-profession="barber"],[data-profession="other"]),[data-profession="trainer"]) .tf-chart-plot svg{display:block;overflow:visible}
body:is([data-profession="teacher"],:is([data-profession="barber"],[data-profession="other"]),[data-profession="trainer"]) .tf-grid-line{stroke:#ffffff24;stroke-width:1}
body:is([data-profession="teacher"],:is([data-profession="barber"],[data-profession="other"]),[data-profession="trainer"]) .tf-bar-revenue{fill:#51c998}
body:is([data-profession="teacher"],:is([data-profession="barber"],[data-profession="other"]),[data-profession="trainer"]) .tf-bar-expenses{fill:#f07878}
body:is([data-profession="teacher"],:is([data-profession="barber"],[data-profession="other"]),[data-profession="trainer"]) .tf-bar-lessons{fill:#f0c962}
body:is([data-profession="teacher"],:is([data-profession="barber"],[data-profession="other"]),[data-profession="trainer"]) .tf-bar{transform-box:fill-box;transform-origin:center bottom;animation:tf-bar-grow 520ms var(--ease-standard,ease) both}
body:is([data-profession="teacher"],:is([data-profession="barber"],[data-profession="other"]),[data-profession="trainer"]) .tf-result-line{fill:none;stroke:#f2cc68;stroke-width:2.4;stroke-linejoin:round;stroke-linecap:round;stroke-dasharray:2000;animation:tf-line-draw 650ms var(--ease-standard,ease) both}
body:is([data-profession="teacher"],:is([data-profession="barber"],[data-profession="other"]),[data-profession="trainer"]) .tf-result-dot{fill:#f2cc68;stroke:#073a2e;stroke-width:1.5;animation:motion-fade var(--motion-base,240ms) 160ms both}
body:is([data-profession="teacher"],:is([data-profession="barber"],[data-profession="other"]),[data-profession="trainer"]) .tf-chart-hits{position:absolute;inset:0;display:grid}
body:is([data-profession="teacher"],:is([data-profession="barber"],[data-profession="other"]),[data-profession="trainer"]) .tf-chart-hits button{min-width:0;padding:0;border:0;border-radius:7px;background:transparent;cursor:pointer}
body:is([data-profession="teacher"],:is([data-profession="barber"],[data-profession="other"]),[data-profession="trainer"]) .tf-chart-hits button:is(:hover,:focus-visible,.is-active){background:#ffffff13}
body:is([data-profession="teacher"],:is([data-profession="barber"],[data-profession="other"]),[data-profession="trainer"]) .tf-month-labels{display:grid;margin-top:4px;text-align:center}
body:is([data-profession="teacher"],:is([data-profession="barber"],[data-profession="other"]),[data-profession="trainer"]) .tf-month-labels span{min-width:0;color:#dcece4;font-size:.66rem;text-transform:capitalize}
body:is([data-profession="teacher"],:is([data-profession="barber"],[data-profession="other"]),[data-profession="trainer"]) .tf-data-details{margin-top:12px;border-top:1px solid #ffffff24;padding-top:9px}
body:is([data-profession="teacher"],:is([data-profession="barber"],[data-profession="other"]),[data-profession="trainer"]) .tf-data-details summary{cursor:pointer;color:#d8e7de;font-size:.72rem}
body:is([data-profession="teacher"],:is([data-profession="barber"],[data-profession="other"]),[data-profession="trainer"]) .tf-table-scroll{max-width:100%;overflow-x:auto}
body:is([data-profession="teacher"],:is([data-profession="barber"],[data-profession="other"]),[data-profession="trainer"]) .tf-data-details table{width:100%;min-width:460px;margin-top:9px;border-collapse:collapse;font-size:.68rem}
body:is([data-profession="teacher"],:is([data-profession="barber"],[data-profession="other"]),[data-profession="trainer"]) .tf-data-details :is(th,td){padding:6px;border-bottom:1px solid #ffffff21;text-align:left;white-space:nowrap}
body:is([data-profession="teacher"],:is([data-profession="barber"],[data-profession="other"]),[data-profession="trainer"]) .tf-basis-note{margin:10px 0 0;color:#c2d6cb;font-size:.66rem;line-height:1.4}
body:is([data-profession="teacher"],:is([data-profession="barber"],[data-profession="other"]),[data-profession="trainer"]) .tf-empty{padding:22px 6px;text-align:center}
body:is([data-profession="teacher"],:is([data-profession="barber"],[data-profession="other"]),[data-profession="trainer"]) .tf-empty>span{display:grid;place-items:center;width:52px;height:52px;margin:auto auto 10px;border-radius:16px;background:#ffffff1c;color:#f0c962;font-size:1.5rem}
body:is([data-profession="teacher"],:is([data-profession="barber"],[data-profession="other"]),[data-profession="trainer"]) .tf-empty h3{margin:0;font-size:.98rem}
body:is([data-profession="teacher"],:is([data-profession="barber"],[data-profession="other"]),[data-profession="trainer"]) .tf-empty p{max-width:330px;margin:8px auto 0;color:#c9ded3;font-size:.78rem;line-height:1.45}
body:is([data-profession="teacher"],:is([data-profession="barber"],[data-profession="other"]),[data-profession="trainer"]) .tf-more>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}
body:is([data-profession="teacher"],:is([data-profession="barber"],[data-profession="other"]),[data-profession="trainer"]) .tf-more article{padding:15px;border-radius:15px;background:#ffffff19}
body:is([data-profession="teacher"],:is([data-profession="barber"],[data-profession="other"]),[data-profession="trainer"]) .tf-more article :is(span,strong){display:block}
body:is([data-profession="teacher"],:is([data-profession="barber"],[data-profession="other"]),[data-profession="trainer"]) .tf-more article span{color:#d2e4da;font-size:.76rem}
body:is([data-profession="teacher"],:is([data-profession="barber"],[data-profession="other"]),[data-profession="trainer"]) .tf-more article strong{margin-top:6px;font-size:1.4rem}
body:is([data-profession="teacher"],:is([data-profession="barber"],[data-profession="other"]),[data-profession="trainer"]) #personal-finance-dialog .personal-balance-card{background:linear-gradient(135deg,#074133,#0b5945)}
body:is([data-profession="teacher"],:is([data-profession="barber"],[data-profession="other"]),[data-profession="trainer"]) #personal-finance-dialog .personal-finance-grid article{border-radius:18px;box-shadow:0 2px 10px #0a35200c}
body:is([data-profession="teacher"],:is([data-profession="barber"],[data-profession="other"]),[data-profession="trainer"]) .tf-compare{display:block;margin-top:5px!important;font-size:.67rem!important;font-weight:750}
body:is([data-profession="teacher"],:is([data-profession="barber"],[data-profession="other"]),[data-profession="trainer"]) .tf-compare.is-up{color:#138a5d!important}
body:is([data-profession="teacher"],:is([data-profession="barber"],[data-profession="other"]),[data-profession="trainer"]) .tf-compare.is-down{color:#bf4848!important}
body:is([data-profession="teacher"],:is([data-profession="barber"],[data-profession="other"]),[data-profession="trainer"]) .tf-compare span{display:inline!important;color:#66736e!important;font-weight:500}
@keyframes tf-bar-grow{from{opacity:.45;transform:scaleY(.12)}to{opacity:1;transform:scaleY(1)}}
@keyframes tf-line-draw{from{stroke-dashoffset:2000}to{stroke-dashoffset:0}}
@media(max-width:360px){body:is([data-profession="teacher"],:is([data-profession="barber"],[data-profession="other"]),[data-profession="trainer"]) #personal-finance-dialog .personal-finance-filters{grid-template-columns:1fr}body:is([data-profession="teacher"],:is([data-profession="barber"],[data-profession="other"]),[data-profession="trainer"]) .teacher-finance-custom{grid-template-columns:1fr}body:is([data-profession="teacher"],:is([data-profession="barber"],[data-profession="other"]),[data-profession="trainer"]) .teacher-finance-history{padding:14px}body:is([data-profession="teacher"],:is([data-profession="barber"],[data-profession="other"]),[data-profession="trainer"]) .tf-tooltip>span{justify-content:flex-start}}
@media(prefers-reduced-motion:reduce){body:is([data-profession="teacher"],:is([data-profession="barber"],[data-profession="other"]),[data-profession="trainer"]) .teacher-finance-history,body:is([data-profession="teacher"],:is([data-profession="barber"],[data-profession="other"]),[data-profession="trainer"]) :is(.tf-bar,.tf-result-line,.tf-result-dot,.tf-tooltip){animation:none!important}body:is([data-profession="teacher"],:is([data-profession="barber"],[data-profession="other"]),[data-profession="trainer"]) .tf-result-line{stroke-dashoffset:0}}
