.hidden { display: none !important; }
.screen { display: grid; gap: var(--ui-space-4); }
.card { padding: var(--ui-space-5); border-radius: var(--ui-radius-lg); }
.hero-card { padding: var(--ui-space-5); }
.topbar { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: start; gap: var(--ui-space-5); }
.hero-copy { min-width: 0; }
.hero-copy h1 { margin: 6px 0 0; }
.hero-text { max-width: 52ch; margin: 8px 0 0; color: var(--ui-text-2); }
.hero-actions { display: flex; align-items: center; justify-content: flex-end; gap: 8px; }
.icon-btn { width: 44px; height: 44px; min-width: 44px; place-items: center; padding: 0; border: 1px solid color-mix(in srgb, white 18%, transparent); border-radius: 14px; background: linear-gradient(135deg,var(--ui-accent),var(--ui-accent-strong)); color: #21170f; box-shadow: 0 10px 24px color-mix(in srgb,var(--ui-accent) 24%,transparent), inset 0 1px 0 rgba(255,255,255,.25); font-size: 23px; font-weight: 700; cursor: pointer; transition: transform var(--ui-fast) var(--ui-ease); }
#openCreateTaskBtn:not([hidden]) { display: inline-grid; }
.icon-btn:active { transform: scale(.94); }

.summary-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 9px; margin-top: var(--ui-space-5); }
.summary-box { display: grid; min-height: 82px; align-content: center; gap: 5px; padding: 12px; border: 1px solid var(--ui-border); border-radius: 17px; background: var(--ui-surface-2); color: var(--ui-text-1); text-align: left; box-shadow: inset 0 1px 0 var(--ui-highlight); }
button.summary-box { cursor: pointer; transition: transform var(--ui-fast), background var(--ui-base); }
button.summary-box:hover { background: var(--ui-surface-3); }
button.summary-box:active { transform: scale(.97); }
.summary-box b { font-size: 1.75rem; line-height: 1; letter-spacing: -.055em; }
.summary-box span { color: var(--ui-text-2); font-size: 10px; font-weight: 780; letter-spacing: .05em; text-transform: uppercase; }

.task-view-tabs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 4px; margin-top: 15px; padding: 4px; border: 1px solid var(--ui-border); border-radius: 17px; background: var(--ui-surface-1); }
.task-view-tab { display: flex; min-width: 0; min-height: 48px; align-items: center; justify-content: center; gap: 6px; padding: 7px 6px; border: 0; border-radius: 12px; background: transparent; color: var(--ui-text-2); font-size: 10px; font-weight: 800; cursor: pointer; }
.task-view-tab span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.task-view-tab b { display: grid; min-width: 20px; height: 20px; place-items: center; padding: 0 5px; border-radius: 999px; background: var(--ui-surface-2); color: var(--ui-text-1); font-size: 9px; }
.task-view-tab.active { background: color-mix(in srgb, var(--ui-selection) 20%, var(--ui-surface-2)); color: var(--ui-text-1); }

.tasks-reorder-zone { display: grid; gap: var(--ui-space-4); }
.task-section-card { display: grid; gap: var(--ui-space-4); }
.task-section-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.task-section-head h3 { margin: 0; }
.task-list { display: grid; gap: 10px; }
.tasks-empty { padding: 18px; border: 1px dashed var(--ui-border-strong); border-radius: 17px; color: var(--ui-text-2); text-align: center; }

.task-card { position: relative; display: grid; grid-template-columns: minmax(0,1fr) auto; grid-template-areas: "main side" "main actions"; align-items: start; gap: 11px; padding: 12px; border: 1px solid var(--ui-border); border-radius: var(--ui-radius-md); background: var(--ui-surface-2); box-shadow: inset 0 1px 0 var(--ui-highlight); transition: transform var(--ui-fast) var(--ui-ease), border-color var(--ui-base), background var(--ui-base); }
.task-card:hover { border-color: var(--ui-border-strong); background: var(--ui-surface-3); }
.task-card.priority-important { border-left: 3px solid var(--ui-warning); }
.task-card.priority-very_important { border-left: 3px solid var(--ui-danger); }
.task-card.is-done { opacity: .68; }
.task-card.is-pending { border-color: color-mix(in srgb,var(--ui-info) 36%,var(--ui-border)); }
.task-head { grid-area: main; display: flex; min-width: 0; gap: 12px; }
.task-main { display: grid; min-width: 0; flex: 1; align-content: start; gap: 8px; }
.task-title { font-size: 16px; font-weight: 840; letter-spacing: -.02em; overflow-wrap: anywhere; }
.task-note { color: var(--ui-text-2); line-height: 1.42; overflow-wrap: anywhere; }
.task-meta-list { display: flex; flex-wrap: wrap; gap: 6px; }
.task-meta-chip, .task-priority-pill { display: inline-flex; min-height: 27px; align-items: center; gap: 6px; padding: 0 9px; border: 1px solid var(--ui-border); border-radius: 999px; background: var(--ui-surface-1); color: var(--ui-text-2); font-size: 10px; font-weight: 780; }
.task-priority-pill.priority-important { color: var(--ui-warning); }
.task-priority-pill.priority-very_important { color: var(--ui-danger); }
.task-photo-thumb-wrap { width: 68px; height: 68px; flex: none; overflow: hidden; border-radius: 15px; }
.task-photo-thumb { width: 100%; height: 100%; object-fit: cover; }
.task-side { grid-area: side; display: flex; align-items: center; justify-content: flex-end; }
.task-actions-row { grid-area: actions; display: flex; align-self: end; align-items: center; justify-content: flex-end; gap: 6px; }
.task-action-btn { display: grid; width: 44px; height: 44px; place-items: center; padding: 0; border: 1px solid var(--ui-border); border-radius: 13px; background: var(--ui-surface-1); color: var(--ui-text-1); cursor: pointer; transition: transform var(--ui-fast), background var(--ui-fast); }
.task-action-btn:hover { background: var(--ui-surface-3); }
.task-action-btn:active { transform: scale(.93); }
.task-action-btn:disabled { cursor: wait; opacity: .55; }
.task-action-primary { border-color: color-mix(in srgb,var(--ui-success) 25%,transparent); color: var(--ui-success); }
.task-action-danger { color: var(--ui-danger); }

