.crm-tasks-page{min-width:0}
.crm-tasks-page [data-task-total]{margin-left:auto;color:var(--muted);font-size:11px;white-space:nowrap}
.crm-task-board{gap:16px;min-height:480px}
.crm-task-column{flex:1 0 280px;max-width:360px;padding:12px 10px}
.crm-task-column>header{padding-bottom:13px}
.crm-task-column>header h2{font-size:12px}
.crm-task-column>.btn{width:100%;margin-top:10px;font-size:11px}
.crm-task-deal.crm-deal-card{position:relative;display:block;padding:0;cursor:default;overflow:hidden;text-align:left;transition:border-color .16s,box-shadow .16s;background:var(--surface)}
.crm-task-deal-link{display:flex;flex-direction:column;gap:7px;padding:14px 14px 8px;color:var(--ink);text-decoration:none}
.crm-task-deal-link>strong{font-size:13px;font-weight:600;line-height:1.4;overflow-wrap:anywhere}
.crm-task-deal-link:hover>strong{text-decoration:underline;text-underline-offset:3px;color:var(--accent)}
.crm-task-deal-link:focus-visible{outline:2px solid var(--accent);outline-offset:-3px;border-radius:10px}
.crm-task-deal .crm-deal-contact{font-size:11px;margin-top:0}
.crm-task-deal:hover{transform:none}.crm-task-deal:active{cursor:default}
.crm-task-deal .crm-task-type{margin-bottom:0}
.crm-task-deal .crm-stage-badge{font-size:10px;padding:3px 7px}
.crm-task-deal-stage{line-height:1}
.crm-task-deal-type{margin-top:3px}
.crm-task-deal .crm-task-type,.crm-task-table .crm-task-type{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--ink);font-weight:500}
.crm-task-deal .crm-task-type .icon,.crm-task-table .crm-task-type .icon{width:15px;height:15px;color:var(--accent);flex-shrink:0}
.crm-task-deal-comment{font-size:12px;line-height:1.5;color:var(--muted);white-space:pre-wrap;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.crm-task-deal footer{display:flex;align-items:center;gap:8px;justify-content:space-between;margin:2px 14px 0;padding:7px 0 10px;border-top:1px solid var(--line)}
.crm-task-due{font-size:11px;font-variant-numeric:tabular-nums;color:var(--muted)}
.crm-task-due.is-overdue{color:#bd456b}
.crm-task-deal footer .icon-btn,.crm-task-list-due .icon-btn{width:25px;height:25px;border:1px solid var(--line);border-radius:7px;color:var(--muted);flex-shrink:0}
.crm-task-deal footer .icon-btn:hover,.crm-task-list-due .icon-btn:hover{border-color:var(--accent);color:var(--accent);background:var(--soft)}
.crm-task-deal footer .icon-btn .icon,.crm-task-list-due .icon-btn .icon{width:14px;height:14px}
.crm-task-table .data-table{min-width:850px}
.crm-task-table th{font-size:10px}
.crm-task-table .crm-table-link{color:var(--accent);font-size:12px}
.crm-task-list-due{display:flex;align-items:center;gap:9px}
.crm-task-list-due time{white-space:normal;line-height:1.5}
.crm-task-table td.crm-task-list-comment{font-size:12px;white-space:pre-wrap;overflow-wrap:anywhere}
.crm-task-table .crm-stage-badge{white-space:nowrap}
@media(max-width:700px){.crm-task-column{flex-basis:calc(100vw - 65px);max-width:none}.crm-tasks-page [data-task-total]{margin-left:0}.crm-tasks-page .crm-heading>a{margin-left:auto}.crm-task-board{min-height:400px}}
.crm-task-view-controls{display:flex;gap:8px;align-items:center}
.crm-task-scope{font-size:12px;color:var(--muted);white-space:nowrap}
.crm-task-menu .crm-action-menu{width:210px}
.crm-tasks-page .is-complete .crm-task-deal-link>strong,.crm-tasks-page tr.is-complete .crm-table-link{text-decoration:line-through;color:var(--muted)}
.crm-task-deal.is-complete{opacity:.7}
.crm-calendar-toolbar{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-bottom:14px}
.crm-calendar-toolbar>strong{font-size:16px;font-weight:600;text-transform:capitalize}
.crm-calendar-toolbar>div{display:flex;align-items:center;gap:10px}
.crm-calendar-toolbar :is(select,input){border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:8px;padding:7px;font-size:12px;max-width:140px}
.crm-calendar-navigation{display:flex;align-items:center;border:1px solid var(--line);border-radius:8px;background:var(--surface);overflow:hidden}
.crm-calendar-navigation .btn{border:0;border-radius:0;background:transparent;padding:8px 10px;font-size:12px}
.crm-calendar-navigation .icon-btn{width:30px;height:32px;border-radius:0}
.crm-task-calendar.panel{padding:0;overflow:hidden;border-radius:13px}
.crm-calendar-scroll{height:calc(100dvh - 290px);min-height:360px;max-height:1000px;overflow:auto;scrollbar-width:thin;overscroll-behavior:contain}
.crm-calendar-grid-wrap{min-width:760px;--calendar-template:52px repeat(var(--calendar-days),minmax(0,1fr))}
.crm-calendar-grid-wrap[style*="--calendar-days:1"]{min-width:0}
.crm-calendar-sticky{position:sticky;top:0;z-index:4;background:var(--surface);box-shadow:0 1px 0 var(--line)}
.crm-calendar-days,.crm-calendar-all-day,.crm-calendar-hours{display:grid;grid-template-columns:var(--calendar-template)}
.crm-calendar-days>div{display:flex;justify-content:center;align-items:center;gap:7px;padding:11px 4px;font-size:12px;border-left:1px solid var(--line)}
.crm-calendar-days span{color:var(--muted);text-transform:capitalize}
.crm-calendar-days b,.crm-month-day>button{font-size:12px;font-weight:500;width:25px;height:25px;display:inline-grid;place-items:center;border-radius:50%}
.crm-task-calendar .is-today{background:var(--accent);color:var(--accent-ink,#fff)}
.crm-calendar-all-day{min-height:45px;border-top:1px solid var(--line)}
.crm-calendar-all-day>span{font-size:9px;color:var(--muted);padding:8px 4px;text-align:center}
.crm-calendar-all-day>div{border-left:1px solid var(--line);padding:4px;display:flex;flex-direction:column;gap:3px;max-height:155px;overflow:auto}
.crm-calendar-undated{display:flex;gap:12px;padding:7px 10px;border-bottom:1px solid var(--line);background:var(--canvas);max-height:115px;overflow:auto}
.crm-calendar-undated>span{font-size:10px;color:var(--muted);padding-top:5px;white-space:nowrap}
.crm-calendar-undated>div{display:flex;gap:4px;flex-wrap:wrap;min-width:0}
.crm-calendar-undated .crm-calendar-task{max-width:220px}
.crm-calendar-grid-wrap .crm-calendar-undated{position:sticky;left:0;width:var(--calendar-width);box-sizing:border-box}
.crm-calendar-days>div:first-child,.crm-calendar-all-day>span,.crm-calendar-hour-labels{position:sticky;left:0;background:var(--surface);z-index:3}
.crm-calendar-hours{height:1482px;position:relative}
.crm-calendar-hour-labels{box-shadow:1px 0 0 var(--line)}
.crm-calendar-hour-labels>span{position:absolute;right:7px;color:var(--muted);font-size:9px;padding-top:2px}
.crm-calendar-time-day{position:relative;border-left:1px solid var(--line);background:repeating-linear-gradient(to bottom,var(--line) 0,var(--line) 1px,transparent 1px,transparent 60px)}
.crm-calendar-task{display:block;border:1px solid color-mix(in srgb,var(--event-color) 40%,var(--line));border-left:3px solid var(--event-color);background:color-mix(in srgb,var(--event-color) 18%,var(--surface));color:var(--ink);border-radius:4px;padding:4px 5px;min-width:0;overflow:hidden;font-size:10px;text-decoration:none}
.crm-calendar-task:hover{filter:brightness(.96);box-shadow:0 2px 7px #00000012}
.crm-calendar-task:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
.crm-calendar-task>strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:11px;font-weight:500;line-height:1.4}
.crm-calendar-task time{font-size:10px;margin-right:5px}
.crm-calendar-task .icon{display:inline-block;width:11px;height:11px;vertical-align:middle;margin-right:3px}
.crm-calendar-task-detail{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:10px;color:var(--muted);line-height:1.4}
.crm-calendar-hours .crm-calendar-task{position:absolute;height:41px;z-index:2}
.crm-calendar-task.is-complete{opacity:.55}
.crm-calendar-task.is-complete>strong{text-decoration:line-through}
.crm-calendar-now{position:absolute;height:1px;background:#d46670;left:0;right:0;z-index:3;pointer-events:none}
.crm-calendar-now:before{content:"";position:absolute;left:-3px;top:-3px;width:7px;height:7px;border-radius:50%;background:#d46670}
.crm-month-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));position:sticky;top:0;background:var(--surface);z-index:3;border-bottom:1px solid var(--line);min-width:760px}
.crm-month-weekdays span{padding:10px;text-align:center;font-size:11px;color:var(--muted)}
.crm-calendar-month{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));min-width:760px}
.crm-month-day{border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:5px;min-height:124px;display:flex;flex-direction:column;align-items:stretch;gap:3px}
.crm-month-day>button{align-self:flex-end;flex-shrink:0;background:transparent;color:var(--ink);cursor:pointer}
.crm-month-day.is-outside{background:var(--canvas)}
.crm-month-day.is-outside>button{color:var(--muted)}
.crm-month-day .crm-calendar-task-detail{display:none}
.crm-month-day>button.crm-calendar-more{width:auto;height:auto;color:var(--muted);border-radius:4px;font-size:10px;padding:3px;align-self:stretch;text-align:left}
.crm-calendar-load{padding:10px;text-align:center}
.crm-date-all-day{display:flex;align-items:center;gap:7px;font-size:12px;margin:10px 0;color:var(--ink)}
.crm-date-all-day input{accent-color:var(--accent)}
@media(max-width:700px){.crm-calendar-toolbar{flex-wrap:wrap;gap:10px}.crm-calendar-toolbar>div{width:100%;gap:6px;flex-wrap:wrap}.crm-calendar-toolbar input{max-width:125px}.crm-calendar-toolbar select{max-width:98px}.crm-calendar-scroll{height:calc(100dvh - 300px);min-height:350px}.crm-tasks-page .crm-heading-title>div{gap:8px}.crm-task-view-controls{gap:5px}.crm-calendar-navigation .btn{padding-inline:6px}.crm-calendar-navigation .icon-btn{width:25px}}
.crm-task-bulk{display:flex;align-items:center;gap:14px;padding:13px 16px;background:var(--soft);border:1px solid var(--line);border-radius:12px;margin-bottom:12px}
.crm-task-bulk>div{display:flex;align-items:center;gap:16px;flex-wrap:wrap;flex:1}
.crm-task-bulk .text-btn{display:inline-flex;align-items:center;gap:6px;font-size:12px;white-space:nowrap}
.crm-task-bulk .icon{width:16px;height:16px;flex-shrink:0}
.crm-task-selected-count{font-size:12px;white-space:nowrap;color:var(--muted)}
.crm-task-table :is(th,td):first-child{width:44px;min-width:44px;padding-left:16px;padding-right:8px}
.crm-task-table input[type=checkbox]{width:17px;height:17px;accent-color:var(--accent);vertical-align:middle;cursor:pointer}
.crm-task-table tr.is-selected td{background:var(--soft)}
.crm-task-bulk-date{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.crm-task-bulk-count{color:var(--muted);font-size:13px}
@media(max-width:700px){.crm-task-bulk{align-items:flex-start;gap:10px;flex-wrap:wrap}.crm-task-bulk>div{order:3;flex-basis:100%;gap:12px}.crm-task-bulk>[data-task-clear]{margin-left:auto}}
/* The calendar fills the remaining workspace; only its dates and hours scroll. */
body:has(.crm-tasks-page.is-calendar) .shell{display:flex;flex-direction:column;height:100dvh;min-height:0;padding-bottom:0}
body:has(.crm-tasks-page.is-calendar) .topbar{flex-shrink:0}
.content:has(.crm-tasks-page.is-calendar){display:flex;flex-direction:column;flex:1;min-height:0;width:100%;margin:0 auto;padding-bottom:18px}
.view:has(>.crm-tasks-page.is-calendar){display:flex;flex-direction:column;flex:1;min-height:0}
.crm-tasks-page.is-calendar{display:flex;flex-direction:column;flex:1;min-height:0}
.crm-tasks-page.is-calendar>:is(.crm-heading,.crm-toolbar,.crm-calendar-toolbar){flex-shrink:0}
.crm-tasks-page.is-calendar>[data-task-results]{display:flex;flex-direction:column;flex:1;min-height:0}
.crm-tasks-page.is-calendar .crm-task-calendar{display:flex;flex-direction:column;flex:1;min-height:0}
.crm-tasks-page.is-calendar .crm-calendar-scroll{height:auto;min-height:0;max-height:none;flex:1}
.crm-calendar-load{flex-shrink:0}
