.crm-work-toolbar { display:flex; gap:10px; flex-wrap:wrap; margin:16px 0; align-items:center; }
.crm-work-toolbar input,.crm-work-toolbar select { padding:10px; border:1px solid var(--line); border-radius:9px; background:var(--white); color:var(--ink); min-height:42px; }
.crm-task-row { display:flex; gap:12px; align-items:center; padding:0 16px; border-bottom:1px solid var(--line); }
.crm-task-row:last-child { border-bottom:0; }
.crm-task-check-control { display:flex; flex:1; min-width:0; align-items:flex-start; gap:12px; padding:16px 0; cursor:pointer; }
.crm-task-row .task-copy { flex:1; min-width:0; overflow-wrap:anywhere; }
.crm-task-row small { display:block; color:var(--muted); margin-top:3px; font-size:12px; line-height:1.45; }
.crm-task-row.done b { text-decoration:line-through; color:var(--muted); }
.crm-task-row.done .task-copy { opacity:.72; }
.crm-task-row.overdue { position:relative; }
.crm-task-row.overdue:before { content:''; position:absolute; left:7px; top:23px; width:7px; height:7px; border-radius:50%; background:var(--red); box-shadow:0 0 0 3px color-mix(in srgb,var(--red) 14%,transparent); }
.crm-report-tabs { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:18px; }
.crm-report-tabs .active { background:var(--blue2); color:var(--blue); }
.crm-report-list { overflow:auto; border:1px solid var(--line); border-radius:12px; background:var(--white); }
.crm-report-list table { width:100%; border-collapse:collapse; min-width:720px; }
.crm-report-list th,.crm-report-list td { padding:14px; text-align:left; border-bottom:1px solid var(--line); }
.crm-report-list th { color:var(--muted); font-size:12px; }
.crm-empty { padding:30px; color:var(--muted); text-align:center; }
.report-range-dialog { width:min(748px,calc(100vw - 16px)); padding:0; border:1px solid var(--line); border-radius:12px; background:var(--white); color:var(--ink); box-shadow:0 12px 40px #152c4b26; }
.report-range-dialog::backdrop { background:#152c4b44; }
.report-calendar-head { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.report-calendar-months { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.report-range-main { margin-left:142px; min-width:0; padding:18px 14px 12px; }
.report-range-footer { display:flex; gap:8px; align-items:center; margin-top:18px; }
.report-range-footer > span { flex:1; }
.report-range-help { font-size:12px; color:var(--muted); min-height:32px; }
.report-calendar-grid { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:3px; margin:14px 0 20px; }
.report-calendar-grid span { text-align:center; font-size:11px; color:var(--muted); padding:5px 0; }
.report-calendar-grid button { min-height:36px; border:0; border-radius:6px; background:transparent; color:inherit; cursor:pointer; }
.report-calendar-grid button:hover,.report-calendar-grid .in-range { background:var(--blue2); }
.report-calendar-grid button.endpoint { background:var(--blue); color:white; }
.report-calendar-grid button:focus-visible { outline:2px solid var(--blue); outline-offset:1px; }
#reportRange { min-width:240px; justify-content:flex-start; }
.crm-work-toolbar > .date-control { flex:1 1 200px; width:auto; min-width:180px; max-width:320px; }
#tasks .head { display:flex; justify-content:space-between; align-items:center; gap:16px; }
#taskDateRange { min-width:320px; min-height:42px; justify-content:flex-start; background:var(--white); }
#taskDateRange > span:last-child { margin-left:auto; }
.task-range-picker { position:fixed; inset:auto; margin:0; padding:0; width:min(748px,calc(100vw - 16px)); max-height:calc(100dvh - 16px); overflow:auto; border:1px solid var(--line); border-radius:12px; background:var(--white); color:var(--ink); box-shadow:0 12px 40px #152c4b26; }
.task-range-picker:popover-open { display:flex; }
.task-range-presets { flex:0 0 142px; padding:16px 12px; border-right:1px solid var(--line); }
.task-range-presets strong { display:block; font-size:12px; color:var(--muted); margin-bottom:12px; }
.task-range-presets button { display:block; width:100%; text-align:left; border:1px solid transparent; border-radius:6px; background:transparent; color:inherit; font:inherit; font-size:12px; font-weight:600; padding:11px 9px; margin-bottom:4px; cursor:pointer; }
.task-range-presets button[aria-pressed=true] { border-color:var(--blue); background:var(--blue2); color:var(--blue); }
.task-range-main { flex:1; min-width:0; padding:18px 14px 12px; }
.task-range-months { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.task-range-heading { display:flex; align-items:center; gap:4px; margin-bottom:16px; }
.task-range-heading select { min-width:0; border:0; background:transparent; color:inherit; font:inherit; font-size:13px; font-weight:650; padding:5px 0; }
.task-range-heading select:first-of-type { flex:1; }
.task-range-heading .btn { min-width:26px; min-height:30px; padding:2px 6px; border:0; box-shadow:none; background:transparent; font-size:22px; }
.task-range-month:last-child .task-range-heading button { order:3; }
.task-range-grid { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); row-gap:5px; }
.task-range-grid > span { color:var(--muted); text-align:center; font-size:11px; padding:6px 0; }
.task-range-grid button { height:34px; padding:0; border:0; border-radius:5px; background:transparent; color:inherit; font:inherit; font-size:12px; cursor:pointer; }
.task-range-grid button.outside { color:var(--muted); opacity:.6; }
.task-range-grid button.in-range { background:var(--blue2); border-radius:0; }
.task-range-grid button.endpoint { background:var(--blue); color:white; border-radius:6px; opacity:1; }
.task-range-grid button:hover,.task-range-presets button:hover { box-shadow:inset 0 0 0 1px var(--blue); }
.task-range-picker button:focus-visible,.task-range-picker select:focus-visible { outline:2px solid var(--blue); outline-offset:2px; }
.task-range-footer { display:flex; gap:8px; align-items:center; margin-top:18px; }
.task-range-footer > span { flex:1; font-size:11px; color:var(--muted); }
@media(max-width:640px) { .task-range-picker:popover-open { flex-direction:column; } .task-range-presets { flex-basis:auto; display:flex; flex-wrap:wrap; gap:4px; border-right:0; border-bottom:1px solid var(--line); padding:10px; } .task-range-presets strong { width:100%; margin:0; } .task-range-presets button { width:auto; margin:0; padding:7px; } .task-range-months,.report-calendar-months { grid-template-columns:1fr; gap:8px; } .task-range-month:nth-child(2),.report-calendar-month:nth-child(2) { display:none; } .task-range-main,.report-range-main { padding:12px 8px; } .task-range-heading select { font-size:11px; } #taskDateRange { min-width:240px; } }
@media(max-width:600px) { .crm-task-row { flex-wrap:wrap; padding:0 12px 12px; } .crm-task-row.overdue:before { left:4px; } .crm-task-check-control { flex-basis:100%; padding-bottom:4px; } .crm-work-toolbar > * { flex:1; min-width:130px; } }
