:root{--color-white:#fff;--color-grey-light:#f2f2f2;--color-grey:#e8eaed;--color-grey-dark:#555;--color-black:#000;--color-magenta:#e10066;--color-orange:#f7911f;--color-purple:#58449b;--color-error:#b00020;--font-family:"Poppins", system-ui, sans-serif;--radius:12px}*{box-sizing:border-box}body{background:var(--color-grey-light);color:var(--color-grey-dark);font-family:var(--font-family);margin:0;line-height:1.5}a{color:var(--color-magenta)}h1{color:var(--color-black);margin-top:0;font-size:2.375rem;font-weight:500;line-height:1.2}.app-header{background:var(--color-white);border-bottom:4px solid var(--color-purple);grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;padding:.75rem 1rem;display:grid}.app-header__brand{display:flex}.app-header__logo{width:min(212px,40vw);height:auto}.app-header__title{color:var(--color-black);font-weight:600}@media (width<=30rem){.app-header__title{display:none}}.app-header__actions{grid-column:3;justify-self:end;align-items:center;gap:.75rem;display:flex}.page{max-width:1200px;margin:2rem auto;padding:0 1rem}body:has(>#app>.card){background:var(--color-purple)}.card{background:var(--color-white);border-radius:var(--radius);max-width:420px;margin:3rem auto;padding:2rem}form{flex-direction:column;gap:1rem;margin-bottom:1rem;display:flex}label{flex-direction:column;gap:.25rem;font-weight:500;display:flex}input,select{font:inherit;border:1px solid var(--color-grey);background:var(--color-white);border-radius:8px;padding:.6rem .75rem}input:focus-visible,select:focus-visible,button:focus-visible,a:focus-visible{outline:3px solid var(--color-purple);outline-offset:2px}.button{font:inherit;background:var(--color-black);color:var(--color-white);cursor:pointer;border:0;border-radius:999px;padding:.65rem 1.25rem;font-weight:600}.button:disabled{opacity:.6;cursor:default}.button--secondary{background:var(--color-white);color:var(--color-black);box-shadow:inset 0 0 0 1px var(--color-black)}.month-nav{flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.month-nav h1{white-space:nowrap;margin:0;font-size:clamp(1.25rem,6vw,2.375rem)}.month-nav__download{margin-left:auto}@keyframes spin{to{transform:rotate(360deg)}}.spinner{border:3px solid var(--color-grey);border-top-color:var(--color-magenta);border-radius:50%;width:1.5rem;height:1.5rem;animation:.8s linear infinite spin}@media (prefers-reduced-motion:reduce){.spinner{animation-duration:3s}}.report{transition:opacity .2s}.report--loading{opacity:.4;pointer-events:none}.stats{grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:1rem;margin:0 0 1rem;display:grid}.stats__tile{background:var(--color-white);border-radius:var(--radius);padding:1rem 1.25rem}.stats dt{color:var(--color-grey-dark)}.stats dd{color:var(--color-black);font-variant-numeric:tabular-nums;margin:0;font-size:1.375rem;font-weight:600}.stats__tile--purple dt,.stats__tile--purple dd,.stats__tile--magenta dt,.stats__tile--magenta dd,.stats__tile--orange dt,.stats__tile--orange dd{color:var(--color-white)}.stats__tile--purple{background:var(--color-purple)}.stats__tile--magenta{background:var(--color-magenta)}.stats__tile--orange{background:var(--color-orange)}.chart{background:var(--color-white);border-radius:var(--radius);margin:0 0 1rem;padding:1rem 1.25rem 2.25rem}.chart__title{color:var(--color-black);margin-bottom:1rem;font-size:1.375rem;font-weight:600}.chart__plot{align-items:stretch;gap:2px;height:12rem;margin-left:4.5rem;display:flex;position:relative}.chart__gridline{border-top:1px solid var(--color-grey);color:var(--color-grey-dark);text-indent:-4.5rem;font-size:.8125rem;line-height:0;position:absolute;left:0;right:0}.chart__column{outline-offset:0;flex:1;align-items:flex-end;display:flex;position:relative}.chart__column:hover .chart__bar,.chart__column:focus-visible .chart__bar{background:var(--color-magenta)}.chart__column:hover .chart__tip,.chart__column:focus-visible .chart__tip{display:block}.chart__bar{background:var(--color-purple);border-radius:4px 4px 0 0;width:100%}.chart__tip{z-index:1;background:var(--color-black);color:var(--color-white);white-space:nowrap;border-radius:8px;padding:.4rem .6rem;font-size:.875rem;display:none;position:absolute;bottom:calc(100% + .25rem);left:0}.chart__tip strong{display:block}.chart__column--end .chart__tip{left:auto;right:0}.chart__label{color:var(--color-grey-dark);font-size:.8125rem;position:absolute;top:calc(100% + .25rem);left:50%;transform:translate(-50%)}.table-scroll{background:var(--color-white);border-radius:var(--radius);overflow-x:auto}.revenue-table{border-collapse:collapse;width:100%}.revenue-table th,.revenue-table td{text-align:left;padding:.6rem .75rem}.revenue-table th{vertical-align:bottom;color:var(--color-black);border-bottom:2px solid var(--color-black);font-weight:600}.revenue-table tbody tr+tr td{border-top:1px solid var(--color-grey)}.revenue-table tfoot td{color:var(--color-black);border-top:2px solid var(--color-black);font-weight:600}.revenue-table .number{text-align:right;font-variant-numeric:tabular-nums}.revenue-table td.number{white-space:nowrap}.revenue-table td:first-child{min-width:14rem}.revenue-table .muted{color:var(--color-grey-dark);font-size:.875rem;display:block}.message{background:var(--color-grey-light);border-radius:8px;margin:0;padding:.75rem}.message--error{color:var(--color-error)}.message.table-note{margin-top:1rem}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}
