/* NUVORA · Administrador Mestre · Financeiro */
.platform-finance{display:grid;gap:16px;padding-bottom:42px;font-family:'DM Sans',sans-serif;animation:pfEnter .42s ease both}
@keyframes pfEnter{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}
.platform-finance button{font:inherit}
.pf-page-head{display:flex;justify-content:space-between;gap:24px;align-items:flex-end;margin:34px 0 8px}
.pf-page-head .eyebrow{margin:0 0 8px;color:#9b7c43;font-size:10.5px;font-weight:800;letter-spacing:1.8px}
.pf-page-head h1{margin:0;color:#173f35;font:400 46px/1 Georgia,'Times New Roman',serif;letter-spacing:-1.9px}
.pf-page-head h1 em{color:#768574;font-style:italic;font-weight:400}
.pf-page-head>div>p:last-child{margin:10px 0 0;color:#748179;font-size:12px;line-height:1.6}
.pf-head-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}

.pf-loading,.pf-error{display:flex;align-items:center;gap:15px;min-height:185px;padding:30px;border:1px solid #e0e6dc;border-radius:24px;background:linear-gradient(135deg,#fffefa,#f4f7f1);box-shadow:0 18px 42px rgba(23,63,53,.05)}
.pf-loading>span{width:38px;height:38px;border:2px solid #dfe7da;border-top-color:#315b48;border-radius:50%;animation:pfSpin .8s linear infinite}
@keyframes pfSpin{to{transform:rotate(360deg)}}.pf-loading strong,.pf-error strong{display:block;color:#2f5344;font-size:12px}.pf-loading p,.pf-error p{margin:5px 0 0;color:#7d8b83;font-size:11px}
.pf-error>span{display:grid;place-items:center;width:38px;height:38px;border-radius:13px;background:#f9ece5;color:#a75843;font-weight:900}.pf-error button{margin-left:auto}

.pf-hero{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(290px,.55fr);gap:14px;min-height:330px}
.pf-hero-main{position:relative;overflow:hidden;padding:42px 44px;border:1px solid rgba(23,63,53,.09);border-radius:28px;background:linear-gradient(132deg,#fffefa 0%,#f7f5ec 54%,#edf3ed 100%);box-shadow:0 24px 58px rgba(23,63,53,.07)}
.pf-hero-main:after{content:"";position:absolute;right:-85px;bottom:-125px;width:310px;height:310px;border-radius:50%;background:radial-gradient(circle,rgba(58,105,83,.08),transparent 67%)}
.pf-orbit{position:absolute;border:1px solid rgba(183,145,69,.16);border-radius:50%;pointer-events:none}.pf-orbit-a{width:260px;height:260px;right:40px;top:-205px;box-shadow:0 0 0 34px rgba(187,150,73,.025)}.pf-orbit-b{width:150px;height:150px;right:92px;top:-140px;border-style:dashed}
.pf-hero-main .eyebrow{position:relative;z-index:2;margin:0 0 12px;color:#9b7c43;font-size:10.5px;font-weight:800;letter-spacing:1.9px}
.pf-hero-main h1{position:relative;z-index:2;max-width:680px;margin:0;color:#173f35;font:400 clamp(44px,5.2vw,70px)/.94 Georgia,'Times New Roman',serif;letter-spacing:-2.8px}
.pf-hero-main h1 em{color:#7c896f;font-weight:400}.pf-hero-main>p{position:relative;z-index:2;max-width:700px;margin:17px 0 30px;color:#69786f;font-size:12.5px;line-height:1.7}
.pf-hero-value{position:relative;z-index:2;display:flex;align-items:flex-end;gap:13px;flex-wrap:wrap}.pf-hero-value small{width:100%;color:#87938b;font-size:10.5px;font-weight:800;letter-spacing:1.4px}.pf-hero-value>strong{color:#173f35;font:500 clamp(34px,4.2vw,54px)/1 'DM Sans',sans-serif;letter-spacing:-2.4px}
.pf-growth{display:inline-flex;align-items:center;gap:6px;margin-bottom:6px;padding:7px 10px;border-radius:999px;font-size:10.5px;font-weight:750}.pf-growth.positive{background:#e9f3ea;color:#487354}.pf-growth.negative{background:#f8e9e5;color:#9b5646}.pf-growth.neutral{background:#f0efe8;color:#7d796b}.pf-growth i{font-style:normal;font-size:12px}

.pf-mrr-card{position:relative;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;padding:30px 28px;border-radius:28px;background:linear-gradient(145deg,#123d32 0%,#234f40 58%,#72775b 120%);box-shadow:0 24px 55px rgba(18,57,47,.18);color:#fff}
.pf-mrr-card:before,.pf-mrr-card:after{content:"";position:absolute;border:1px solid rgba(233,211,158,.19);border-radius:50%}.pf-mrr-card:before{width:210px;height:210px;right:-70px;top:-82px}.pf-mrr-card:after{width:135px;height:135px;right:-20px;top:-42px;border-style:dashed}
.pf-mrr-glow{position:absolute;inset:auto -20% -35% 20%;height:55%;background:radial-gradient(circle,rgba(205,186,128,.17),transparent 70%)}
.pf-mrr-card>span{position:absolute;top:26px;left:28px;color:#ddcda4;font-size:10.5px;font-weight:800;letter-spacing:1.7px}.pf-mrr-card>strong{position:relative;z-index:2;font-size:39px;letter-spacing:-1.8px}.pf-mrr-card>p{position:relative;z-index:2;margin:7px 0 20px;color:#c7d7ce;font-size:11px}
.pf-mrr-card>div:not(.pf-mrr-glow){position:relative;z-index:2;display:grid;grid-template-columns:1fr 1fr;gap:8px}.pf-mrr-card article{padding:12px;border:1px solid rgba(255,255,255,.09);border-radius:14px;background:rgba(255,255,255,.055)}.pf-mrr-card article small{display:block;color:#b7cbbf;font-size:10.5px}.pf-mrr-card article b{display:block;margin-top:4px;font-size:12px}.pf-mrr-card footer{position:relative;z-index:2;display:flex;align-items:center;gap:7px;margin-top:17px;padding-top:14px;border-top:1px solid rgba(255,255,255,.1);color:#c9d6ce;font-size:10.5px}.pf-mrr-card footer i{width:7px;height:7px;border-radius:50%;background:#8fc394;box-shadow:0 0 0 5px rgba(143,195,148,.1)}

.pf-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.pf-metrics article{display:flex;align-items:center;gap:13px;min-height:105px;padding:18px 19px;border:1px solid #e0e6dc;border-radius:20px;background:#fff;box-shadow:0 12px 26px rgba(24,59,48,.035)}.pf-metrics article.accent{border-color:#d7dccd;background:linear-gradient(135deg,#fffefa,#f5f3e8)}.pf-metric-icon{display:grid;place-items:center;flex:0 0 38px;height:38px;border-radius:13px;background:#edf3ed;color:#315b48;font-size:11px;font-weight:900}.pf-metrics article.accent .pf-metric-icon{background:#efe7d5;color:#9b7c43}.pf-metrics small{display:block;color:#8b958f;font-size:10.5px;font-weight:800;letter-spacing:1px}.pf-metrics strong{display:block;margin-top:3px;color:#244c3f;font-size:21px;letter-spacing:-.7px}.pf-metrics p{margin:3px 0 0;color:#8a958e;font-size:10.5px}

.pf-grid{display:grid;gap:12px}.pf-grid-primary{grid-template-columns:minmax(340px,.8fr) minmax(500px,1.2fr)}.pf-grid-secondary{grid-template-columns:minmax(390px,.9fr) minmax(430px,1.1fr)}
.pf-panel{overflow:hidden;border:1px solid #e0e6dc;border-radius:24px;background:#fff;box-shadow:0 17px 40px rgba(23,63,53,.045)}
.pf-panel>header{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;padding:22px 23px 17px;border-bottom:1px solid #edf0ea}.pf-panel>header .eyebrow{margin:0 0 5px;color:#a08650;font-size:10.5px;font-weight:800;letter-spacing:1.45px}.pf-panel>header h2{margin:0;color:#294f42;font:400 22px/1.05 Georgia,serif}.pf-panel>header>span{color:#87938c;font-size:10.5px}

.pf-composition-grid{display:grid;gap:8px;padding:16px}.pf-composition-grid article{display:grid;grid-template-columns:44px 1fr;gap:12px;align-items:center;padding:14px;border:1px solid #edf0ea;border-radius:17px;background:#fbfcf9}.pf-source-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:#eaf1eb;color:#315b48;font:700 15px Georgia,serif}.pf-composition-grid article.ai .pf-source-mark{background:#f1ecdf;color:#957944}.pf-composition-grid article.credits .pf-source-mark{background:#edf0f4;color:#69788a}.pf-composition-grid small{color:#89958d;font-size:10px;font-weight:800;letter-spacing:.8px}.pf-composition-grid strong{display:block;margin-top:2px;color:#244b3f;font-size:17px}.pf-composition-grid p{margin:3px 0 8px;color:#86928a;font-size:10.5px}.pf-share{display:flex;align-items:center;gap:8px}.pf-share>span{height:5px;flex:1;overflow:hidden;border-radius:99px;background:#e8ece7}.pf-share i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#315b48,#8ea17f)}.pf-share b{width:34px;text-align:right;color:#718078;font-size:10px}.pf-composition>footer{display:flex;justify-content:space-between;padding:14px 18px;border-top:1px solid #edf0ea;background:#fafbf8;color:#7e8b84;font-size:10.5px}.pf-composition>footer strong{color:#294f42;font-size:12px}

.pf-chart{display:flex;align-items:flex-end;height:245px;gap:4px;padding:28px 20px 12px}.pf-bar-wrap{position:relative;display:flex;flex:1;min-width:0;height:100%;align-items:center;justify-content:flex-end;flex-direction:column}.pf-bar{display:block;width:min(15px,78%);min-height:2px;border-radius:6px 6px 3px 3px;background:#e6ebe6;transition:.2s}.pf-bar.has-value{background:linear-gradient(180deg,#c2a35e,#466e59);box-shadow:0 5px 11px rgba(58,92,74,.12)}.pf-bar-wrap:hover .pf-bar{transform:scaleX(1.18)}.pf-bar-wrap small{height:18px;margin-top:7px;color:#9ba49e;font-size:8.5px;white-space:nowrap}.pf-bar-value{position:absolute;bottom:calc(100% + 2px);display:none;padding:4px 6px;border-radius:7px;background:#173f35;color:#fff;font-size:8.5px;white-space:nowrap}.pf-bar-wrap:hover .pf-bar-value{display:block}.pf-trend>footer{display:flex;justify-content:space-between;gap:10px;padding:12px 20px 15px;border-top:1px solid #edf0ea;color:#849089;font-size:10.5px}.pf-trend>footer span{display:flex;align-items:center;gap:6px}.pf-trend>footer i{width:7px;height:7px;border-radius:50%;background:#587965}

.pf-month-list{display:grid;gap:10px;padding:18px 20px}.pf-month-list article{display:grid;grid-template-columns:58px 1fr 95px;gap:10px;align-items:center}.pf-month-list small{color:#839088;font-size:10px;text-transform:capitalize}.pf-month-list span{height:7px;overflow:hidden;border-radius:99px;background:#edf0eb}.pf-month-list i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#d3b46f,#4c715d)}.pf-month-list strong{text-align:right;color:#365a4b;font-size:10.5px}

.pf-health>header>span{display:inline-flex;align-items:center;gap:6px;padding:6px 9px;border-radius:999px;font-weight:750}.pf-health>header>span.healthy{background:#edf5ed;color:#55785d}.pf-health>header>span.attention{background:#faeee7;color:#9b604a}.pf-health>header>span i{width:6px;height:6px;border-radius:50%;background:currentColor}
.pf-health-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:16px}.pf-health-grid article{display:flex;gap:10px;padding:13px;border:1px solid #edf0ea;border-radius:16px;background:#fbfcf9}.pf-health-grid article>span{display:grid;place-items:center;flex:0 0 29px;height:29px;border-radius:10px;font-size:10px;font-weight:900}.pf-health-grid .ok{background:#eaf3ea;color:#51765a}.pf-health-grid .wait{background:#f4f0e5;color:#977b44}.pf-health-grid .warn{background:#f8eae5;color:#a15c4a}.pf-health-grid small{display:block;color:#89958d;font-size:9.5px;font-weight:800}.pf-health-grid strong{display:block;margin-top:2px;color:#294f42;font-size:15px}.pf-health-grid p{margin:2px 0 0;color:#87938c;font-size:10px}.pf-finance-rule{display:flex;gap:10px;align-items:flex-start;margin:0 16px 16px;padding:13px 14px;border-radius:15px;background:#f4f5ee;color:#738079}.pf-finance-rule>span{color:#a08650}.pf-finance-rule p{margin:0;font-size:10.5px;line-height:1.55}.pf-finance-rule strong{color:#465f53}

.pf-payment-table{padding:0 15px 14px}.pf-payment-head,.pf-payment-row{display:grid;grid-template-columns:1.35fr 1.2fr .8fr .65fr .7fr;gap:12px;align-items:center}.pf-payment-head{padding:11px 12px;color:#98a09b;font-size:9.5px;font-weight:800;letter-spacing:.7px;text-transform:uppercase}.pf-payment-row{min-height:68px;padding:10px 12px;border-top:1px solid #edf0ea}.pf-payment-row:hover{background:#fbfcf9}.pf-payment-product{display:grid;grid-template-columns:35px 1fr;column-gap:9px;align-items:center}.pf-payment-product>i{grid-row:1/3;display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:#eaf1eb;color:#315b48;font-style:normal;font-weight:800}.pf-payment-product>i.ai{background:#f2ecdf;color:#91743e}.pf-payment-product>i.seat{background:#ebf0e7;color:#627652}.pf-payment-product>i.credits{background:#edf0f4;color:#677589}.pf-payment-product b,.pf-payment-client b,.pf-payment-date b{color:#36584b;font-size:10.5px}.pf-payment-product small,.pf-payment-client small,.pf-payment-date small{display:block;margin-top:2px;color:#8d9891;font-size:9.5px}.pf-status{display:inline-flex;padding:6px 8px;border-radius:999px;font-size:9.5px;font-style:normal;font-weight:750}.pf-status.approved{background:#eaf4eb;color:#53775b}.pf-status.reversed{background:#f8eae5;color:#a05b49}.pf-payment-amount{text-align:right;color:#244c3f;font-size:11.5px;font-weight:800}.pf-payment-amount.reversed{text-decoration:line-through;color:#9a8179}
.pf-empty{display:grid;place-items:center;text-align:center;min-height:210px;padding:28px;color:#87938c}.pf-empty>span{font-size:25px;color:#a88d55}.pf-empty strong{margin-top:8px;color:#456052;font-size:11.5px}.pf-empty p{max-width:420px;margin:5px 0 0;font-size:10.5px;line-height:1.55}

.pf-footnote{display:flex;justify-content:space-between;gap:28px;align-items:center;padding:19px 22px;border:1px solid #e2e5da;border-radius:19px;background:linear-gradient(135deg,#f9f8f1,#f1f5ef)}.pf-footnote div span{display:block;color:#a08650;font-size:9.5px;font-weight:800;letter-spacing:1.3px}.pf-footnote div strong{display:block;margin-top:4px;color:#345647;font-size:13px}.pf-footnote p{max-width:690px;margin:0;color:#79867e;font-size:10.5px;line-height:1.55}

html[data-theme="dark"] .platform-finance{color:#ccd7d0}
html[data-theme="dark"] .pf-page-head h1,html[data-theme="dark"] .pf-hero-main h1,html[data-theme="dark"] .pf-hero-value>strong{color:#e7eee8}
html[data-theme="dark"] .pf-page-head>div>p:last-child,html[data-theme="dark"] .pf-hero-main>p{color:#91a198}
html[data-theme="dark"] .pf-hero-main{border-color:#294137;background:linear-gradient(135deg,#10251e,#152e25 55%,#1b352a);box-shadow:none}
html[data-theme="dark"] .pf-metrics article,html[data-theme="dark"] .pf-panel{border-color:#294137;background:#10251e;box-shadow:none}
html[data-theme="dark"] .pf-metrics article.accent{background:linear-gradient(135deg,#132920,#252d23)}
html[data-theme="dark"] .pf-metrics strong,html[data-theme="dark"] .pf-panel h2,html[data-theme="dark"] .pf-composition-grid strong,html[data-theme="dark"] .pf-health-grid strong,html[data-theme="dark"] .pf-payment-product b,html[data-theme="dark"] .pf-payment-client b,html[data-theme="dark"] .pf-payment-date b,html[data-theme="dark"] .pf-payment-amount{color:#d7e4dc}
html[data-theme="dark"] .pf-composition-grid article,html[data-theme="dark"] .pf-health-grid article{border-color:#294137;background:#132920}
html[data-theme="dark"] .pf-panel>header,html[data-theme="dark"] .pf-composition>footer,html[data-theme="dark"] .pf-trend>footer,html[data-theme="dark"] .pf-payment-row{border-color:#294137}
html[data-theme="dark"] .pf-composition>footer,html[data-theme="dark"] .pf-payment-row:hover{background:#11271f}
html[data-theme="dark"] .pf-share>span,html[data-theme="dark"] .pf-month-list span{background:#263b32}
html[data-theme="dark"] .pf-finance-rule{background:#172f26;color:#94a298}
html[data-theme="dark"] .pf-footnote{border-color:#294137;background:linear-gradient(135deg,#11271f,#172f26)}
html[data-theme="dark"] .pf-loading,html[data-theme="dark"] .pf-error{border-color:#294137;background:#10251e}

@media(max-width:1180px){.pf-hero{grid-template-columns:1fr}.pf-mrr-card{min-height:250px}.pf-grid-primary,.pf-grid-secondary{grid-template-columns:1fr}.pf-metrics{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.pf-page-head{align-items:flex-start;flex-direction:column}.pf-head-actions{width:100%;justify-content:flex-start}.pf-hero-main{padding:30px 24px}.pf-hero-main h1{font-size:46px}.pf-metrics{grid-template-columns:1fr}.pf-health-grid{grid-template-columns:1fr}.pf-payment-head{display:none}.pf-payment-row{grid-template-columns:1fr auto;gap:8px 12px;padding:14px 4px}.pf-payment-client,.pf-payment-date{grid-column:1}.pf-payment-row>span:nth-child(4){grid-column:2;grid-row:1}.pf-payment-amount{grid-column:2;grid-row:2/4;align-self:center}.pf-chart{gap:2px;padding-inline:10px}.pf-bar-wrap small{font-size:7.5px}.pf-footnote{align-items:flex-start;flex-direction:column}}
@media(max-width:480px){.pf-hero-main h1{font-size:39px}.pf-hero-value>strong{font-size:34px}.pf-mrr-card{padding:26px 22px}.pf-mrr-card>span{left:22px}.pf-month-list article{grid-template-columns:50px 1fr 82px}.pf-panel>header{align-items:flex-start;flex-direction:column}.pf-trend>footer{flex-direction:column}}
