/* v26: quiet surfaces, consistent spacing and immediate physical feedback.
   Keep calendar layers and the collapsing header on their existing fast paths. */
:root {
  --card-line: rgba(35, 55, 46, .085);
  --card-shadow: 0 2px 8px rgba(35, 55, 46, .025), inset 0 1px 0 rgba(255, 255, 255, .9);
  --control-shadow: 0 1px 2px rgba(30, 40, 35, .055), inset 0 1px 0 rgba(255, 255, 255, .85);
}

.topbar {
  box-shadow: inset 0 -1px 0 rgba(255, 255, 255, .75);
}

.view-tabs {
  height: 46px;
  border-radius: 13px;
  background: var(--surface-soft);
}

.view-tab {
  height: 38px;
  border-radius: 9px;
  font-weight: 550;
}

.view-tab.is-active { box-shadow: var(--control-shadow); }

.account-button,
.header-actions > .icon-button {
  height: 44px;
  border-color: var(--card-line);
  box-shadow: var(--control-shadow);
}

.header-actions > .icon-button { width: 44px; }

.summary-band { border-radius: 18px; }
.summary-item { padding: 24px 28px; }
.summary-label { font-weight: 550; }
.summary-meta { line-height: 1.5; }

.calendar-tool,
.month-goal-card,
.day-panel { border-radius: 16px; }

.calendar-toolbar,
.month-goal-top,
.day-panel-header {
  background: rgba(255, 255, 255, .5);
}

.month-goal-label,
.day-panel-header h2 { font-weight: 650; }
.month-goal-card:hover { transform: none; box-shadow: var(--card-shadow); }
.month-goal-card:focus-visible { transform: none; box-shadow: var(--card-shadow); }
.month-goal-value { letter-spacing: -.03em; }
.month-goal-track { height: 3px; flex-basis: 3px; }
.month-goal-track > span { transition: none; }

.record-row { gap: 12px; }
.record-row > :first-child { min-width: 0; }
.record-duration { line-height: 1.45; }
.record-note { overflow-wrap: anywhere; }
.record-actions { flex-shrink: 0; gap: 2px; }

.trend-overview { background: rgba(255, 255, 255, .8); }
.quarter-card { border-color: var(--card-line); background: rgba(255, 255, 255, .82); }
.table-wrap { background: rgba(255, 255, 255, .8); }
.section-heading { gap: 12px; }
.section-heading > div { min-width: 0; }
.ai-content { line-height: 1.75; }

/* No animated shadows, filters or layout: feedback is one compositor transform. */
:is(.view-tab, .account-button, .icon-button, .quiet-button, .primary-button,
  .secondary-button, .danger-button, .adjustment-button, .period-option,
  .theme-option, .quick-option, .chat-suggestions button, .chat-send-button) {
  transition: transform 90ms ease-out;
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
}

:is(.icon-button, .secondary-button, .danger-button) { box-shadow: var(--control-shadow); }
.primary-button { box-shadow: 0 2px 3px rgba(30, 40, 35, .12), inset 0 1px 0 rgba(255, 255, 255, .16); }

:is(.view-tab, .account-button, .icon-button, .quiet-button, .primary-button,
  .secondary-button, .danger-button, .adjustment-button, .period-option,
  .theme-option, .quick-option, .chat-suggestions button, .chat-send-button):not(:disabled):active {
  transform: translateY(1px) scale(.985);
  box-shadow: inset 0 1px 2px rgba(30, 40, 35, .09);
}

.month-goal-card:active { transform: translateY(1px); }
.month-navigation .icon-button,
.record-actions .icon-button,
.chat-clear-button { box-shadow: none; }
.quick-toggle { transition: transform 100ms ease-out; }
.quick-toggle:hover { transform: none; }
.quick-toggle:active { transform: translateY(2px) scale(.96); }
.quick-menu { -webkit-backdrop-filter: none; backdrop-filter: none; background: rgba(255, 255, 255, .98); }

:is(button, a, input, textarea):focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 3px;
}
.calendar-day:focus-visible { outline-offset: -3px; }
.month-goal-card:focus-visible { outline-offset: 3px; }
.time-wheel:focus-visible { outline-offset: -2px; }

