html,body,#root{height:100%}body{margin:0}:root{--bg:#f4f5f7;--panel-bg:#fff;--border:#e2e4e9;--text:#1f2430;--text-muted:#6b7280;--primary:#4f46e5;--primary-hover:#4338ca;--danger:#dc2626;--radius:10px}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}.app{max-width:1100px;margin:0 auto;padding:24px 20px 60px}.app-header h1{margin:0;font-size:26px}.tagline{color:var(--text-muted);margin:4px 0 24px;font-size:14px}.app-grid{grid-template-columns:1fr 1fr;gap:20px;display:grid}.full-width{grid-column:1/-1}.panel{background:var(--panel-bg);border:1px solid var(--border);border-radius:var(--radius);padding:20px}.panel h2{margin:0 0 14px;font-size:16px;font-weight:600}.row{align-items:center;gap:10px;display:flex}.row.wrap{flex-wrap:wrap}input,select,button{font:inherit;border:1px solid var(--border);border-radius:8px;padding:8px 10px}input[type=color]{width:44px;padding:2px 4px}button{background:var(--primary);color:#fff;cursor:pointer;border:none;font-weight:500}button:hover{background:var(--primary-hover)}button:disabled{opacity:.5;cursor:not-allowed}.link-btn{color:var(--primary);background:0 0;border:none;padding:4px 6px;font-size:13px}.link-btn:hover{background:#eef2ff}.link-btn.danger{color:var(--danger)}.link-btn.danger:hover{background:#fef2f2}.error{color:var(--danger);margin:0 0 10px;font-size:13px}.banner{border-radius:var(--radius);margin-bottom:16px;padding:10px 14px;font-size:14px}.error-banner{color:var(--danger);background:#fef2f2;border:1px solid #fecaca}.hint{color:var(--text-muted);font-size:14px}.checkbox-row{color:var(--text-muted);align-items:center;gap:6px;margin:10px 0;font-size:13px;display:flex}.color-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.spacer{flex:1}.project-list,.entry-list,.summary-breakdown{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.project-list li,.entry-list li,.summary-breakdown li{background:#fafafa;border-radius:8px;align-items:center;gap:10px;padding:8px 10px;font-size:14px;display:flex}.project-list li.archived{opacity:.5}.project-name{font-weight:500}.project-client{color:var(--text-muted);font-size:12px}.empty{color:var(--text-muted);font-style:italic;background:0 0!important}.timer-panel{flex-direction:column;display:flex}.timer-running{background:#eef2ff;border-radius:10px;align-items:center;gap:14px;padding:14px;display:flex}.timer-project{font-weight:600}.timer-notes{color:var(--text-muted);font-size:13px}.timer-clock{font-variant-numeric:tabular-nums;color:var(--primary);margin-left:auto;font-size:22px;font-weight:700}.stop-btn{background:var(--danger)}.stop-btn:hover{background:#b91c1c}.start-btn{white-space:nowrap}.manual-entry-form{grid-template-columns:1fr 1fr 1fr;align-items:end;gap:10px;display:grid}.manual-entry-form label{color:var(--text-muted);flex-direction:column;gap:4px;font-size:12px;display:flex}.manual-entry-form button{grid-column:1/-1}.entry-time{color:var(--text-muted);font-size:13px}.entry-notes{color:var(--text-muted);font-size:13px;font-style:italic}.entry-duration{font-variant-numeric:tabular-nums;font-weight:600}.entry-edit{width:100%}.tab-switch{border:1px solid var(--border);border-radius:8px;display:flex;overflow:hidden}.tab-switch button{color:var(--text);background:#fff;border-radius:0;padding:6px 12px;font-size:13px}.tab-switch button.active{background:var(--primary);color:#fff}.summary-range-label{color:var(--text-muted);text-align:center;min-width:150px;font-size:13px}.summary-body{margin-top:16px}.summary-total{margin-bottom:14px;font-size:28px;font-weight:700}.week-bars{align-items:flex-end;gap:10px;height:120px;margin-bottom:16px;display:flex}.week-bar-col{flex-direction:column;flex:1;align-items:center;gap:6px;height:100%;display:flex}.week-bar-track{background:#f1f2f5;border-radius:4px;flex:1;align-items:flex-end;width:100%;display:flex;overflow:hidden}.week-bar-fill{background:var(--primary);width:100%;min-height:2px}.week-bar-label{color:var(--text-muted);font-size:11px}@media (width<=720px){.app-grid,.manual-entry-form{grid-template-columns:1fr}}
