:root{--accent:#1a4fe7;--accent-600:#1743c8;--accent-tint:#eaeefd;--bg:#f3f5f9;--surface:#fff;--surface-2:#fafbfd;--ink:#111420;--muted:#66708a;--faint:#98a0b4;--border:#e6e9f0;--danger:#d24060;--warn:#b8760a;--radius:14px;--radius-sm:10px;--shadow:0 1px 2px #1114200a, 0 10px 30px #1114200d;--mono:ui-monospace, "SF Mono", "JetBrains Mono", "IBM Plex Mono", Menlo, monospace;--sans:system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif}@media (prefers-color-scheme:dark){:root{--accent:#4f79ff;--accent-600:#6a8dff;--accent-tint:#172038;--bg:#0c0e14;--surface:#14171f;--surface-2:#191d27;--ink:#e8eaf1;--muted:#949cb1;--faint:#6a7286;--border:#242a37;--shadow:0 1px 2px #0000004d, 0 10px 30px #00000059}}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-size:15px;line-height:1.45}button{cursor:pointer;font-family:inherit}input,select{font-family:inherit;font-size:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.app{max-width:640px;margin:0 auto;padding:28px 20px 80px}.topbar{justify-content:space-between;align-items:baseline;margin-bottom:26px;padding-bottom:4px;display:flex}.wordmark{letter-spacing:-.02em;font-size:15px;font-weight:700}.wordmark b{color:var(--accent)}.topbar .date{color:var(--muted);font-size:13px}.hero{border-bottom:1px solid var(--border);margin-bottom:22px;padding:30px 4px 22px}.hero .clock{font-family:var(--mono);font-variant-numeric:tabular-nums;letter-spacing:-.03em;color:var(--ink);align-items:center;gap:18px;font-size:clamp(56px,16vw,92px);font-weight:600;line-height:1;display:flex}.hero.idle .clock{color:var(--faint)}.hero .dot{background:var(--accent);border-radius:50%;flex:none;width:14px;height:14px;animation:1.8s ease-out infinite pulse;box-shadow:0 0 #1a4fe780}@keyframes pulse{0%{box-shadow:0 0 #1a4fe773}70%{box-shadow:0 0 0 12px #1a4fe700}to{box-shadow:0 0 #1a4fe700}}.hero .caption{color:var(--muted);min-height:22px;margin-top:12px}.hero .caption .proj{color:var(--ink);font-weight:600}.hero .caption .sep{color:var(--faint);margin:0 7px}.hero .more{color:var(--faint);margin-left:6px;font-size:13px}.composer{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);grid-template-columns:1fr 1fr auto;align-items:center;gap:8px;margin-bottom:28px;padding:10px;display:grid}.composer .note{grid-column:1/3}.field{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--ink);min-width:0;padding:11px 12px}.field:hover{border-color:var(--faint)}select.field{appearance:none;cursor:pointer}.btn-start{background:var(--accent);color:#fff;border-radius:var(--radius-sm);letter-spacing:.01em;border:none;grid-area:1/3/3;align-self:stretch;min-width:108px;padding:0 24px;font-size:15px;font-weight:650;transition:background .15s,transform 50ms}.btn-start:hover{background:var(--accent-600)}.btn-start:active{transform:translateY(1px)}.btn-start:disabled{opacity:.45;cursor:not-allowed}.linklike{color:var(--accent);background:0 0;border:none;padding:2px 4px;font-size:13px;font-weight:550}.linklike:hover{text-decoration:underline}.section-head{justify-content:space-between;align-items:baseline;margin:0 4px 12px;display:flex}.section-head h2{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0;font-size:13px;font-weight:650}.section-head .total{font-family:var(--mono);font-variant-numeric:tabular-nums;color:var(--ink);font-weight:600}.entries{flex-direction:column;gap:8px;display:flex}.entry{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);border-left:3px solid #0000;align-items:center;gap:14px;padding:13px 15px;display:flex}.entry.running{border-left-color:var(--accent);background:color-mix(in srgb, var(--accent-tint) 55%, var(--surface))}.entry .body{flex:1;min-width:0}.entry .client{color:var(--muted);font-size:12px}.entry .project{letter-spacing:-.01em;font-weight:650}.entry .task{color:var(--muted);font-size:13.5px}.entry .note{color:var(--faint);overflow-wrap:anywhere;margin-top:2px;font-size:13px}.entry .swatch{vertical-align:middle;border-radius:50%;width:8px;height:8px;margin-right:6px;display:inline-block}.entry .elapsed{font-family:var(--mono);font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-size:19px;font-weight:600}.icon-btn{border:1px solid var(--border);background:var(--surface-2);width:38px;height:38px;color:var(--ink);border-radius:50%;flex:none;place-items:center;transition:border-color .15s,background .15s;display:grid}.icon-btn:hover{border-color:var(--faint)}.icon-btn.stop{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 35%, var(--border))}.icon-btn.stop:hover{background:color-mix(in srgb, var(--danger) 12%, var(--surface))}.icon-btn svg{width:15px;height:15px}.empty{text-align:center;color:var(--muted);border:1px dashed var(--border);border-radius:var(--radius);padding:40px 20px}.overlay{z-index:50;background:#0a0c1473;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.dialog{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);width:100%;max-width:380px;padding:22px}.dialog h3{margin:0 0 4px;font-size:17px}.dialog p{color:var(--muted);margin:0 0 16px;font-size:13.5px}.dialog .field{margin-bottom:10px}.dialog label{color:var(--muted);margin:0 2px 5px;font-size:12px;font-weight:550;display:block}.dialog-actions{justify-content:flex-end;gap:8px;margin-top:8px;display:flex}.btn{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-2);color:var(--ink);padding:10px 16px;font-weight:550}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.primary:hover{background:var(--accent-600)}.btn:disabled{opacity:.5;cursor:not-allowed}.error-text{color:var(--danger);min-height:18px;margin:4px 2px 0;font-size:13px}.nav{gap:4px;display:flex}.nav button{color:var(--muted);background:0 0;border:none;border-bottom:2px solid #0000;padding:4px 2px;font-size:13px;font-weight:600}.nav button.active{color:var(--ink);border-bottom-color:var(--accent)}.nav button:hover{color:var(--ink)}.rep-section{margin-bottom:34px}.rep-section>h2{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0 4px 14px;font-size:13px;font-weight:650}.budget-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:10px;padding:16px 18px}.budget-card .row{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.budget-card .name{letter-spacing:-.01em;font-weight:650}.budget-card .client{color:var(--muted);font-size:12px}.budget-card .figure{font-family:var(--mono);font-variant-numeric:tabular-nums;color:var(--muted);font-size:14px}.budget-card .figure b{color:var(--ink);font-weight:600}.budget-card .period{color:var(--faint);margin-top:2px;font-size:12px}.meter{background:var(--surface-2);border:1px solid var(--border);border-radius:999px;height:8px;margin:12px 0 6px;overflow:hidden}.meter>span{background:var(--accent);border-radius:999px;height:100%;transition:width .4s;display:block}.meter.warn>span{background:var(--warn)}.meter.over>span{background:var(--danger)}.badge{letter-spacing:.02em;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:650}.badge.ok{background:var(--accent-tint);color:var(--accent-600)}.badge.warn{background:color-mix(in srgb, var(--warn) 18%, var(--surface));color:var(--warn)}.badge.over{background:color-mix(in srgb, var(--danger) 16%, var(--surface));color:var(--danger)}.overline{color:var(--danger);font-weight:600}.totals{border-collapse:collapse;width:100%}.totals th,.totals td{text-align:left;border-bottom:1px solid var(--border);padding:10px 6px}.totals th{text-transform:uppercase;letter-spacing:.06em;color:var(--faint);font-size:11px;font-weight:600}.totals td.num,.totals th.num{text-align:right;font-family:var(--mono);font-variant-numeric:tabular-nums}.totals td .cname{color:var(--muted);margin-bottom:2px;font-size:12px;display:block}.totals tr.subtotal td{border-bottom:2px solid var(--border);color:var(--ink)}.totals tr.subtotal td:first-child{color:var(--muted);font-size:12.5px}.rep-controls{flex-wrap:wrap;align-items:center;gap:8px;margin:0 4px 14px;display:flex}.seg{border:1px solid var(--border);border-radius:var(--radius-sm);display:inline-flex;overflow:hidden}.seg button{background:var(--surface);color:var(--muted);border:none;padding:7px 14px;font-size:13px;font-weight:550}.seg button.active{background:var(--accent);color:#fff}.seg button+button{border-left:1px solid var(--border)}.date-nav{align-items:center;gap:10px;margin:6px 4px 18px;display:flex}.date-nav .arrow{border:1px solid var(--border);background:var(--surface);width:34px;height:34px;color:var(--ink);border-radius:50%;place-items:center;font-size:16px;line-height:1;display:grid}.date-nav .arrow:hover{border-color:var(--faint)}.date-nav .current{letter-spacing:-.01em;font-size:17px;font-weight:650}.date-nav .today-btn{margin-left:auto}.date-nav input[type=date]{border:1px solid var(--border);background:var(--surface);color:var(--ink);border-radius:var(--radius-sm);padding:6px 8px}.entry.clickable{cursor:pointer}.entry.clickable:hover{border-color:var(--faint)}.entry .times{color:var(--faint);font-size:12px;font-family:var(--mono);font-variant-numeric:tabular-nums;margin-top:3px}.entry .running-tag{color:var(--accent);font-size:11px;font-weight:650}.mng-section{margin-bottom:34px}.mng-head{justify-content:space-between;align-items:center;margin:0 4px 12px;display:flex}.mng-head h2{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0;font-size:13px;font-weight:650}.row-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);align-items:center;gap:12px;margin-bottom:8px;padding:12px 15px;display:flex}.row-card.archived{opacity:.55}.row-card .grow{flex:1;min-width:0}.row-card .title{letter-spacing:-.01em;font-weight:600}.row-card .sub{color:var(--muted);margin-top:1px;font-size:12.5px}.row-card .meta{font-family:var(--mono);font-variant-numeric:tabular-nums;color:var(--muted);font-size:13px}.row-card .swatch-lg{border-radius:50%;flex:none;width:12px;height:12px}.pill{background:var(--accent-tint);color:var(--accent-600);border-radius:999px;padding:2px 8px;font-size:11px;font-weight:600}.pill.none{background:var(--surface-2);color:var(--faint)}.dialog.wide{max-width:440px}.grid-2{grid-template-columns:1fr 1fr;gap:10px;display:grid}.grid-2>*{min-width:0}.dialog .field{max-width:100%}.color-swatches{flex-wrap:wrap;gap:8px;margin-bottom:4px;display:flex}.color-swatches button{border:2px solid #0000;border-radius:50%;width:26px;height:26px;padding:0}.color-swatches button.sel{border-color:var(--ink)}.hint{color:var(--faint);margin:2px 2px 10px;font-size:12px}@media (width<=520px){.composer{grid-template-columns:1fr 1fr}.composer .note{grid-column:1/3}.btn-start{grid-area:auto/1/auto/3;padding:12px}}
