/* ===== Создание задачи — единая палитра и кнопки ===== */
.task-create-box {
  --tc-input-bg: rgba(255, 252, 248, 0.95);
  --tc-input-border: rgba(100, 90, 80, 0.22);
  --tc-surface: rgba(255, 255, 255, 0.62);
  --tc-surface-deep: rgba(255, 255, 255, 0.42);
  --tc-muted: var(--home-text-muted);
  --tc-primary: linear-gradient(155deg, #f0d4a8 0%, #ddb06a 42%, #c9923a 100%);
  --tc-primary-hover: linear-gradient(155deg, #f5ddb8 0%, #e8bc78 100%);
  --tc-primary-text: #2c2218;
  --tc-primary-shadow: rgba(180, 130, 60, 0.28);
  --tc-soft: rgba(155, 120, 180, 0.14);
  --tc-soft-border: rgba(140, 115, 170, 0.38);
  --tc-soft-text: #6b5288;
  --tc-ghost-bg: transparent;
  --tc-ghost-border: rgba(155, 107, 184, 0.42);
  --tc-ghost-text: var(--home-purple);
  --tc-danger-bg: rgba(180, 70, 70, 0.1);
  --tc-danger-border: rgba(200, 90, 90, 0.4);
  --tc-danger-text: #a04040;
  --tc-rail: linear-gradient(180deg, rgba(201, 146, 58, 0.55) 0%, rgba(155, 107, 184, 0.45) 100%);
  --tc-focus: rgba(201, 146, 58, 0.45);
}

html[data-theme='dark'] .task-create-box {
  --tc-input-bg: rgba(24, 22, 20, 0.95);
  --tc-input-border: rgba(190, 175, 155, 0.16);
  --tc-surface: rgba(44, 42, 40, 0.95);
  --tc-surface-deep: rgba(36, 34, 32, 0.9);
  --tc-muted: #a8a098;
  --tc-primary: linear-gradient(155deg, #e4c49a 0%, #c9a060 48%, #a07838 100%);
  --tc-primary-hover: linear-gradient(155deg, #edd0a8 0%, #d4ad70 100%);
  --tc-primary-text: #1c1610;
  --tc-primary-shadow: rgba(0, 0, 0, 0.35);
  --tc-soft: rgba(110, 95, 145, 0.22);
  --tc-soft-border: rgba(150, 135, 185, 0.38);
  --tc-soft-text: #d0c4e4;
  --tc-ghost-bg: rgba(80, 70, 100, 0.15);
  --tc-ghost-border: rgba(150, 135, 185, 0.35);
  --tc-ghost-text: #d8cce8;
  --tc-danger-bg: rgba(120, 45, 45, 0.2);
  --tc-danger-border: rgba(200, 100, 100, 0.35);
  --tc-danger-text: #f0a8a8;
  --tc-rail: linear-gradient(180deg, rgba(212, 175, 110, 0.5) 0%, rgba(140, 120, 180, 0.4) 70%, transparent 100%);
  --tc-focus: rgba(212, 175, 110, 0.45);
}

html[data-theme='dark'] #task-create-modal .upload-modal-box.task-create-box {
  background: rgba(30, 28, 26, 0.98);
  border-color: rgba(200, 185, 165, 0.12);
  box-shadow: 0 28px 90px rgba(0, 0, 0, 0.55);
}

#task-create-modal .upload-modal-title {
  color: var(--home-accent-dark);
  border-bottom-color: rgba(201, 146, 58, 0.35);
}

html[data-theme='dark'] #task-create-modal .upload-modal-title {
  color: #e8d4b0;
}

/* Поля ввода */
.task-create-box .form-group label,
.task-create-box .task-tree-label,
.task-create-box .task-staircase-target-label {
  color: var(--tc-muted);
}

.task-create-box input[type='text'],
.task-create-box input[type='datetime-local'],
.task-create-box textarea,
.task-create-box select,
.task-create-box .tree-node-title,
.task-create-box .tree-node-desc,
.task-create-box .task-add-target-select,
.task-create-box .task-title-lg {
  background: var(--tc-input-bg);
  border: 1px solid var(--tc-input-border);
  color: var(--home-text);
  border-radius: 8px;
  transition: border-color 0.15s, box-shadow 0.15s;
}

.task-create-box input::placeholder,
.task-create-box textarea::placeholder {
  color: var(--tc-muted);
  opacity: 0.85;
}

.task-create-box input:focus,
.task-create-box textarea:focus,
.task-create-box select:focus {
  outline: none;
  border-color: rgba(201, 146, 58, 0.55);
  box-shadow: 0 0 0 3px var(--tc-focus);
}

/* Кнопки */
.task-create-box .btn-home,
.task-create-box .tree-add-child {
  background: var(--tc-primary) !important;
  color: var(--tc-primary-text) !important;
  border: 1px solid rgba(255, 230, 190, 0.2) !important;
  box-shadow: 0 4px 16px var(--tc-primary-shadow) !important;
  font-weight: 700;
  border-radius: 8px;
  transition: filter 0.15s, transform 0.12s, box-shadow 0.15s;
}

.task-create-box .btn-home:hover,
.task-create-box .tree-add-child:hover {
  background: var(--tc-primary-hover) !important;
  filter: none;
  transform: translateY(-1px);
  box-shadow: 0 6px 20px var(--tc-primary-shadow) !important;
}

.task-create-box .btn-outline,
.task-create-box .tree-add-sibling,
.task-create-box #task-add-to-target {
  background: var(--tc-ghost-bg) !important;
  border: 1px solid var(--tc-ghost-border) !important;
  color: var(--tc-ghost-text) !important;
  font-weight: 600;
  border-radius: 8px;
  transition: background 0.15s, border-color 0.15s, color 0.15s;
}

