.cycle-toolbar { display:flex; justify-content:space-between; align-items:end; flex-wrap:wrap; gap:20px; margin:20px 0 12px; }
.cycle-month { display:flex; gap:12px; align-items:end; }
.cycle-month label { display:grid; gap:8px; font-size:13px; font-weight:600; }
.cycle-month input { min-height:44px; padding:10px 12px; border:1px solid var(--line); border-radius:8px; background:var(--paper); color:var(--ink); font:inherit; }
.cycle-week-filter { display:grid; gap:8px; font-size:13px; font-weight:600; }
.cycle-week-filter select { min-height:44px; padding:10px 12px; border:1px solid var(--line); border-radius:8px; background:var(--paper); color:var(--ink); font:inherit; max-width:100%; }
.cycle-toolbar>[data-cycle-today] { min-height:44px; }
.cycle-month .button { min-height:44px; min-width:44px; padding:10px; }
.cycle-total { display:grid; gap:4px; text-align:right; }
.cycle-total strong { font-size:26px; font-weight:650; font-variant-numeric:tabular-nums; }
.cycle-total span,.cycle-scope { color:var(--muted); font-size:13px; line-height:1.6; }
.cycle-scope { margin:0 0 20px; max-width:820px; }
.cycle-board { overflow-x:auto; padding:2px 2px 14px; overscroll-behavior-x:contain; }
.cycle-board:focus-visible { outline:2px solid var(--blue); outline-offset:2px; }
.cycle-columns { display:grid; grid-auto-flow:column; grid-auto-columns:minmax(290px,1fr); gap:16px; min-width:100%; align-items:start; }
.cycle-column { border:1px solid var(--line); border-radius:12px; background:color-mix(in srgb,var(--paper) 92%,var(--muted)); min-width:0; overflow:hidden; }
.time-workbench .cycle-column>header { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:start; gap:8px; margin:0; padding:18px; border-bottom:1px solid var(--line); }
.cycle-column h4 { font-size:15px; line-height:1.5; margin:0; color:var(--ink); }
.cycle-column header span { display:block; margin-top:6px; font-size:12px; line-height:1.5; color:var(--muted); }
.cycle-column header>strong { font-size:20px; font-variant-numeric:tabular-nums; }
.cycle-column header>small { grid-column:1/-1; font-size:12px; color:var(--muted); }
.cycle-entry-list { display:flex; flex-direction:column; gap:12px; padding:12px; max-height:640px; overflow-y:auto; overscroll-behavior-y:contain; }
.cycle-entry { border:1px solid var(--line); border-radius:10px; background:var(--paper); padding:16px; overflow-wrap:anywhere; }
.cycle-entry-top { display:flex; justify-content:space-between; align-items:baseline; gap:10px; font-size:12px; color:var(--muted); }
.cycle-entry-top strong { color:var(--ink); font-size:18px; font-variant-numeric:tabular-nums; }
.cycle-entry h5 { font-size:15px; line-height:1.5; margin:12px 0 6px; font-weight:600; }
.cycle-client { margin:0 0 10px; font-size:12px; color:var(--muted); }
.cycle-entry-meta { display:flex; flex-wrap:wrap; gap:4px 12px; font-size:12px; line-height:1.5; color:var(--muted); }
.cycle-work { margin:12px 0 0; white-space:pre-wrap; font-size:14px; line-height:1.6; color:var(--ink); }
.cycle-entry details { margin-top:12px; font-size:13px; }
.cycle-entry summary { color:var(--blue); cursor:pointer; }
.cycle-entry [data-time-adjust] { margin-top:12px; }
.cycle-empty { padding:18px 8px; margin:0; color:var(--muted); font-size:14px; line-height:1.6; }
.cycle-more { width:100%; min-height:44px; white-space:normal; }
@container(max-width:520px) {
 .cycle-columns { grid-auto-flow:row; grid-template-columns:minmax(0,1fr); grid-auto-columns:auto; }
 .cycle-entry-list { max-height:none; }
 .cycle-total { text-align:left; }
 .cycle-month { gap:8px; max-width:100%; }
 .cycle-month label { min-width:0; }
 .cycle-month input { width:100%; min-width:0; }
}
