:root{--bg:#121212;--panel:#181818;--panel-2:#212121;--panel-hover:#262626;--border:#2a2a2a;--border-strong:#3e3e3e;--text:#ededed;--text-dim:#8f8f8f;--accent:#3ecf8e;--accent-soft:#3ecf8e1f;--green:#3ecf8e;--danger:#e5484d;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text)}button{font:inherit;color:inherit;background:var(--panel-2);border:1px solid var(--border);cursor:pointer;border-radius:6px;min-height:40px;padding:8px 14px;transition:background .1s,border-color .1s}button:hover:not(:disabled){background:var(--panel-hover);border-color:var(--border-strong)}button:disabled{opacity:.4;cursor:default}button.danger{color:var(--danger)}button.danger:hover:not(:disabled){border-color:var(--danger)}input{font:inherit;color:inherit;background:var(--panel-2);border:1px solid var(--border);border-radius:6px;min-height:40px;padding:8px 10px}input:focus{border-color:var(--accent);outline:none}h2{text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim);margin:0 0 12px;font-size:.85rem;font-weight:600}.app{--left-width:230px;--right-width:300px;background:var(--border);grid-template-columns:var(--left-width) 6px 1fr 6px var(--right-width);grid-template-rows:1fr auto;grid-template-areas:"projects rl calendar rr results""projects rl quick rr results";gap:1px;height:100%;display:grid}.resizer{background:var(--border);cursor:col-resize;touch-action:none}.resizer:hover,.resizer:active{background:var(--accent)}.panel{background:var(--panel);min-height:0;padding:16px;overflow-y:auto}.projects-panel{flex-direction:column;grid-area:projects;display:flex}.projects-panel>*{flex-shrink:0}.calendar-panel{flex-direction:column;grid-area:calendar;display:flex}.quick-panel{grid-area:quick}.results-panel{grid-area:results}.project-list{flex-direction:column;gap:6px;margin:0 0 12px;padding:0;list-style:none;display:flex}.project-item{text-align:left;align-items:center;gap:8px;width:100%;display:flex}.project-item.active{background:var(--accent-soft);border-color:var(--accent)}.project-name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.project-delete{color:var(--text-dim);border-radius:4px;padding:0 4px;line-height:1}.project-delete:hover{color:var(--danger)}.add-project,.project-name-input{width:100%}.add-project{color:var(--text-dim)}.project-details{border-top:1px solid var(--border);margin-top:24px;padding-top:16px}.field{flex-direction:column;gap:4px;margin-bottom:12px;display:flex}.field span{color:var(--text-dim);font-size:.75rem}.field input{width:100%}.project-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px;display:inline-block}.color-swatches{flex-wrap:wrap;gap:6px;display:flex}.swatch{border:2px solid #0000;border-radius:50%;width:28px;height:28px;min-height:28px;padding:0}.swatch.active{border-color:#fff}.project-nick-tag{background:var(--accent-soft);color:var(--accent);vertical-align:middle;border-radius:4px;margin-left:8px;padding:1px 6px;font-size:.7rem;font-weight:600;display:inline-block}.account-panel{border-top:1px solid var(--border);flex-direction:column;align-items:flex-start;gap:8px;margin-top:auto;padding-top:12px;display:flex}.account-panel h2{margin-bottom:0}.account-hint{color:var(--text-dim);margin:0;font-size:.78rem;line-height:1.4}.account-identity{align-items:center;gap:10px;width:100%;display:flex}.account-avatar{background:var(--accent-soft);width:32px;height:32px;color:var(--accent);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:700;display:inline-flex}.account-who{flex-direction:column;min-width:0;display:flex}.account-email{text-overflow:ellipsis;white-space:nowrap;font-size:.85rem;overflow:hidden}.account-state{color:var(--text-dim);align-items:center;gap:6px;font-size:.75rem;display:flex}.account-actions{flex-wrap:wrap;gap:6px;display:flex}.sync-dot{background:var(--text-dim);border-radius:50%;flex-shrink:0;width:9px;height:9px}.sync-dot.synced{background:var(--green)}.sync-dot.syncing{background:var(--accent)}.sync-dot.error{background:var(--danger)}.sync-small-button{min-height:34px;color:var(--text-dim);padding:4px 10px;font-size:.8rem}.sync-login{flex-direction:column;gap:6px;width:100%;display:flex}.sync-message{color:var(--text-dim);margin:0;font-size:.78rem}.sync-google-button{justify-content:center;align-items:center;gap:8px;width:100%;font-weight:600;display:flex}.google-g{color:#1f1f1f;background:#fff;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;font-size:.75rem;font-weight:700;display:inline-flex}.sync-divider{text-align:center;color:var(--text-dim);width:100%;font-size:.72rem}.sync-link-button{min-height:0;color:var(--text-dim);text-align:left;background:0 0;border:none;padding:2px 0;font-size:.75rem;text-decoration:underline}.calendar-header{align-items:center;gap:12px;margin-bottom:12px;display:flex}.calendar-header h2{text-transform:none;letter-spacing:normal;color:var(--text);text-align:center;min-width:160px;margin:0;font-size:1.1rem}.calendar-header button{min-width:44px;font-size:1.2rem}.target-chip{border:1px solid var(--border);background:var(--panel-2);white-space:nowrap;text-overflow:ellipsis;border-radius:999px;align-items:center;gap:7px;max-width:220px;margin-left:auto;padding:6px 12px;font-size:.85rem;font-weight:600;display:flex;overflow:hidden}.today-button{color:var(--text-dim);font-size:.85rem}.month-subtotal{color:var(--text-dim);white-space:nowrap;margin-left:8px;font-size:.85rem}.month-subtotal strong{color:var(--green);font-variant-numeric:tabular-nums}.weekday-row,.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;display:grid}.weekday{text-align:center;color:var(--text-dim);padding:4px 0;font-size:.75rem}.calendar-grid{touch-action:none;-webkit-user-select:none;user-select:none;flex:1;grid-auto-rows:minmax(72px,1fr)}.day-cell{background:var(--panel-2);border:1px solid var(--border);cursor:pointer;border-radius:8px;flex-direction:column;align-items:flex-start;min-width:0;padding:8px;display:flex}.day-amount{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.day-cell.out-month{opacity:.35}.day-cell.has-value{border-color:#3ecf8e66}.day-cell:hover{border-color:var(--border-strong)}.day-cell.selected{background:var(--accent-soft);border-color:var(--accent)}.day-cell.today .day-number{color:var(--accent);font-weight:700}.day-number{color:var(--text-dim);font-size:.85rem}.day-amount{color:var(--green);flex-direction:column;margin-top:auto;font-size:.95rem;font-weight:600;display:flex}.day-detail{color:var(--text-dim);font-variant-numeric:tabular-nums;font-size:.68rem;font-weight:400}.day-bands{pointer-events:none;flex-direction:column;align-self:stretch;gap:1px;margin:4px -8px -8px;display:flex}.day-number+.day-bands{margin-top:auto}.day-band{color:#fff;text-align:left;white-space:nowrap;padding:4px 6px;font-size:.68rem;font-weight:600;line-height:1;overflow:hidden}.day-band.other{opacity:.45;padding:2px 6px;font-size:.6rem}.day-band.cont-l{margin-left:-4px}.day-band.cont-r{margin-right:-4px}.day-bands .day-band:last-child{border-radius:0 0 7px 7px}.day-bands .day-band:last-child.cont-l{border-bottom-left-radius:0}.day-bands .day-band:last-child.cont-r{border-bottom-right-radius:0}.calendar-cta{justify-content:center;padding:24px;display:flex}.calendar-cta button{border-color:var(--accent);color:var(--accent);padding:12px 24px;font-size:1rem}.quick-panel{flex-wrap:wrap;align-items:center;gap:12px 24px;padding:12px 16px;display:flex}.quick-status{color:var(--text-dim);align-items:center;gap:10px;min-width:170px;font-size:.9rem;display:flex}.deselect-button{color:var(--text-dim);min-height:32px;padding:4px 10px;font-size:.8rem}.project-rate{border-width:2px;font-weight:600}.quick-group{align-items:center;gap:8px;display:flex}.quick-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-dim);margin-right:4px;font-size:.75rem}.custom-amount-input{width:90px}.multiplier-input{width:80px}.preset-editing{border-color:var(--danger)}.preset-remove{color:var(--danger);margin-left:6px;font-weight:700}.preset-edit-toggle{color:var(--text-dim);font-size:.8rem}.preset-edit-toggle.active{color:var(--danger);border-color:var(--danger)}.results-header{align-items:center;gap:8px;margin-bottom:4px;display:flex}.results-project-name{text-overflow:ellipsis;white-space:nowrap;font-size:1.05rem;font-weight:600;overflow:hidden}.results-range{color:var(--text-dim);margin-bottom:16px;font-size:.85rem}.results-hero{margin-bottom:20px}.results-hero-amount{font-variant-numeric:tabular-nums;color:var(--green);font-size:2.1rem;font-weight:700;line-height:1.1}.results-hero-label{text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim);font-size:.75rem}.stat-cards{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:20px;display:grid}.stat-card{background:var(--panel-2);border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:2px;padding:10px 12px;display:flex}.stat-card strong{font-variant-numeric:tabular-nums;font-size:1.15rem}.stat-card span{color:var(--text-dim);font-size:.72rem}.results-actions{flex-wrap:wrap;gap:6px;margin-bottom:16px;display:flex}.results-month{border-top:1px solid var(--border);padding-top:12px}.results-month h3{text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim);margin:0 0 6px;font-size:.75rem;font-weight:600}.month-row{text-align:left;cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:baseline;gap:8px;width:calc(100% + 16px);min-height:0;margin:0 -8px;padding:6px 8px;font-size:.9rem;display:flex}.month-row:hover{background:var(--panel-hover)}.month-row.viewed{background:var(--panel-2)}.month-row-label{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.month-row-days{color:var(--text-dim);font-size:.8rem}.month-row strong{color:var(--green);font-variant-numeric:tabular-nums}.results-empty{color:var(--text-dim);font-size:.9rem}.mobile-app{background:var(--bg);flex-direction:column;min-height:100%;display:flex;overflow-x:hidden}.mobile-app .panel{overflow:visible}.mobile-project-bar{z-index:20;background:var(--panel);border-bottom:1px solid var(--border);padding:10px 12px;position:sticky;top:0}.mobile-project-button{text-align:left;align-items:center;gap:10px;width:100%;min-height:44px;font-weight:600;display:flex}.mobile-project-button .project-name{flex:1}.mobile-chevron{color:var(--text-dim);transition:transform .15s}.mobile-chevron.open{transform:rotate(180deg)}.mobile-project-menu{z-index:30;background:var(--panel-2);border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:4px;max-height:50vh;padding:6px;display:flex;position:absolute;top:calc(100% - 4px);left:12px;right:12px;overflow-y:auto;box-shadow:0 12px 32px #0000008c}.mobile-project-item{text-align:left;background:0 0;border:none;align-items:center;gap:10px;min-height:44px;display:flex}.mobile-project-item.active{background:var(--accent-soft)}.mobile-project-item .project-name{flex:1}.mobile-check{color:var(--accent)}.mobile-add-project{color:var(--text-dim);text-align:left;background:0 0;border:none;min-height:44px}.mobile-quick-panel{z-index:25;background:var(--panel);border-top:1px solid var(--border);padding:8px 12px calc(8px + env(safe-area-inset-bottom));flex-direction:column;gap:8px;display:flex;position:fixed;bottom:0;left:0;right:0}.mobile-app{padding-bottom:128px}.mobile-chip-row{scrollbar-width:none;gap:6px;display:flex;overflow-x:auto}.mobile-chip-row::-webkit-scrollbar{display:none}.mobile-apply-row{align-items:center;gap:6px;display:flex}.mobile-chip{white-space:nowrap;border-radius:999px;flex-shrink:0;min-height:40px;padding:6px 12px;font-size:.9rem}.mobile-chip.active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.mobile-chip.rate{font-weight:700}.mobile-chip.danger{color:var(--danger)}.mobile-chip.danger.active{border-color:var(--danger);background:#e5484d1f}.mobile-apply{background:var(--accent);border-color:var(--accent);color:#0c0c0c;flex:1;min-height:44px;font-weight:700}.mobile-apply:hover:not(:disabled){background:var(--accent);border-color:var(--accent)}.mobile-apply:disabled{opacity:.35}.mobile-count{text-align:center;min-width:30px;color:var(--text-dim);font-variant-numeric:tabular-nums;flex-shrink:0;font-size:.85rem}.mobile-mult-input{text-align:center;flex-shrink:0;width:64px;min-height:44px}.mobile-sync{border-top:1px solid var(--border)}.mobile-sync .account-panel{border-top:none;margin-top:0;padding-top:0}@media (width<=900px){.target-chip{display:none}.calendar-grid{touch-action:pan-y;grid-auto-rows:minmax(58px,auto);gap:4px}.weekday-row{gap:4px}.day-cell{border-radius:6px;padding:5px}.day-number{font-size:.75rem}.day-amount{font-size:.8rem}.day-detail{font-size:.6rem}.day-bands{margin:3px -6px -6px}.day-band{padding:3px 4px;font-size:.58rem}.day-band.other{padding:2px 4px;font-size:.52rem}.day-band.cont-l{margin-left:-8px}.day-band.cont-r{margin-right:-8px}.day-bands .day-band:last-child{border-radius:0 0 5px 5px}.calendar-panel{padding:12px 8px}.calendar-header h2{min-width:0;font-size:1rem}}
