:root{--bg:#f7f3ec;--surface:#fff;--surface-2:#f1ebe1;--ink:#1d1a16;--muted:#6f665b;--line:#e4dccf;--brand:#ff5a36;--brand-ink:#fff;--great:#1f9d55;--ok:#4f9d2c;--meh:#d99a00;--bad:#e0342b;--unknown:#7a6cd6;--great-bg:#e3f5ea;--ok-bg:#edf6e4;--meh-bg:#fff4d6;--bad-bg:#fde6e4;--unknown-bg:#ecebfb;--c-ZAKUP:#5b6cff;--c-WYSYLKA:#ff8a3d;--c-MARKETING:#e3488f;--c-OPAKOWANIE:#23a6a6;--c-PROWIZJE:#9a6b2f;--c-INNE:#8d8a84;--radius:14px;--shadow:0 1px 2px #1e140a0f, 0 4px 18px #1e140a0d;color:var(--ink);-webkit-font-smoothing:antialiased;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:15px;line-height:1.45}@media (prefers-color-scheme:dark){:root{--bg:#15130f;--surface:#1f1c17;--surface-2:#2a2620;--ink:#f3ede4;--muted:#a99f92;--line:#36312a;--great-bg:#12301f;--ok-bg:#1d2e14;--meh-bg:#33290c;--bad-bg:#3a1513;--unknown-bg:#24213d;--shadow:none}}*{box-sizing:border-box}body{background:var(--bg);min-height:100vh;margin:0}h1,h2{margin:0 0 .3em;line-height:1.2}h1{letter-spacing:-.02em;font-size:1.7rem}h2{font-size:1.05rem}a{color:inherit}button,input,select{font:inherit;color:inherit}input,select{background:var(--surface);border:1px solid var(--line);border-radius:9px;min-height:38px;padding:.45em .6em}input:focus-visible,select:focus-visible,button:focus-visible,a:focus-visible{outline:2px solid var(--brand);outline-offset:2px}input[aria-invalid=true]{border-color:var(--bad)}.sr-only{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.skip{position:absolute;left:-999px}.skip:focus{z-index:10;background:var(--surface);padding:.5rem 1rem;top:1rem;left:1rem}.muted{color:var(--muted)}.small{font-size:.85rem}.neg{color:var(--bad)}.pos{color:var(--great)}.warn{color:var(--meh)}.error{color:var(--bad);font-weight:500}.spacer{flex:1}.topbar{background:var(--surface);border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:.8rem max(16px,50vw - 600px);display:flex}.brand-link{text-decoration:none}.brand{align-items:center;gap:.6rem;display:inline-flex}.brand-gauge{width:44px;height:28px;color:var(--ink)}.brand-arc{color:var(--brand);stroke:var(--brand)}.brand-needle{transform-origin:32px 36px;animation:3.2s ease-in-out infinite wobble}@keyframes wobble{0%,to{transform:rotate(-35deg)}50%{transform:rotate(8deg)}60%{transform:rotate(2deg)}}@media (prefers-reduced-motion:reduce){.brand-needle,.spin{animation:none!important}}.brand-text{flex-direction:column;display:flex}.brand-name{letter-spacing:-.02em;font-size:1.2rem;font-weight:800}.brand-tag{color:var(--muted);font-size:.75rem}.topbar-right{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.pill{background:var(--meh-bg);color:var(--ink);border:1px solid var(--line);border-radius:99px;padding:.15em .7em;font-size:.75rem}.sync{align-items:center;gap:.5rem;display:flex}.sync-last{font-size:.8rem}.spin{animation:1s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.tabs{background:var(--surface);border-bottom:1px solid var(--line);scrollbar-width:none;gap:.25rem;padding:0 max(16px,50vw - 600px);display:flex;overflow-x:auto}.tabs a{color:var(--muted);white-space:nowrap;border-bottom:3px solid #0000;padding:.7rem .9rem;font-weight:500;text-decoration:none}.tabs a.active{color:var(--ink);border-bottom-color:var(--brand)}main{padding:1.5rem max(16px,50vw - 600px) 3rem}.footer{color:var(--muted);flex-wrap:wrap;justify-content:center;gap:.5rem;padding:1rem 16px 2rem;font-size:.8rem;display:flex}.btn{cursor:pointer;background:var(--surface-2);border:1px solid #0000;border-radius:10px;align-items:center;gap:.4em;min-height:38px;padding:.5em 1em;font-weight:600;text-decoration:none;display:inline-flex}.btn:disabled{opacity:.55;cursor:default}.btn-primary{background:var(--brand);color:var(--brand-ink)}.btn-primary:hover:not(:disabled){filter:brightness(1.05)}.btn-ghost{border-color:var(--line);background:0 0}.btn-small{min-height:32px;padding:.3em .8em;font-size:.85rem}.btn-block{justify-content:center;width:100%}.btn-icon{width:38px;color:var(--muted);background:0 0;justify-content:center;padding:0}.btn-icon:hover{color:var(--bad)}.page{flex-direction:column;gap:1rem;display:flex}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1rem;display:flex}.page-head p{max-width:70ch;margin:0}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:1rem 1.1rem}.card-bad{background:var(--bad-bg);border-color:var(--bad)}.empty{text-align:center;padding:2rem 1rem}.skeleton{color:var(--muted);animation:1.2s ease-in-out infinite pulse}@keyframes pulse{50%{opacity:.5}}.grid-2{grid-template-columns:1.4fr 1fr;gap:1rem;display:grid}@media (width<=860px){.grid-2{grid-template-columns:1fr}}.toolbar{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.toolbar input[type=search]{flex:1;min-width:200px}.toolbar label,.check{align-items:center;gap:.4rem;display:inline-flex}.period{flex-direction:column;align-items:flex-end;gap:.5rem;display:flex}.chips{flex-wrap:wrap;gap:.35rem;display:flex}.chip{border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:99px;padding:.3em .85em;font-size:.85rem}.chip-on{background:var(--ink);color:var(--bg);border-color:var(--ink)}.dates{color:var(--muted);gap:.5rem;font-size:.85rem;display:flex}.dates label{align-items:center;gap:.35rem;display:inline-flex}@media (width<=700px){.period{align-items:stretch}}.hero{grid-template-columns:minmax(260px,1fr) 2fr;gap:1rem;display:grid}@media (width<=860px){.hero{grid-template-columns:1fr}}.kpis{grid-template-columns:repeat(2,1fr);gap:1rem;display:grid}.kpi{flex-direction:column;justify-content:center;gap:.2rem;display:flex}.kpi-label{color:var(--muted);font-size:.85rem}.kpi-value{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:1.7rem}.kpi-sub{color:var(--muted);font-size:.8rem}.kpi-good .kpi-value{color:var(--great)}.kpi-bad .kpi-value{color:var(--bad)}.gauge{text-align:center;flex-direction:column;align-items:center;margin:0;display:flex}.gauge svg{width:100%;max-width:280px}.gauge-needle{transform-origin:100px 100px;transition:transform 1.2s cubic-bezier(.34,1.56,.64,1)}.gauge-tick{fill:var(--muted);font-size:9px}.gauge figcaption{flex-direction:column;align-items:center;display:flex}.gauge-value{letter-spacing:-.03em;font-size:2rem}.gauge-label{color:var(--muted);margin-top:-.3rem;font-size:.85rem}.gauge-line{max-width:30ch;margin-top:.5rem;font-weight:500}.gauge-bad .gauge-value{color:var(--bad)}.gauge-great .gauge-value,.gauge-ok .gauge-value{color:var(--great)}.gauge-meh .gauge-value{color:var(--meh)}.callouts{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;display:grid}.callout{border-left-width:5px;flex-direction:column;gap:.15rem;text-decoration:none;display:flex}.callout-kicker{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-size:.8rem;font-weight:600}.callout-great{border-left-color:var(--great)}.callout-bad{border-left-color:var(--bad)}.callout-unknown{border-left-color:var(--unknown)}a.callout:hover{background:var(--surface-2)}.chart svg{width:100%;height:180px;display:block}.bar-revenue{fill:var(--surface-2)}.bar-profit{fill:var(--great)}.bar-loss{fill:var(--bad)}.zero-line{stroke:var(--muted);stroke-width:1px;stroke-dasharray:3 3}.chart-legend{min-height:1.4em;margin-top:.5rem;font-size:.85rem}.swatch{vertical-align:-.05em;border-radius:3px;width:.75em;height:.75em;margin:0 .25em 0 .6em;display:inline-block}.swatch-revenue{background:var(--surface-2);border:1px solid var(--line)}.swatch-profit{background:var(--great)}.swatch-loss{background:var(--bad)}.costbar-track{background:var(--surface-2);border-radius:99px;height:18px;display:flex;overflow:hidden}.seg{height:100%;display:block}.seg-ZAKUP{background:var(--c-ZAKUP)}.seg-WYSYLKA{background:var(--c-WYSYLKA)}.seg-MARKETING{background:var(--c-MARKETING)}.seg-OPAKOWANIE{background:var(--c-OPAKOWANIE)}.seg-PROWIZJE{background:var(--c-PROWIZJE)}.seg-INNE{background:var(--c-INNE)}.costbar-legend{flex-direction:column;gap:.4rem;margin:.8rem 0 0;padding:0;list-style:none;display:flex}.costbar-legend li{grid-template-columns:auto 1fr auto auto;align-items:center;gap:.5rem;font-size:.9rem;display:grid}.costbar-legend .swatch{margin:0}.costbar-legend .muted{text-align:right;min-width:8ch;font-size:.8rem}.table-wrap{margin:0 -1.1rem;padding:0 1.1rem;overflow-x:auto}.table{border-collapse:collapse;width:100%;font-size:.9rem}.table th,.table td{border-bottom:1px solid var(--line);text-align:left;vertical-align:middle;padding:.55rem .5rem}.table th{text-transform:uppercase;letter-spacing:.03em;color:var(--muted);white-space:nowrap;font-size:.78rem}.table th button{cursor:pointer;font:inherit;text-transform:inherit;letter-spacing:inherit;color:inherit;background:0 0;border:0;padding:0}.table .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.table tbody tr{cursor:default}.table tbody tr[aria-expanded]{cursor:pointer}.table tbody tr[aria-expanded]:hover{background:var(--surface-2)}.row-bad td:first-child{box-shadow:inset 4px 0 var(--bad)}.row-great td:first-child{box-shadow:inset 4px 0 var(--great)}.row-unknown td:first-child{box-shadow:inset 4px 0 var(--unknown)}.product-name{font-weight:600}.row-detail td{background:var(--surface-2)}.detail p{margin:0 0 .6rem}.detail-costs{max-width:480px;margin:0 0 .8rem;padding:0;list-style:none}.detail-costs li{justify-content:space-between;gap:1rem;padding:.2rem 0;display:flex}.detail-total{border-top:1px solid var(--line);margin-top:.3rem;padding-top:.4rem!important}.badge{white-space:nowrap;border-radius:99px;padding:.15em .65em;font-size:.78rem;font-weight:600;display:inline-block}.badge-great{background:var(--great-bg);color:var(--great)}.badge-ok{background:var(--ok-bg);color:var(--ok)}.badge-meh,.badge-busy{background:var(--meh-bg);color:var(--meh)}.badge-bad{background:var(--bad-bg);color:var(--bad)}.badge-unknown{background:var(--unknown-bg);color:var(--unknown)}.product-list{flex-direction:column;gap:.6rem;display:flex}.product{padding:0}.product-missing{border-left:4px solid var(--unknown)}.product-head{text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:1fr auto auto;align-items:center;gap:1rem;width:100%;padding:.9rem 1.1rem;display:grid}.product-meta{font-size:.78rem;display:block}.product-summary{text-align:right;font-size:.85rem}.product-open .product-head{border-bottom:1px solid var(--line)}.product .cost-editor{padding:1rem 1.1rem}@media (width<=700px){.product-head{grid-template-columns:1fr auto}.product-summary{text-align:left;grid-column:1}}.cost-editor{flex-direction:column;gap:.6rem;display:flex}.cost-row{grid-template-columns:minmax(170px,auto) 1fr 140px minmax(170px,auto) 38px;align-items:center;gap:.5rem;display:grid}.cost-row label{display:flex}.cost-row input,.cost-row select{width:100%}.cost-row .amount{position:relative}.cost-row .amount input{text-align:right;font-variant-numeric:tabular-nums;padding-right:2.2em}.cost-row .unit{color:var(--muted);pointer-events:none;font-size:.85rem;position:absolute;top:50%;right:.7em;transform:translateY(-50%)}@media (width<=760px){.cost-row{border-bottom:1px dashed var(--line);grid-template-columns:1fr 1fr 38px;padding-bottom:.6rem}.cost-row .grow{order:-1;grid-column:1/-1}}.cost-actions{flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.3rem;display:flex}.copy-from select{min-width:190px}.tips ul{margin:0;padding-left:1.2rem}.form{flex-direction:column;gap:1.1rem;max-width:560px;display:flex}.form label,.login-card label{flex-direction:column;gap:.3rem;font-weight:500;display:flex}.form input{max-width:160px}.form small{font-weight:400}.login{place-items:center;min-height:100vh;padding:16px;display:grid}.login-card{flex-direction:column;gap:.9rem;width:min(400px,100%);padding:1.6rem;display:flex}.login-card form{flex-direction:column;gap:.9rem;display:flex}.login-tag{margin:.3rem 0 0;font-size:1.1rem;font-weight:600}.toast{background:var(--ink);color:var(--bg);z-index:20;cursor:pointer;border-radius:12px;max-width:min(560px,100vw - 32px);padding:.7rem 1.1rem;position:fixed;bottom:1.2rem;left:50%;transform:translate(-50%);box-shadow:0 8px 30px #00000040}.toast-bad{background:var(--bad);color:#fff}.toast-ok{background:var(--great);color:#fff}
