.job-task-panel{margin-top:18px;padding:24px}.job-task-actions{display:flex;gap:10px}.task-board-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--border);border:1px solid var(--border);border-radius:14px;overflow:hidden;margin:20px 0}.task-board-summary>div{background:var(--surface);padding:16px 18px}.task-board-summary small{display:block;color:var(--muted);font-size:12px;margin-bottom:5px}.task-board-summary strong{font-size:19px}.job-task-list{display:grid;gap:10px}.job-task-card{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:14px;align-items:center;padding:16px;border:1px solid var(--border);border-radius:14px;background:var(--surface)}.task-status-icon{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;color:var(--accent);background:var(--accent-soft)}.task-status-icon svg{width:19px}.task-card-main h4{font-size:15px;margin:3px 0 5px}.task-card-main>div>span{font-size:11px;color:var(--accent);font-weight:700;text-transform:uppercase}.task-card-main p{font-size:13px;color:var(--muted);margin:0 0 9px}.task-meta{display:flex;gap:14px;flex-wrap:wrap}.task-meta span{display:flex;align-items:center;gap:5px;font-size:12px;color:var(--muted)}.task-meta svg{width:14px}.task-card-controls{text-align:right;min-width:210px}.task-card-controls>div{display:flex;justify-content:flex-end;gap:6px;margin-top:10px}.mini-action{min-height:34px;border:1px solid var(--border);background:var(--surface);border-radius:9px;padding:0 10px;display:inline-flex;align-items:center;gap:5px;font-weight:700;font-size:11px;color:var(--text)}.mini-action:hover{border-color:var(--accent);color:var(--accent)}.mini-action svg{width:13px}.task-assignee-options{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.task-assignee-options input{position:absolute;opacity:0}.task-assignee-options span{min-height:46px;border:1px solid var(--border);border-radius:11px;display:flex;align-items:center;gap:8px;padding:8px 12px;font-weight:700}.task-assignee-options input:checked+span{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.task-assignee-options small{margin-left:auto;color:var(--muted);font-weight:500}.task-assignee-options svg{width:16px}.task-form-modal{width:min(760px,calc(100vw - 30px))}@media(max-width:760px){.task-board-summary{grid-template-columns:1fr 1fr}.job-task-card{grid-template-columns:40px 1fr}.task-card-controls{grid-column:1/-1;text-align:left}.task-card-controls>div{justify-content:flex-start}.job-task-actions{width:100%;flex-wrap:wrap}.task-assignee-options{grid-template-columns:1fr}}

/* Job planning polish: shared sizing and a spacious task editor. */
.job-detail-page .primary-button,
.job-detail-page .secondary-button,
.job-detail-page .danger-button{
  min-height:44px;
  justify-content:center;
  padding:0 16px;
  border-radius:11px;
  font-size:13px;
  line-height:1;
  text-decoration:none;
  white-space:nowrap;
}
.job-detail-page .job-hero-actions{justify-content:flex-end}
.job-detail-page .job-hero-actions .primary-button,
.job-detail-page .job-hero-actions .secondary-button{margin:0}
.job-detail-page .workflow-actions .secondary-button{min-height:40px;padding-inline:14px}
.job-task-panel .contacts-head{align-items:center;gap:18px}
.job-task-actions{align-items:center;flex:0 0 auto}
.job-task-actions .primary-button,
.job-task-actions .secondary-button{margin:0;text-decoration:none}
.task-card-controls>div{align-items:center;flex-wrap:wrap}
.task-card-controls .icon-button{width:40px;height:40px;border-radius:10px}
.task-card-controls .mini-action{min-height:40px;padding:0 13px;border-radius:10px;font-size:12px;cursor:pointer;transition:.2s}
.task-card-controls .mini-action:hover{background:var(--accent-soft);transform:translateY(-1px)}

.task-form-modal.form-modal{
  width:min(1020px,calc(100vw - 48px));
  max-width:1020px;
  max-height:calc(100vh - 48px);
  padding:0;
  overflow:hidden;
}
.task-form-modal .modal-head{
  min-height:88px;
  margin:0;
  padding:22px 30px;
  border-bottom:1px solid var(--border);
  background:var(--surface);
}
.task-form-modal form{display:flex;max-height:calc(100vh - 136px);flex-direction:column}
.task-form-modal .modal-form-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px 20px;
  padding:26px 30px 12px;
  overflow:auto;
}
.task-form-modal .form-group{margin:0}
.task-form-modal .form-group>span{margin-bottom:8px;font-size:12px;font-weight:700}
.task-form-modal .input-wrap{min-height:52px;border-radius:12px}
.task-form-modal textarea{min-height:112px;padding:15px 16px;border-radius:12px;line-height:1.55;resize:vertical}
.task-form-modal .task-assignee-options{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:9px;
  max-height:172px;
  overflow:auto;
  padding:2px 4px 2px 2px;
}
.task-form-modal .task-assignee-options label{position:relative;min-width:0;cursor:pointer}
.task-form-modal .task-assignee-options span{
  min-height:42px;
  padding:7px 10px;
  border-radius:10px;
  gap:7px;
  font-size:12px;
  line-height:1.2;
  transition:border-color .18s,background .18s,color .18s,box-shadow .18s,transform .18s;
}
.task-form-modal .task-assignee-options span:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--border));background:var(--surface-2);transform:translateY(-1px)}
.task-form-modal .task-assignee-options input:focus-visible+span{outline:3px solid var(--accent-soft);outline-offset:2px}
.task-form-modal .task-assignee-options input:checked+span{box-shadow:inset 0 0 0 1px var(--accent)}
.task-form-modal .task-assignee-options svg{width:14px;height:14px;flex:0 0 auto}
.task-form-modal .task-assignee-options small{max-width:92px;overflow:hidden;font-size:10px;text-overflow:ellipsis;white-space:nowrap}
.task-form-modal .modal-error{margin:10px 30px 0}
.task-form-modal .modal-actions{
  min-height:76px;
  align-items:center;
  margin:0;
  padding:14px 30px;
  border-top:1px solid var(--border);
  background:color-mix(in srgb,var(--surface) 96%,transparent);
  box-shadow:0 -10px 28px rgba(15,23,42,.035);
}
.task-form-modal .modal-actions button{min-width:120px;min-height:44px;margin:0;justify-content:center;font-size:13px}