.task-create-box .btn-outline:hover,
.task-create-box .tree-add-sibling:hover,
.task-create-box #task-add-to-target:hover {
  background: var(--tc-soft) !important;
  border-color: var(--tc-soft-border) !important;
  color: var(--home-text) !important;
}

.task-create-box .tree-add-sibling {
  background: var(--tc-soft) !important;
  border-color: var(--tc-soft-border) !important;
  color: var(--tc-soft-text) !important;
}

.task-create-box .tree-add-sibling:hover {
  background: rgba(130, 110, 165, 0.28) !important;
}

html[data-theme='dark'] .task-create-box .tree-add-sibling:hover {
  background: rgba(120, 100, 155, 0.32) !important;
  color: #ece6f8 !important;
}

.task-create-box .btn-sm {
  padding: 0.38rem 0.7rem;
  font-size: 0.8rem;
}

.task-create-box .tree-node-remove {
  background: var(--tc-danger-bg) !important;
  border-color: var(--tc-danger-border) !important;
  color: var(--tc-danger-text) !important;
  min-width: 2rem;
  padding: 0.2rem 0.45rem;
}

.task-create-box .tree-node-remove:hover {
  background: rgba(180, 60, 60, 0.22) !important;
}

.task-create-box .btn-link,
.task-create-box .tree-node-desc-toggle {
  color: #b88848;
  text-decoration: none;
  border-bottom: 1px dashed rgba(184, 136, 72, 0.45);
}

html[data-theme='dark'] .task-create-box .btn-link,
html[data-theme='dark'] .task-create-box .tree-node-desc-toggle {
  color: #e0c090;
}

.task-create-box .btn-link:hover,
.task-create-box .tree-node-desc-toggle:hover {
  color: var(--home-accent-dark);
  border-bottom-color: currentColor;
}

/* Шапка и панели */
.task-create-box .task-create-hero {
  border-bottom-color: rgba(155, 107, 184, 0.2);
}

.task-create-box .task-create-hero-label {
  color: var(--home-accent-dark);
}

html[data-theme='dark'] .task-create-box .task-create-hero-label {
  color: #e0c898;
}

.task-create-box .task-panel-heading,
.task-create-box .task-create-section-title {
  color: var(--home-purple);
}

html[data-theme='dark'] .task-create-box .task-panel-heading,
html[data-theme='dark'] .task-create-box .task-create-section-title {
  color: #c9b8e0;
}

.task-create-box .task-files-panel,
.task-create-box .task-settings-panel,
.task-create-box .task-staircase-target-bar {
  background: var(--tc-surface-deep);
  border-color: var(--tc-input-border);
  border-style: solid;
}

.task-create-box .task-files-drop {
  background: var(--tc-input-bg);
  border-color: var(--tc-soft-border);
  color: var(--tc-soft-text);
}

.task-create-box .task-files-drop:hover {
  border-color: rgba(201, 146, 58, 0.45);
  background: var(--tc-soft);
}

.task-create-box .task-type-tab {
  background: var(--tc-surface-deep);
  border-color: var(--tc-input-border);
  color: var(--home-text-muted);
}

.task-create-box .task-type-tab.active {
  background: var(--tc-soft);
  border-color: var(--tc-soft-border);
  color: var(--home-text);
  font-weight: 700;
}

.task-create-box .task-type-tab:hover:not(.active) {
  background: var(--tc-surface);
}

/* Лестница */
.task-create-box .task-staircase {
  background: var(--tc-surface-deep);
  border-color: var(--tc-input-border);
}

.task-create-box .task-staircase::before {
  background: var(--tc-rail);
  opacity: 0.65;
}

