.fv-billing-panel{border-top:4px solid var(--green)}.fv-billing-head{display:flex;justify-content:space-between;gap:16px}.fv-billing-drop{border:2px dashed #8aa88a;border-radius:12px;padding:32px;text-align:center;background:#f7faf6;display:grid;gap:10px}.fv-billing-drop.over{background:#e8f5e5;border-color:var(--green)}.fv-billing-actions{display:flex;gap:9px;flex-wrap:wrap;margin:14px 0;align-items:center}.fv-billing-actions a{padding:11px 15px;text-decoration:none}.fv-recalculate-help{flex:1 1 100%;margin:0;color:var(--muted)}.fv-billing-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0}.fv-billing-fields small{display:block;min-height:16px;margin-top:5px;color:var(--muted);font-size:11px}.fv-billing-warning{background:#fff8df;border-left:4px solid #c79717;padding:12px}.bill-confirm{display:inline-flex;gap:9px;align-items:center;margin:18px 0;max-width:100%}.bill-confirm input{width:auto;margin:0;flex:0 0 auto}.bill-confirm span{display:inline-block;min-width:0}.fv-billing-panel [data-confirm]:disabled{cursor:not-allowed;opacity:.55}.fv-monthly-visual{margin:24px 0}.fv-monthly-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:14px 0}.fv-monthly-kpis article{display:grid;gap:5px;padding:16px;border:1px solid #dce7e4;border-radius:12px;background:#f8fbfa}.fv-monthly-kpis span{font-size:11px;font-weight:800;letter-spacing:.06em;color:var(--muted)}.fv-monthly-kpis strong{font-size:22px;color:#153e37}.fv-monthly-kpis b{color:var(--green)}.fv-monthly-kpis small{color:var(--muted)}.fv-chart-scroll{max-width:100%;overflow-x:auto;padding-top:62px}.fv-monthly-chart{display:grid;grid-template-columns:repeat(12,minmax(54px,1fr));align-items:end;gap:8px;min-width:720px;height:280px;padding:14px;border-bottom:2px solid #9bb0aa;background:linear-gradient(to top,#eef5f3 1px,transparent 1px);background-size:100% 25%}.fv-month{position:relative;display:grid;grid-template-rows:1fr auto auto;align-items:end;height:100%;min-width:0;padding:0;border:0;background:transparent;color:inherit;cursor:help}.fv-month i{display:block;width:70%;height:var(--bar-height);min-height:0;margin:auto;background:var(--green);border-radius:7px 7px 0 0}.fv-month.has-data i[style*="--bar-height:3%"]{min-height:3px}.fv-month.is-missing i{height:0;border-top:2px dashed #aebdb9}.fv-month em{min-height:20px;padding-top:4px;font-size:10px;font-style:normal;font-weight:700}.fv-month small{text-transform:uppercase}.fv-chart-tooltip{position:absolute;z-index:3;left:50%;bottom:calc(100% + 8px);display:none;width:190px;transform:translateX(-50%);padding:9px;border-radius:8px;background:#153e37;color:#fff;text-align:left;font-size:11px;line-height:1.45;box-shadow:0 5px 18px #0003}.fv-month:hover .fv-chart-tooltip,.fv-month:focus .fv-chart-tooltip{display:block}.fv-month:focus{outline:2px solid var(--green);outline-offset:3px}.fv-monthly-quality{padding:13px;border-left:4px solid #c79717;background:#fff8df;line-height:1.5}@media(max-width:700px){.fv-billing-fields{grid-template-columns:1fr}.bill-confirm{width:100%;justify-content:flex-start}.fv-billing-actions button{max-width:100%}.fv-monthly-kpis{grid-template-columns:1fr}.fv-chart-scroll{width:100%;overscroll-behavior-inline:contain}.fv-monthly-chart{min-width:720px}}
.fv-profile-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:16px 0}.fv-profile-summary>div,.fv-quality,.fv-conflicts,.fv-sources{border:1px solid var(--line);border-radius:12px;padding:16px;background:#fff}.fv-profile-summary strong{display:block;margin:4px 0 12px;color:#0f766e}.fv-quality,.fv-conflicts,.fv-sources{margin:16px 0}.fv-conflicts{border-color:#f59e0b}.fv-conflicts label{display:grid;gap:6px;margin-top:10px}.fv-sources article{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--line)}.fv-sources article:last-child{border-bottom:0}.fv-sources article>div{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.fv-sources article>div:first-child{display:grid}.fv-sources small{color:var(--muted)}@media(max-width:700px){.fv-profile-summary{grid-template-columns:1fr}.fv-sources article{align-items:flex-start;flex-direction:column}}