@media(max-width:900px){
  .task-form-modal .task-assignee-options{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
  .task-form-modal.form-modal{width:calc(100vw - 18px);max-height:calc(100vh - 18px)}
  .task-form-modal .modal-head{min-height:76px;padding:18px 20px}
  .task-form-modal form{max-height:calc(100vh - 94px)}
  .task-form-modal .modal-form-grid{grid-template-columns:1fr;padding:20px 20px 10px}
  .task-form-modal .task-assignee-options{grid-template-columns:1fr 1fr}
  .task-form-modal .modal-error{margin-inline:20px}
  .task-form-modal .modal-actions{padding:12px 20px}
  .job-detail-page .job-hero-actions>*{min-width:100%}
}
@media(max-width:520px){
  .task-form-modal .task-assignee-options{grid-template-columns:1fr}
  .task-form-modal .modal-actions button{min-width:0;flex:1}
}

/* Execution architecture: a service responsibility is not an hourly task. */
.execution-architecture-note{display:flex;align-items:flex-start;gap:11px;margin:18px 0 0;padding:13px 15px;border:1px solid color-mix(in srgb,var(--accent) 22%,var(--border));border-radius:12px;background:color-mix(in srgb,var(--accent-soft) 54%,var(--surface));color:var(--muted)}
.execution-architecture-note>svg{width:18px;height:18px;flex:0 0 18px;margin-top:1px;color:var(--accent)}
.execution-architecture-note>div{display:flex;flex-direction:column;gap:3px;font-size:12px;line-height:1.5}.execution-architecture-note strong{color:var(--text);font-size:12px}
.service-responsibility-card{border-left:3px solid var(--accent);background:color-mix(in srgb,var(--accent-soft) 22%,var(--surface))}
.service-responsibility-card .task-status-icon{background:color-mix(in srgb,var(--accent-soft) 82%,var(--surface));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 15%,transparent)}
.activity-card{margin-left:18px}.period-responsibility-tag{color:var(--accent)!important;font-weight:700}
.inline-check{min-height:44px;display:flex!important;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--border);border-radius:11px;background:var(--surface-2)}
.inline-check input{width:18px;height:18px;accent-color:var(--accent)}.inline-check>span{margin:0!important;color:var(--text)!important;font-size:12px!important}
.quantity-split-modal.form-modal{width:min(940px,calc(100vw - 40px));max-width:940px;max-height:calc(100vh - 40px);overflow:auto}
.quantity-split-modal .modal-head p{margin:6px 0 0;color:var(--muted);font-size:12px}
.quantity-part-list{display:flex;flex-direction:column;gap:8px;margin:16px 0}
.quantity-part-row{display:grid;grid-template-columns:32px minmax(100px,.55fr) minmax(180px,1fr) minmax(180px,1fr);align-items:end;gap:10px;padding:11px;border:1px solid var(--border);border-radius:11px;background:var(--surface-2)}
.quantity-part-row>b{width:28px;height:42px;display:grid;place-items:center;border-radius:9px;background:var(--accent-soft);color:var(--accent);font-size:11px}
.quantity-part-row label{display:flex;min-width:0;flex-direction:column;gap:5px}.quantity-part-row label>span{color:var(--muted);font-size:10px;font-weight:700}
.quantity-part-row input,.quantity-part-row select{width:100%;height:42px;padding:0 11px;border:1px solid var(--border);border-radius:9px;background:var(--surface);color:var(--text);font-size:12px;outline:0}
.quantity-part-row input:focus,.quantity-part-row select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
@media(max-width:760px){.activity-card{margin-left:0}.quantity-part-row{grid-template-columns:28px 1fr}.quantity-part-row label:nth-of-type(2),.quantity-part-row label:nth-of-type(3){grid-column:2}.execution-architecture-note{margin-top:14px}}
