/* Shared task form controls — keep create and edit drawers visually consistent. */
.brand .brand-logo {
  display: block;
  width: 28px;
  height: 28px;
  border-radius: 9px;
  object-fit: cover;
  box-shadow: 0 2px 5px rgba(80, 52, 172, .18);
  flex: 0 0 auto;
}

.auth-brand .brand-logo {
  width: 34px;
  height: 34px;
}

.task-drawer .invite-form textarea,
#task-create-form textarea,
#safe-task-edit-form textarea {
  box-sizing: border-box;
  display: block;
  width: 100%;
  min-height: 104px;
  padding: 12px 14px;
  border: 1px solid #ded9ec;
  border-radius: 12px;
  background: #fbfaff;
  color: #29263b;
  font: inherit;
  line-height: 1.55;
  outline: none;
  resize: vertical;
  transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

.task-drawer .invite-form textarea::placeholder,
#task-create-form textarea::placeholder,
#safe-task-edit-form textarea::placeholder {
  color: #aaa5b7;
}

.task-drawer .invite-form textarea:hover,
#task-create-form textarea:hover,
#safe-task-edit-form textarea:hover {
  border-color: #c6bee9;
  background: #fff;
}

.task-drawer .invite-form textarea:focus,
#task-create-form textarea:focus,
#safe-task-edit-form textarea:focus {
  border-color: #7159de;
  background: #fff;
  box-shadow: 0 0 0 3px rgba(113, 89, 222, .13);
}

.task-drawer .task-image-input,
#task-create-form .task-image-input,
#safe-task-edit-form .task-image-input {
  display: block;
  color: #575166;
  font-weight: 600;
}

.task-drawer .task-image-input input[type="file"],
#task-create-form .task-image-input input[type="file"],
#safe-task-edit-form .task-image-input input[type="file"] {
  box-sizing: border-box;
  display: block;
  width: 100%;
  min-height: 52px;
  margin-top: 8px;
  padding: 7px 10px;
  border: 1px dashed #cfc6ef;
  border-radius: 12px;
  background: #fbfaff;
  color: #767083;
  font: inherit;
  cursor: pointer;
  transition: border-color .18s ease, background .18s ease, box-shadow .18s ease;
}

.task-drawer .task-image-input input[type="file"]::file-selector-button,
#task-create-form .task-image-input input[type="file"]::file-selector-button,
#safe-task-edit-form .task-image-input input[type="file"]::file-selector-button {
  margin-right: 10px;
  padding: 8px 12px;
  border: 0;
  border-radius: 8px;
  background: #eeeaff;
  color: #604bd4;
  font: inherit;
  font-weight: 700;
  cursor: pointer;
  transition: background .18s ease, color .18s ease;
}

.task-drawer .task-image-input input[type="file"]:hover,
#task-create-form .task-image-input input[type="file"]:hover,
#safe-task-edit-form .task-image-input input[type="file"]:hover {
  border-color: #a998eb;
  background: #fff;
}

.task-drawer .task-image-input input[type="file"]:hover::file-selector-button,
#task-create-form .task-image-input input[type="file"]:hover::file-selector-button,
#safe-task-edit-form .task-image-input input[type="file"]:hover::file-selector-button {
  background: #e4ddff;
}

.task-drawer .task-image-input input[type="file"]:focus-visible,
#task-create-form .task-image-input input[type="file"]:focus-visible,
#safe-task-edit-form .task-image-input input[type="file"]:focus-visible {
  border-color: #7159de;
  outline: none;
  box-shadow: 0 0 0 3px rgba(113, 89, 222, .13);
}

.completed-archive {
  margin-top: 12px;
  border: 1px dashed #d9d4ed;
  border-radius: 12px;
  background: rgba(255,255,255,.66);
  overflow: hidden;
}
.completed-archive > summary {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  padding: 0 14px;
  color: #66617a;
  cursor: pointer;
  font-size: 13px;
  font-weight: 700;
  list-style: none;
}
.completed-archive > summary::-webkit-details-marker { display: none; }
.completed-archive > summary::before { content: '⌄'; color: #7765df; transition: transform .16s ease; }
.completed-archive:not([open]) > summary::before { transform: rotate(-90deg); }
.completed-archive > summary span { color: #6c59dd; }
.completed-archive > summary small { margin-left: auto; color: #9a96aa; font-weight: 400; }
.completed-archive-content { display: grid; gap: 10px; padding: 0 10px 10px; }