.app-dialog {
  border-color: rgba(255, 255, 255, .92);
  background: #fcfdfb;
  scrollbar-gutter: stable;
  scroll-padding-block: 20px;
}
.dialog-header { align-items: center; }
.dialog-close { flex-shrink: 0; }
.field input,
.duration-fields input { transition: none; }
.theme-options { gap: 8px; }
.theme-option { border-radius: 12px; }
.form-note { margin-top: 9px; }
.avatar-actions { flex-wrap: wrap; }
.dialog-actions { gap: 10px; }

@media (hover: hover) and (pointer: fine) {
  :is(.account-button, .icon-button, .primary-button, .secondary-button):not(:disabled):hover {
    transform: translateY(-1px);
  }
  :is(.account-button, .icon-button, .primary-button, .secondary-button):not(:disabled):active {
    transform: translateY(1px) scale(.985);
  }
}

@media (max-width: 900px) {
  .topbar { gap: 10px; }
  .calendar-layout { gap: 16px; }
  .calendar-side { gap: 16px; }
  .view-tab { height: 40px; }
  .view-tabs { height: 48px; }
}

@media (max-width: 640px) {
  .app-shell { padding-bottom: max(110px, calc(env(safe-area-inset-bottom) + 92px)); }
  .header-actions { gap: 6px; }
  .header-actions > .account-button { width: 44px; height: 44px; padding: 0; justify-content: center; }
  .header-actions > .icon-button { width: 44px; height: 44px; }
  .header-actions .account-name { display: none; }
  .summary-item { padding: 16px 14px; }
  .summary-band { box-shadow: var(--card-shadow); }
  .summary-meta { line-height: 1.5; }
  .calendar-toolbar { padding-inline: 8px; gap: 2px; }
  .month-navigation .icon-button,
  html[lang="en"] .month-navigation .icon-button { width: 44px; height: 44px; flex: 0 0 44px; }
  html[lang="en"] .month-navigation { gap: 0; }
  html[lang="en"] .calendar-toolbar { padding-inline: 8px; gap: 2px; }
  #todayButton { min-width: 44px; min-height: 44px; padding-inline: 8px; }
  html[lang="en"] #todayButton { padding-inline: 8px; }
  .day-panel-header > .icon-button,
  .month-goal-edit { width: 44px; height: 44px; }
  .record-actions .icon-button { width: 44px; height: 44px; }
  .record-row { gap: 8px; }
  .record-duration { font-size: 14px; }
  .record-actions { gap: 0; }
  .record-duration small { display: block; }
  .record-note { margin-top: 5px; }
  .quarter-grid { gap: 12px; }
  .quarter-card { padding: 14px; }
  .ai-status-button { min-height: 44px; }
  .app-dialog {
    width: calc(100% - max(8px, env(safe-area-inset-left)) - max(8px, env(safe-area-inset-right)));
    max-height: calc(100dvh - max(8px, env(safe-area-inset-top)) - max(8px, env(safe-area-inset-bottom)));
    margin: auto max(8px, env(safe-area-inset-right)) max(8px, env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-left));
    padding: 20px;
    border-radius: 22px;
    scrollbar-gutter: auto;
  }
  .app-dialog :is(.icon-button, .quiet-button, .primary-button, .secondary-button, .danger-button) { min-height: 44px; }
  .app-dialog .icon-button { min-width: 44px; }
  .record-dialog .dialog-actions { bottom: -20px; background: #fcfdfb; }
  .profile-actions { align-items: stretch; }
  .settings-dialog .backup-actions { gap: 8px; }
  .toast { gap: 10px; padding-block: 4px; }
  .toast button { min-height: 44px; }
}

@media (max-width: 360px) {
  .brand { gap: 7px; }
  .header-actions { gap: 4px; }
  html[lang="en"] .month-navigation h1 { font-size: 15px; }
  .summary-item { padding-inline: 12px; }
  .record-list { margin-inline: 16px; }
  .record-row { gap: 4px; }
  .record-duration { font-size: 13px; }
  .record-actions .icon-button { width: 40px; }
  .month-goal-top,
  .day-panel-header { padding-inline: 16px; }
  .app-dialog { padding-inline: 18px; }
}

@media (prefers-reduced-motion: reduce) {
  :is(.view-tab, .account-button, .icon-button, .quiet-button, .primary-button,
    .secondary-button, .danger-button, .adjustment-button, .period-option,
    .theme-option, .quick-option, .quick-toggle, .chat-suggestions button, .chat-send-button) { transition: none; }
}
