#task-content .task-summary{gap:15px;padding-bottom:16px}
#task-content .task-summary .priority-control,#task-content .summary-due{display:flex;align-items:flex-start;flex-direction:column;gap:8px;margin:0;padding:0;border:0}
#task-content .task-summary .priority-control>span,#task-content .summary-due>span{font-size:13px;font-weight:600;color:var(--text)}
#task-content .priority-switch .priority-choice{min-height:36px;padding:8px 14px;font-size:13px}
.task-date-button{display:flex;align-items:center;gap:10px;min-height:40px;padding:9px 13px;background:color-mix(in srgb,var(--text) 8%,var(--field));color:var(--text);border:0;border-radius:5px;font-size:13px;font-weight:600;cursor:pointer}
.task-date-button:hover{background:color-mix(in srgb,var(--text) 14%,var(--field))}.task-date-button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6}.task-date-button>span:last-child{color:inherit;margin-left:10px}
.task-additional-info{flex-shrink:0;padding-top:18px;margin-top:18px;border-top:1px solid var(--line);display:grid;gap:12px}
#task-content .task-additional-info h4{font-size:14px;font-weight:600;color:var(--text);margin:0 0 2px}
.task-additional-info .summary-company,.task-additional-info .summary-contact{grid-template-columns:80px minmax(0,1fr)}
.task-calendar{--season:#89b9e9;width:330px;max-width:calc(100vw - 24px);padding:0;border:1px solid var(--line);border-radius:12px;background:var(--card);box-shadow:var(--shadow);overflow:hidden}
.task-calendar[data-season=spring]{--season:#8fbe99}.task-calendar[data-season=summer]{--season:#56b488}.task-calendar[data-season=autumn]{--season:#d6a16e}
.light .task-calendar{--season:#70a9db}.light .task-calendar[data-season=spring]{--season:#87b88b}.light .task-calendar[data-season=summer]{--season:#53ad79}.light .task-calendar[data-season=autumn]{--season:#de9c61}
.calendar-month{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:16px 12px;background:color-mix(in srgb,var(--season) 13%,var(--card))}
.calendar-month h2{font-size:16px;font-weight:600;margin:0;text-transform:capitalize;color:var(--text)}
.calendar-month button{width:32px;height:32px;background:transparent;color:var(--text);font-size:25px;border-radius:5px}
.calendar-month button:hover{background:color-mix(in srgb,var(--season) 22%,transparent)}
.calendar-week,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;padding:0 14px}
.calendar-week{padding-top:14px;padding-bottom:8px;color:var(--muted);font-size:11px;text-align:center}
.calendar-days{padding-bottom:14px}.calendar-days button{height:36px;border-radius:6px;background:transparent;color:var(--text);font-size:13px}
.calendar-days button:hover{background:var(--hover)}.calendar-days button[aria-current=date]{color:var(--blue);font-weight:700}
.calendar-days button[aria-pressed=true]{background:var(--blue-bg);color:var(--blue);font-weight:700}
.calendar-days button:focus-visible{outline:2px solid var(--blue);outline-offset:-2px}
.task-calendar footer{display:flex;justify-content:space-between;gap:4px;padding:10px 12px;border-top:1px solid var(--line)}
.task-calendar footer button{padding:8px;background:transparent;color:var(--muted);border-radius:5px;font-size:12px}.task-calendar footer button:hover{color:var(--text);background:var(--hover)}
.task-calendar::backdrop{background:transparent;backdrop-filter:none}

/* Metadata sits alongside scheduling when both sections have comfortable room. */
.task-date-button>span:last-child{margin-left:0;color:inherit}
.task-metadata-columns{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:24px;align-items:start;min-width:0}
.task-scheduling{display:flex;flex-direction:column;gap:16px;min-width:0}
.task-metadata-columns .task-additional-info{padding:0;margin:0;border:0;min-width:0;align-content:start}
.task-metadata-columns .summary-company,.task-metadata-columns .summary-contact{display:flex;flex-direction:column;align-items:stretch;gap:7px;min-width:0}
.task-metadata-columns .company-choice,.task-metadata-columns .summary-contact>div{min-width:0}
.task-metadata-columns .contact-picker,.task-metadata-columns .company-picker{white-space:normal;overflow-wrap:anywhere;text-align:left}
.task-metadata-columns .contact-unselected{grid-template-columns:minmax(0,1fr)}
.task-metadata-columns .contact-details dd{overflow-wrap:anywhere;min-width:0}
@container(min-width:581px){
 #task-content .input-block>.block-body,#task-content .result-block>.block-body{grid-template-columns:minmax(0,5fr) minmax(0,3fr)}
}

/* Shared field styling for title, company, contact and date. */
#task-content .inline-title,#task-content .company-picker,#task-content .contact-picker{background:var(--field);border:0;border-radius:5px;padding:10px 13px;min-height:40px;color:var(--text);box-shadow:none;line-height:1.45}
#task-content .inline-title{font-size:18px;font-weight:600;width:100%}
#task-content .company-picker,#task-content .contact-picker{font-size:13px;cursor:pointer}
#task-content .company-picker:hover,#task-content .contact-picker:hover{background:var(--hover)}
body.light .tree-point{--node-color:#3298ff}
body.light .tree-point.status-in_progress,body.light .tree-point.status-postponed{--node-color:#ffc21f}
body.light .tree-point.status-done{--node-color:#25c779}
body.light .tree-point:not(.active){stroke:var(--node-color);stroke-width:3;fill:color-mix(in srgb,var(--node-color) 18%,white)}
body.light .tree-point.active{fill:var(--node-color);stroke:var(--node-color);filter:drop-shadow(0 0 5px var(--node-color)) drop-shadow(0 0 12px var(--node-color)) drop-shadow(0 0 24px color-mix(in srgb,var(--node-color) 65%,transparent))}

#task-content .company-choice .clear-company{color:#e7707c;background:transparent;border:0;border-radius:5px;width:34px;height:40px;font-size:23px;flex:none;padding:0}
#task-content .company-choice .clear-company:hover{background:color-mix(in srgb,#e7707c 12%,transparent)}
body.light #task-content .company-choice .clear-company{color:#ce4556}
#task-content .work-mode .work-state{border:0!important;outline:none;box-shadow:none!important;border-radius:4px;min-height:34px;padding:7px 12px;font-size:12px;font-weight:600;transition:background .16s,color .16s}
#task-content .work-mode .work-state .state-indicator{filter:none}
#task-content .work-mode .work-state.paused{background:color-mix(in srgb,#ed737d 7%,transparent)!important}
#task-content .work-mode .work-state.running{background:color-mix(in srgb,#65c58a 7%,transparent)!important}
#task-content .work-mode .work-state.paused:hover{background:color-mix(in srgb,#ed737d 14%,transparent)!important}
#task-content .work-mode .work-state.running:hover{background:color-mix(in srgb,#65c58a 14%,transparent)!important}
#task-content .work-mode .work-state:focus-visible{outline:2px solid var(--blue);outline-offset:2px}

/* Keep deadlines legible in both the board cards and the task form. */
.task-card .card-meta time{font-size:12px;font-weight:600;line-height:1.4;color:var(--text);white-space:normal}
.task-card .card-meta time.overdue{color:var(--red)}
.task-card .card-meta time.today{color:var(--yellow)}
#task-content .summary-due time{font-size:14px;font-weight:600;color:var(--text)}
#task-content .task-date-button{font-size:13px;font-weight:600;color:var(--text);border:0;box-shadow:none}
#task-content .task-date-button>span{color:var(--text)}
