:root{color-scheme:light;--surface-0: #f4f3f0;--surface-1: #fcfcfb;--border: #dedbd4;--text-primary: #0b0b0b;--text-secondary: #52514e;--text-muted: #77756e;--series-1: #2a78d6;--series-2: #eb6834;--series-3: #1baf7a;--series-4: #eda100;--series-5: #e87ba4;--series-6: #008300;--series-7: #4a3aa7;--series-8: #e34948}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--surface-0: #111110;--surface-1: #1a1a19;--border: #35342f;--text-primary: #ffffff;--text-secondary: #c3c2b7;--text-muted: #8f8e84;--series-1: #3987e5;--series-2: #d95926;--series-3: #199e70;--series-4: #c98500;--series-5: #d55181;--series-6: #008300;--series-7: #9085e9;--series-8: #e66767}}*{box-sizing:border-box}body{margin:0;background:var(--surface-0);color:var(--text-primary);font:14px/1.5 ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.page{max-width:1100px;margin:0 auto;padding:32px 24px 64px}.page-head{margin-bottom:24px}.page-head h1{margin:0 0 4px;font-size:20px;font-weight:600;letter-spacing:-.01em}.page-head p{margin:0;color:var(--text-secondary)}.card{background:var(--surface-1);border:1px solid var(--border);border-radius:10px;padding:20px 22px}.card-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:4px}.card-head h2{margin:0;font-size:15px;font-weight:600}.total{font-variant-numeric:tabular-nums;font-size:22px;font-weight:600;letter-spacing:-.02em}.total-label{display:block;font-size:12px;font-weight:400;color:var(--text-muted);letter-spacing:0}.months{display:flex;align-items:center;gap:8px}.months button{background:var(--surface-1);border:1px solid var(--border);color:var(--text-primary);border-radius:6px;width:30px;height:30px;cursor:pointer;font-size:15px;line-height:1}.months button:hover{background:var(--surface-0)}.months span{min-width:8.5em;text-align:center;color:var(--text-secondary)}.chart-row{display:flex;gap:28px;flex-wrap:wrap;align-items:center}.chart{flex:1 1 340px;min-width:300px;height:300px}.table-wrap{flex:1 1 320px;min-width:280px;overflow-x:auto}table{border-collapse:collapse;width:100%}th,td{text-align:left;padding:7px 10px 7px 0;border-bottom:1px solid var(--border)}th{font-size:12px;font-weight:500;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}tbody tr:last-child td{border-bottom:none}.swatch{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:8px;vertical-align:baseline}.note{margin-top:18px;padding:10px 12px;border-left:2px solid var(--series-4);background:color-mix(in srgb,var(--series-4) 8%,transparent);color:var(--text-secondary);border-radius:0 6px 6px 0}.note strong{color:var(--text-primary);font-weight:600}.empty{color:var(--text-muted);padding:48px 0;text-align:center}.page>.card+.card{margin-top:20px}.tabs{display:flex;gap:4px;margin-top:14px}.tabs button{background:none;border:none;border-bottom:2px solid transparent;color:var(--text-secondary);padding:6px 2px;margin-right:16px;font:inherit;cursor:pointer}.tabs button.active{color:var(--text-primary);border-bottom-color:var(--series-1);font-weight:500}button{font:inherit;background:var(--series-1);color:#fff;border:1px solid transparent;border-radius:6px;padding:5px 12px;cursor:pointer}button.ghost{background:none;border-color:var(--border);color:var(--text-secondary);padding:4px 9px;font-size:13px}button.ghost:hover{color:var(--text-primary);background:var(--surface-0)}button.ghost.danger:hover{color:var(--series-8);border-color:var(--series-8)}input,select{font:inherit;background:var(--surface-0);color:var(--text-primary);border:1px solid var(--border);border-radius:6px;padding:5px 8px;width:100%;min-width:0}input:focus,select:focus{outline:2px solid var(--series-1);outline-offset:-1px}td input{padding:3px 6px}.row-actions{display:flex;gap:6px;justify-content:flex-end;white-space:nowrap}.form-grid{display:flex;flex-wrap:wrap;gap:12px;align-items:end;padding:12px;margin:10px 0;background:var(--surface-0);border:1px solid var(--border);border-radius:8px}.form-grid label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--text-muted);flex:1 1 130px}.form-actions{display:flex;gap:8px;margin-left:auto}.client{padding:14px 0;border-top:1px solid var(--border)}.client:first-of-type{border-top:none}.client-head,.project-head,.activity-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.client-head h3{margin:0;font-size:14px;font-weight:600}.project{margin:10px 0 0 14px;padding-left:12px;border-left:2px solid var(--border)}.activity{margin:6px 0 0 14px;color:var(--text-secondary)}.meta{color:var(--text-muted);font-size:12px;margin-left:8px}.muted{color:var(--text-muted);margin:6px 0 0 14px;font-size:13px}.assign{padding:12px;margin:8px 0;background:var(--surface-0);border:1px solid var(--border);border-radius:8px}.assign-row{display:flex;align-items:center;gap:10px;padding:3px 0}.assign-name{display:flex;align-items:center;gap:7px;flex:1;color:var(--text-primary)}.assign-name input[type=checkbox]{width:auto}.assign-note{margin:8px 0 0;font-size:12px;color:var(--text-muted)}.error{background:color-mix(in srgb,var(--series-8) 10%,transparent);border-left:2px solid var(--series-8);border-radius:0 6px 6px 0;padding:10px 12px;margin-bottom:16px;color:var(--text-primary)}.assign-note.warn{color:var(--series-8)}.chart.wide{flex:none;width:100%;height:260px}.chart.small{flex:none;width:100%;height:140px}.hero{margin:4px 0 18px}.hero-figure{display:block;font-size:34px;font-weight:600;letter-spacing:-.03em;font-variant-numeric:tabular-nums;color:var(--series-6)}.hero-figure.negative{color:var(--series-8)}.hero-figure.unset{color:var(--text-primary)}.hero-label{display:block;max-width:62ch;margin-top:4px;color:var(--text-secondary)}.horizon{display:flex;gap:4px}.horizon button{background:none;border:1px solid var(--border);color:var(--text-secondary);padding:3px 10px;font-size:12px}.horizon button.active{background:var(--series-1);border-color:var(--series-1);color:#fff}.pies{display:flex;flex-wrap:wrap;gap:28px}.pies>div{flex:1 1 420px;min-width:320px}.pies h3{margin:0 0 6px;font-size:13px;font-weight:500;color:var(--text-secondary)}.small-multiples{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:20px}.multiple{margin:0}.multiple figcaption{display:flex;flex-direction:column;gap:1px;margin-bottom:2px;font-size:13px}.multiple figcaption .meta{margin-left:0}.multiple figcaption .meta.warn{color:var(--series-8)}.muted-name{color:var(--text-muted);font-style:italic}.wide-assign{margin:4px 0 10px}.assign-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:8px}.assign-filter{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-muted)}.assign-filter input{width:auto}.assign-scroll{max-height:320px;overflow-y:auto}.assign-row.on{background:color-mix(in srgb,var(--series-1) 7%,transparent);border-radius:5px}.assign-row .assign-name span{display:flex;flex-direction:column;gap:1px}.assign-row .assign-name .meta{margin-left:0}.assign-share{display:flex;align-items:center;gap:5px;width:132px;flex:none}.assign-share .unit{color:var(--text-muted);font-size:12px}.page-head .who{color:var(--text-muted)}
