:root{--bg:#fafafa;--surface:#fff;--text:#1a1a1a;--muted:#6b7280;--border:#e5e7eb;--accent:#2563eb;--accent-text:#fff;--danger:#b91c1c;--series-1:#2a78d6;--axis:#c3c2b7;--wash:#0b0b0b0d;--other:#9ca3af;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#0f1115;--surface:#171a21;--text:#ececec;--muted:#9aa3b2;--border:#2a2f3a;--accent:#5b8def;--danger:#f87171;--series-1:#3987e5;--axis:#383835;--wash:#ffffff12;--other:#6b7280}}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;font:16px/1.5 system-ui,-apple-system,sans-serif}h1{margin:0 0 .25rem;font-size:1.5rem}.muted{color:var(--muted)}.center{text-align:center;margin-top:4rem}.error{color:var(--danger);margin:0;font-size:.9rem}.auth-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;max-width:24rem;margin:12vh auto 0;padding:2rem 1.5rem}.auth-card form{gap:1rem;margin-top:1.25rem;display:grid}label{gap:.35rem;font-size:.9rem;font-weight:500;display:grid}input{font:inherit;color:inherit;background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:.6rem .75rem}input:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button{font:inherit;color:var(--accent-text);background:var(--accent);cursor:pointer;border:0;border-radius:8px;padding:.6rem 1rem;font-weight:600}button:disabled{opacity:.6;cursor:default}button.secondary{color:var(--text);border:1px solid var(--border);background:0 0}.page{max-width:60rem;margin:0 auto;padding:1rem}.topbar{border-bottom:1px solid var(--border);align-items:center;gap:1rem;margin-bottom:1.5rem;padding-bottom:1rem;display:flex}.topbar .muted{text-overflow:ellipsis;margin-left:auto;font-size:.9rem;overflow:hidden}@media (width<=480px){.topbar .muted{display:none}.topbar button{margin-left:auto}}.card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:1rem}.create-form,.edit-form{flex-wrap:wrap;align-items:flex-end;gap:.75rem;display:flex}.create-form .grow,.edit-form .grow{flex:18rem}.create-form label:not(.grow){flex:0 12rem}.full{flex-basis:100%}.toolbar{margin:1.25rem 0 .75rem}.toolbar input{width:100%}.links{gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.link{grid-template-columns:1fr auto;align-items:center;gap:.5rem;display:grid}.link-main{min-width:0}.short{flex-wrap:wrap;align-items:center;gap:.5rem;font-weight:600;display:flex}.short a{color:var(--accent);overflow-wrap:anywhere}.target{text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;overflow:hidden}.link-meta{flex-wrap:wrap;grid-column:1;align-items:center;gap:.75rem;font-size:.9rem;display:flex}.link-actions{flex-wrap:wrap;grid-area:1/2/span 2;justify-content:flex-end;gap:.5rem;display:flex}.edit-form,.link>.error{grid-column:1/-1}.edit-form{border-top:1px solid var(--border);padding-top:.75rem}button.small{padding:.3rem .65rem;font-size:.85rem}button.danger{color:var(--danger)}.badge{text-transform:capitalize;border:1px solid var(--border);border-radius:999px;padding:.1rem .55rem;font-size:.75rem;font-weight:600}.badge.active{color:#15803d;border-color:currentColor}.badge.disabled{color:var(--muted)}.badge.expired{color:#b45309;border-color:currentColor}@media (prefers-color-scheme:dark){.badge.active{color:#4ade80}.badge.expired{color:#fbbf24}}.pager{justify-content:center;align-items:center;gap:1rem;margin:1.25rem 0;display:flex}.center-text{text-align:center;margin:2rem 0}@media (width<=640px){.link{grid-template-columns:1fr}.link-actions{grid-area:auto/1;justify-content:flex-start}}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.small{font-size:.85rem}a.button-link{border-radius:8px;padding:.3rem .65rem;font-weight:600;text-decoration:none;display:inline-block}a.button-link.secondary{color:var(--text);border:1px solid var(--border)}button.selected{border-color:var(--accent);color:var(--accent)}.stats-panel{border-top:1px solid var(--border);grid-column:1/-1;grid-template-columns:minmax(0,1fr) 11rem;gap:1.5rem;padding-top:.75rem;display:grid}.stats-panel h4{color:var(--muted);margin:1rem 0 .5rem;font-size:.9rem;font-weight:600}.range{flex-wrap:wrap;gap:.5rem;display:flex}.stat-tile{margin-top:1rem;display:grid}.stat-label{color:var(--muted);font-size:.85rem}.stat-value{font-size:1.75rem;font-weight:600;line-height:1.2}.stats-qr{align-content:start;justify-items:start;gap:.5rem;display:grid}.stats-qr h4{margin-top:1rem}.qr{justify-items:start;gap:.5rem;margin:0;display:grid}.qr img{border:1px solid var(--border);background:#fff;border-radius:8px;padding:4px}.chart{outline-offset:4px;border-radius:4px;transition:opacity .15s;position:relative}.chart svg{display:block;overflow:visible}.chart .grid{stroke:var(--border);stroke-width:1px}.chart .axis{stroke:var(--axis);stroke-width:1px}.chart .tick{fill:var(--muted);font-size:11px}.chart .wash{fill:var(--wash)}.chart .bar{fill:var(--series-1)}.chart .bar.active{filter:brightness(1.15)}.tooltip{pointer-events:none;z-index:2;white-space:nowrap;background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:.4rem .6rem;font-size:.85rem;position:absolute;top:8px;box-shadow:0 2px 8px #0000001f}.tooltip-date{color:var(--muted);font-size:.8rem}.tooltip-row strong{font-size:1rem}.line-key{vertical-align:middle;background:var(--series-1);width:12px;height:2px;margin-right:6px;display:inline-block}.table-view{margin:.75rem 0;font-size:.9rem}.table-view summary{cursor:pointer;color:var(--muted)}.table-scroll{max-height:14rem;margin-top:.5rem;overflow:auto}table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}th,td{text-align:left;border-bottom:1px solid var(--border);padding:.25rem .5rem}th:last-child,td:last-child{text-align:right}.breakdowns{grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:1.5rem;display:grid}.breakdown ul{gap:.4rem;margin:0;padding:0;list-style:none;display:grid}.breakdown li{grid-template-columns:minmax(5rem,38%) 1fr;align-items:center;gap:.5rem;font-size:.85rem;display:grid}.b-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.b-track{align-items:center;gap:.5rem;min-width:0;display:flex}.b-bar{height:12px;width:max(2px, calc((100% - 6.5rem) * var(--p)));background:var(--series-1);border-radius:0 4px 4px 0;flex:none;display:block}.b-bar.other{background:var(--other)}.b-val{white-space:nowrap;font-variant-numeric:tabular-nums}@media (width<=640px){.stats-panel{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.chart{transition:none}}
