:root{color:#1f2937;background:#f9fafb;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}body{margin:0}main{max-width:40rem;margin:4rem auto;padding:0 1rem}button{font:inherit;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:.375rem;padding:.6rem 1.2rem}button.primary{color:#fff;background:#2563eb;border-color:#2563eb}table{border-collapse:collapse;width:100%;margin-top:1rem}th,td{text-align:left;border-bottom:1px solid #e5e7eb;padding:.4rem .6rem}.error{color:#b91c1c}.muted{color:#6b7280}.user{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.user a{margin-left:auto}.toolbar{flex-wrap:wrap;align-items:center;gap:1rem;margin-top:1.5rem;display:flex}.month-nav{align-items:center;gap:.25rem;display:flex}.month-nav button{padding:.4rem .7rem}select,input[type=month]{font:inherit;background:#fff;border:1px solid #d1d5db;border-radius:.375rem;padding:.45rem .6rem}.report h2{margin:1rem 0 .5rem;font-size:1.25rem}.clients,.projects{margin:0;padding:0;list-style:none}.clients>li{border-top:1px solid #e5e7eb;padding:.5rem 0}.row{justify-content:space-between;gap:1rem;padding:.2rem 0;display:flex}.row.client{font-weight:600}.row.total{border-top:2px solid #1f2937;margin-top:.5rem;padding-top:.5rem;font-weight:700}.projects .row{padding-left:1.25rem}.num{font-variant-numeric:tabular-nums;white-space:nowrap}.dot{vertical-align:middle;border-radius:50%;width:.6rem;height:.6rem;margin-right:.4rem;display:inline-block}.small{font-size:.85rem}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}.crumbs{margin-top:1.5rem}.crumbs a{color:#2563eb}.kicker{letter-spacing:.08em;text-transform:uppercase;color:#6b7280;margin:0 0 .25rem;font-size:.7rem}.detail-head{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.detail-head h2{margin:0 0 .35rem;font-size:1.4rem}.detail-head p{margin:0 0 .35rem}.tiles{grid-template-columns:repeat(2,minmax(0,12rem));gap:.75rem;margin:1.25rem 0;display:grid}.tile{background:#fff;border:1px solid #e5e7eb;border-radius:.5rem;flex-direction:column;padding:.6rem .8rem;display:flex}.tile .label{letter-spacing:.08em;text-transform:uppercase;color:#6b7280;font-size:.7rem}.tile .value{font-variant-numeric:tabular-nums;font-size:1.25rem;font-weight:600}.breakdowns{max-width:28rem;margin-bottom:1.5rem}.breakdowns .row{border-bottom:1px solid #e5e7eb}.entries{font-size:.9rem}.entries th.num,.entries td.num{text-align:right}.entries thead th{border-bottom:1px solid #1f2937}.entries tr.day td{border-bottom:0;padding-top:1.1rem;font-weight:600}.entries tr.day-sum td{border-bottom:0;padding-top:.35rem;font-weight:700}.entries tr.total td{border-top:2px solid #1f2937;border-bottom:0;font-weight:700}.nowrap{white-space:nowrap}@media (width<=40rem){.tiles{grid-template-columns:1fr 1fr}}.bulk{flex-wrap:wrap;align-items:center;gap:.5rem;margin:0 0 1rem;display:flex}.bulk button{padding:.35rem .7rem;font-size:.85rem}
