/* Внешней фокусной обводке тоже нужен зазор до разделителя и соседних кнопок. */
.plan-quick{--quick-gap:8px;flex:none;padding:var(--section-gap) 10px var(--quick-gap);min-width:0}
.plan-day-availability{display:grid;gap:4px;padding:0 10px 8px;flex:none}.plan-day-absence{display:flex;align-items:center;gap:6px;width:100%;min-height:32px;padding:6px 8px;border:1px solid color-mix(in srgb,var(--amber) 16%,var(--border));border-radius:7px;background:color-mix(in srgb,var(--amber) 5%,var(--surface));color:var(--text-soft);text-align:left;cursor:pointer;font-size:12px}.plan-day-absence svg{width:15px;height:15px;flex:none;fill:none;stroke:var(--amber);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.plan-day-absence small{margin-left:auto;font-size:11px;color:var(--text-muted);white-space:nowrap}.plan-day-absence:hover{border-color:var(--amber)}
.plan-quick>[data-quick-open]{display:flex;align-items:center;gap:8px;width:100%;min-height:36px;padding:6px 8px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--text-muted);text-align:left;cursor:pointer;opacity:.45;transition:opacity 160ms,background 160ms,border-color 160ms}
.plan-quick svg{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.plan-day:hover .plan-quick>[data-quick-open],.plan-quick:focus-within>[data-quick-open]{opacity:1}.plan-quick>[data-quick-open]:hover{background:var(--surface-2);border-color:var(--border);color:var(--text)}
.plan-quick form{margin:0;animation:task-field-in 160ms var(--plan-ease)}.plan-quick-fields{display:grid;grid-template-columns:minmax(0,1fr) 36px 30px;align-items:center;gap:var(--quick-gap)}.plan-quick-fields label{min-width:0}.plan-quick-fields input{min-width:0;width:100%;height:40px;padding:8px;font-size:14px;border-radius:8px;background:var(--surface-2)}
.plan-quick-fields button{display:grid;place-items:center;height:40px;padding:4px;border:0;border-radius:8px;background:transparent;color:var(--text-muted);cursor:pointer}.plan-quick-fields .plan-quick-save{color:var(--teal)}.plan-quick-fields button:hover{background:var(--surface-2);color:var(--text)}.plan-quick-fields button:disabled{opacity:.4;cursor:wait}.plan-quick-error{margin:var(--section-gap) 0 0;font-size:12px;line-height:1.5;color:var(--red);overflow-wrap:anywhere}.plan-quick-error:empty{display:none}
.plan-dialog.task-workspace{width:min(780px,calc(100vw - 48px));max-height:calc(100dvh - 64px);overflow:hidden;border-radius:18px}
.plan-dialog.task-workspace[open]{display:flex;flex-direction:column}
.plan-dialog.task-workspace>header{padding:24px 24px 16px;gap:18px;flex:none;border-bottom:0;align-items:flex-start}
.plan-dialog.task-workspace .plan-dialog-heading{flex:1;min-width:0;align-items:flex-start}
.plan-dialog.task-workspace h2,.plan-dialog.task-workspace .task-title-field{font:600 22px/1.4 var(--font-body);margin:0;white-space:normal;overflow-wrap:anywhere}
.plan-dialog.task-workspace .task-title-field{display:block;width:100%;height:auto;min-height:31px;padding:0;border:0;border-radius:4px;background:transparent;color:var(--text);resize:none;overflow:hidden;transition:background 160ms,box-shadow 160ms}
.plan-dialog.task-workspace .task-title-field:hover{background:var(--surface-2);box-shadow:0 0 0 6px var(--surface-2)}.plan-dialog.task-workspace .task-title-field:focus{outline:0;box-shadow:0 0 0 2px var(--teal);background:var(--surface-2)}
.plan-dialog.task-workspace>header .plan-dialog-close{margin:0;align-self:flex-start;min-height:44px}
.plan-dialog.task-workspace>.plan-dialog-body{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:0 24px 24px;scrollbar-width:thin}
.task-workspace-context{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:24px;min-height:34px;font-size:13px}.task-state-label{color:var(--text-muted)}.task-state-control{width:150px}.task-state-control .custom-select-trigger{min-height:34px;height:34px;padding:4px 9px;background:transparent;border-color:transparent;font-size:13px;font-weight:400}.task-state-control .custom-select-trigger:hover{background:var(--surface-2);border-color:var(--border)}
.plan-dialog.task-workspace form{display:block}
.task-properties{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 24px}
.task-properties .task-property{display:grid;gap:7px;min-width:0;margin:0;align-content:start}.task-property-label,.plan-dialog.task-workspace .task-description>span{font-size:12px;line-height:1.4;color:var(--text-muted)}
.task-property-value{display:flex;align-items:center;min-height:44px;padding:10px 12px;border:1px solid transparent;border-radius:var(--radius-sm);font-size:14px;line-height:1.5;overflow-wrap:anywhere;color:var(--text-soft);background:color-mix(in srgb,var(--surface-2) 45%,transparent)}
.task-properties .custom-select-trigger{min-height:44px;background:var(--surface-2);font-size:14px;font-weight:400}
.task-date-control{position:relative;display:flex;align-items:center;justify-content:space-between;gap:10px;height:44px;min-width:0;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);font-size:14px;color:var(--text);transition:border-color 160ms,box-shadow 160ms}
.task-date-control>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-date-control svg{width:18px;height:18px;flex:none;fill:none;stroke:var(--text-muted);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.task-date-control input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;z-index:1}.task-date-control:hover{border-color:var(--text-muted)}.task-date-control:focus-within{border-color:var(--teal);box-shadow:0 0 0 2px color-mix(in srgb,var(--teal) 18%,transparent)}
.plan-dialog.task-workspace .task-description{display:grid;gap:8px;margin:24px 0 0}.task-description textarea{min-height:96px;resize:vertical;background:var(--surface-2);font-size:14px;line-height:1.6}.task-description-text{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;color:var(--text-soft)}
.task-detail-section{margin-top:24px;padding-top:20px;border-top:1px solid var(--border)}.task-detail-section h3{margin:0 0 12px;font:600 14px/1.5 var(--font-body);color:var(--text-soft)}.task-detail-section h3>span{margin-left:6px;font:12px var(--font-mono);color:var(--text-muted)}
.task-links{display:grid}.task-link{display:flex;align-items:center;gap:16px;width:100%;min-height:64px;margin:0;padding:12px 0;border:0;border-bottom:1px solid var(--border);border-radius:0;background:transparent;text-align:left;color:var(--text);cursor:pointer}.task-link:last-child{border-bottom:0}.task-link>span{flex:1;min-width:0}.task-link strong{display:block;white-space:normal;overflow-wrap:anywhere;font:500 14px/1.5 var(--font-body)}.task-link small{display:block;margin-top:4px;font-size:12px;line-height:1.5;color:var(--text-muted)}.task-link svg{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;color:var(--text-muted);transition:translate 160ms}.task-link:hover strong{color:var(--teal)}.task-link:hover svg{translate:2px 0}
.task-record-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 24px;margin:24px 0 0;padding-top:20px;border-top:1px solid var(--border)}.task-record-facts dt{font-size:12px;color:var(--text-muted)}.task-record-facts dd{margin:6px 0 0;font-size:16px;line-height:1.5;overflow-wrap:anywhere}.task-blocker{padding:10px 14px;border-left:2px solid var(--amber);border-radius:0 8px 8px 0;margin:24px 0 0;font-size:14px;color:var(--text-soft);background:color-mix(in srgb,var(--amber) 4%,var(--surface-2))}
.task-cycle-steps{list-style:none;margin:0;padding:0;display:grid;gap:12px}.task-cycle-steps li{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:4px 16px}.task-cycle-steps strong{font-weight:500}.task-cycle-steps span{color:var(--text-muted);font-size:12px}
.task-detail-footer{flex:none;padding:16px 24px;border-top:1px solid var(--border);background:var(--surface)}.task-primary-action{display:flex;justify-content:flex-end;gap:10px}.task-edit-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;animation:task-field-in 160ms var(--plan-ease)}.task-edit-actions>span{margin-right:auto;font-size:12px;color:var(--amber)}.task-edit-actions>span:empty{display:none}
.plan-dialog.task-workspace .task-detail-primary{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 18px;border:1px solid var(--teal);border-radius:var(--radius-sm);font:600 14px var(--font-body);background:var(--teal);color:var(--bg);cursor:pointer}.plan-dialog.task-workspace .task-detail-primary:hover{background:var(--teal-strong)}.task-edit-actions .btn-ghost{min-height:44px;font-size:14px}.task-detail-primary:disabled{opacity:.55;cursor:wait}
.task-detail-error{margin:16px 0 0;font-size:14px;line-height:1.5;color:var(--red);overflow-wrap:anywhere}.task-detail-error:empty{display:none}
@keyframes task-field-in{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
@media(pointer:coarse),(max-width:600px){.plan-quick>[data-quick-open]{min-height:44px;opacity:.75}.plan-quick-fields{grid-template-columns:minmax(0,1fr) 44px 44px}.plan-quick-fields input,.plan-quick-fields button{height:44px}}
@media(max-width:600px){.plan-dialog.task-workspace{inset:0;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0;border:0;border-radius:0}.plan-dialog.task-workspace>header{padding:calc(20px + env(safe-area-inset-top)) 16px 14px;gap:14px}.plan-dialog.task-workspace h2,.plan-dialog.task-workspace .task-title-field{font-size:20px}.plan-dialog.task-workspace>.plan-dialog-body{padding:0 16px 24px}.task-workspace-context{margin-bottom:20px}.task-properties{gap:16px 12px}.task-detail-footer{padding:12px 16px calc(12px + env(safe-area-inset-bottom))}.task-edit-actions{flex-wrap:wrap}.task-edit-actions>span{width:100%}.task-edit-actions>button{flex:1}.task-primary-action>.btn{width:100%}.task-description textarea,.plan-quick-fields input{font-size:16px}.task-record-facts{gap:16px 12px}.plan-quick>[data-quick-open]{opacity:.7;min-height:44px}}
@media(prefers-reduced-motion:reduce){.task-workspace *,.plan-quick *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