.task-create-box .task-staircase-root {
  background: linear-gradient(90deg, rgba(201, 146, 58, 0.14) 0%, transparent 85%);
  border-color: rgba(201, 146, 58, 0.28);
}

html[data-theme='dark'] .task-create-box .task-staircase-root {
  background: linear-gradient(90deg, rgba(180, 140, 80, 0.18) 0%, transparent 85%);
  border-color: rgba(200, 160, 100, 0.22);
}

.task-create-box .task-staircase-root-badge {
  background: linear-gradient(145deg, #d4b078, #b89250);
  color: var(--tc-primary-text);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}

.task-create-box .task-tree-node-card {
  background: var(--tc-surface);
  border-color: var(--tc-input-border);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
}

.task-create-box .task-tree-level-badge {
  color: #9a7ab8;
}

html[data-theme='dark'] .task-create-box .task-tree-level-badge {
  color: #c4b0dc;
}

.task-create-box .task-tree-node[data-depth='0'] .task-tree-node-card {
  border-left-color: #d4a060;
}

.task-create-box .task-tree-node[data-depth='1'] .task-tree-node-card {
  border-left-color: #a88cc4;
}

.task-create-box .task-tree-node[data-depth='2'] .task-tree-node-card,
.task-create-box .task-tree-node[data-depth='3'] .task-tree-node-card {
  border-left-color: #c49a6a;
}

.task-create-box .task-tree-stair-step {
  background: rgba(150, 130, 180, 0.65);
}

.task-create-box .task-tree-stair-line {
  background: rgba(212, 175, 110, 0.55);
}

.task-create-box .task-tree-files-box {
  background: var(--tc-input-bg);
  border-color: var(--tc-input-border);
  border-style: dashed;
}

.task-create-box .tree-file-chip {
  background: var(--tc-soft);
  color: var(--tc-soft-text);
  border: 1px solid var(--tc-soft-border);
}

.task-create-box .tree-file-chip--removable {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding-right: 0.35rem;
}

.task-create-box .tree-file-remove {
  border: none;
  background: transparent;
  color: var(--tc-danger-text);
  cursor: pointer;
  font-size: 1.1rem;
  line-height: 1;
  padding: 0 0.15rem;
}

.task-create-box .task-notify-roles {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  max-height: min(28vh, 220px);
  overflow-y: auto;
  padding: 0.35rem 0.25rem 0.35rem 0;
  margin-bottom: 0.25rem;
}

.task-create-box .task-role-option {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.4rem 0.75rem;
  border-radius: 999px;
  border: 1px solid var(--tc-soft-border);
  background: var(--tc-soft);
  color: var(--tc-soft-text);
  cursor: pointer;
  font-size: 0.88rem;
  transition: border-color 0.15s, background 0.15s, box-shadow 0.15s;
}

.task-create-box .task-role-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--role-color, #99aab5);
  flex-shrink: 0;
}

.task-create-box .task-role-option:has(input:checked) {
  border-color: var(--role-color, var(--home-orange-dark));
  background: color-mix(in srgb, var(--role-color, #c9923a) 22%, transparent);
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--role-color, #c9923a) 55%, transparent);
  color: var(--home-text);
}

.task-create-box .task-role-option input {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
}

.task-load-more-wrap {
  list-style: none;
  text-align: center;
  padding: 0.75rem 0 0.25rem;
}

.task-create-box .task-tree-node-actions {
  border-top-color: rgba(155, 107, 184, 0.15);
}

.task-create-box .task-create-hint {
  color: var(--tc-muted);
  line-height: 1.5;
}

/* Нижние кнопки */
.task-create-box .upload-modal-actions {
  margin-top: 0.5rem;
  padding-top: 1rem;
  border-top: 1px solid var(--tc-input-border);
  gap: 0.65rem;
}

.task-create-box .upload-modal-actions .btn-outline {
  padding: 0.6rem 1.15rem;
}

/* Галочки в форме */
.task-create-box .ui-check-box {
  border-color: var(--tc-soft-border);
  background: var(--tc-input-bg);
}

.task-create-box .ui-check-input:checked + .ui-check-box {
  background: linear-gradient(145deg, #e0c090, #c9923a);
  border-color: #a87838;
}

html[data-theme='dark'] .task-create-box .ui-check-text {
  color: var(--home-text);
}

/* Схема litematic */
.task-create-box .task-litematic-drop {
  background: var(--tc-surface-deep);
  border-color: var(--tc-input-border);
}

.task-create-box .upload-dropzone-title {
  color: var(--home-text);
}

.task-create-box .upload-dropzone-hint {
  color: var(--tc-muted);
}