.sheet-field { display: grid; gap: 8px; }
.sheet-field > span { color: var(--ui-text-2); font-size: 12px; font-weight: 760; }
.sheet-field input, .sheet-field textarea, .sheet-field select, .sort-select {
  width: 100%;
  min-height: 48px;
  padding: 0 14px;
  border: 1px solid var(--ui-border);
  border-radius: 14px;
  background: var(--ui-surface-2);
  color: var(--ui-text-1);
  outline: none;
}
.sheet-field textarea { min-height: 102px; padding-block: 12px; resize: vertical; }
.sheet-field input:focus, .sheet-field textarea:focus, .sheet-field select:focus, .sort-select:focus { border-color: color-mix(in srgb,var(--ui-accent) 50%,transparent); box-shadow: 0 0 0 4px color-mix(in srgb,var(--ui-accent) 11%,transparent); }
.sheet-row { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
.date-mode-control { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px; padding: 4px; border: 1px solid var(--ui-border); border-radius: 16px; background: var(--ui-surface-1); }
.date-mode-btn { min-height: 42px; border: 0; border-radius: 12px; background: transparent; color: var(--ui-text-2); font-weight: 790; cursor: pointer; }
.date-mode-btn.active { background: color-mix(in srgb, var(--ui-selection) 20%, var(--ui-surface-2)); color: var(--ui-text-1); }
.chip-wrap { display: flex; flex-wrap: wrap; gap: 8px; }
.task-chip { display: inline-flex; min-height: 40px; align-items: center; padding: 0 12px; border: 1px solid var(--ui-border); border-radius: 999px; background: var(--ui-surface-2); color: var(--ui-text-1); font-weight: 730; }
.task-chip.active { border-color: color-mix(in srgb,var(--ui-accent) 38%,transparent); background: color-mix(in srgb,var(--ui-accent) 15%,transparent); }
.priority-choice-list { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; }
.priority-choice-btn { min-height: 48px; padding: 0 10px; border: 1px solid var(--ui-border); border-radius: 14px; background: var(--ui-surface-2); color: var(--ui-text-2); font-weight: 760; }
.priority-choice-btn.active { border-color: color-mix(in srgb,var(--ui-accent) 38%,transparent); background: color-mix(in srgb,var(--ui-accent) 15%,transparent); color: var(--ui-text-1); }
.task-photo-panel { display: grid; gap: 10px; padding: 12px; border: 1px solid var(--ui-border); border-radius: 16px; background: var(--ui-surface-1); }
.task-photo-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.task-photo-note { color: var(--ui-text-2); font-size: 12px; }
.task-photo-preview-wrap { width: 150px; aspect-ratio: 1; overflow: hidden; border-radius: 17px; }
.task-photo-preview { width: 100%; height: 100%; object-fit: cover; }
.danger-btn { border-color: color-mix(in srgb,var(--ui-danger) 26%,transparent); background: color-mix(in srgb,var(--ui-danger) 10%,transparent); color: var(--ui-danger); }
.tasks-summary-sheet { width: min(680px,100%); }

@media (max-width: 640px) {
  .card, .hero-card { padding: 16px; border-radius: 24px; }
  .topbar { grid-template-columns: minmax(0,1fr) auto; gap: 12px; }
  .task-view-tabs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .summary-grid { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 6px; }
  .summary-box { min-height: 72px; padding: 8px; }
  .summary-box b { font-size: 1.45rem; }
  .summary-box span { font-size: 8px; }
  .task-card { grid-template-columns: minmax(0,1fr); grid-template-areas: "side" "main" "actions"; }
  .task-side { justify-content: flex-end; }
  .sheet-row, .priority-choice-list { grid-template-columns: 1fr; }
}
