body{margin:0}#main{padding:36px clamp(18px,4vw,64px);max-width:1600px;width:100%;margin:auto;box-sizing:border-box}.brand svg{display:block;width:200px;max-width:100%;height:auto}.time-heading{display:flex;justify-content:space-between;gap:32px;align-items:start}.time-heading h1{margin:4px 0 12px}.time-heading>div:last-child{min-width:220px}.time-heading label{display:grid;gap:7px}label{display:grid;gap:7px;font-weight:600}input,select,textarea{font:inherit;min-height:44px;border:1px solid var(--line);border-radius:9px;padding:10px;background:var(--surface);color:var(--text);box-sizing:border-box;max-width:100%}textarea{resize:none}.button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 16px;border:1px solid var(--line);border-radius:9px;font:inherit;font-weight:600;color:var(--text);background:var(--surface);text-decoration:none;cursor:pointer;box-sizing:border-box}.button.primary{background:var(--accent);color:var(--surface);border-color:var(--accent)}button:disabled{cursor:default;opacity:.55}.actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.clock-panel{display:grid;grid-template-columns:1fr 1.4fr;gap:32px;padding:30px;border:1px solid var(--line);border-left:5px solid var(--accent);background:var(--surface);border-radius:15px;margin:24px 0}.clock-panel h2{margin:8px 0}.clock-elapsed{font-variant-numeric:tabular-nums;font-size:clamp(36px,5vw,56px);font-weight:600;letter-spacing:-1px}.clock-controls{display:grid;gap:18px;align-content:center}.hint{font-size:12px;line-height:1.7;color:var(--muted)}.month-toolbar{display:flex;flex-wrap:wrap;align-items:end;gap:12px;margin:30px 0 20px}.time-totals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.time-totals strong{font-size:28px;display:block;font-variant-numeric:tabular-nums}.time-totals small{color:var(--muted)}.time-card{padding:24px;background:var(--surface);border:1px solid var(--line);border-radius:13px;min-width:0}.time-card h2{font-size:20px;margin:0 0 20px}.time-columns{display:grid;grid-template-columns:1.1fr 1fr;gap:22px;margin-top:24px}.calendar-weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.calendar-weekdays{text-align:center;color:var(--muted);font-size:12px;margin-bottom:10px}.calendar-day{min-width:0;min-height:65px;border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:8px;padding:8px 3px;text-align:center;cursor:pointer}.calendar-day b,.calendar-day small{display:block}.calendar-day small{font-size:11px;color:var(--muted);margin-top:5px}.calendar-day[aria-pressed=true]{background:var(--accent-soft);border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.calendar-day.is-today b{text-decoration:underline;text-underline-offset:4px}.time-entry{padding:20px 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.time-entry:first-child{padding-top:0}.entry-heading{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}.time-entry h3{font-size:17px;margin:0}.time-status{font-size:11px;padding:4px 8px;border:1px solid var(--line);border-radius:6px}.time-status[data-status=approved]{color:var(--accent);background:var(--accent-soft)}.time-status[data-status=disputed]{font-weight:700}.time-entry p{font-size:13px;line-height:1.6}.proposal-note{font-weight:600}.time-entry .button{font-size:12px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}#work label{margin-bottom:18px}#work fieldset{border:1px solid var(--line);border-radius:10px;padding:18px;margin:18px 0}#feedback{line-height:1.6;overflow-wrap:anywhere}.error{color:var(--danger,#a52d20)}.history-entry,.reviewer-row{border-bottom:1px solid var(--line);padding:18px 0;overflow-wrap:anywhere}.history-entry h3{font-size:16px}footer{margin-top:28px;color:var(--muted);font-size:12px}.detail{width:min(900px,calc(100vw - 24px))}#pagination{margin-top:20px}
@media(max-width:1050px){.time-columns{grid-template-columns:1fr}.time-heading{flex-wrap:wrap}.clock-panel{grid-template-columns:1fr}}
@media(max-width:520px){#main{padding:22px 16px}.time-card{padding:16px}.time-heading>div:last-child{width:100%;min-width:0}.clock-panel{padding:20px;gap:18px}.time-totals{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.month-toolbar{align-items:stretch}.month-toolbar>*{flex:1 1 130px}.calendar-days,.calendar-weekdays{gap:3px}.calendar-day{min-height:58px}.calendar-day small{font-size:10px}.clock-controls .button{flex:1}.time-entry .actions .button{width:100%}}
