/* [project]/app/styles/theme.css [app-client] (css) */
:root, :root[data-theme="dark"] {
  --lightningcss-light: ;
  --lightningcss-dark: initial;
  color-scheme: dark;
  --canvas: #000;
  --surface: #111214;
  --surface-raised: #181a1d;
  --surface-soft: #20242a;
  --surface-glass: #18181ad1;
  --surface-menu: #121214fb;
  --surface-sheet: #0d0d0ffb;
  --surface-control: #ffffff0e;
  --surface-control-pressed: #ffffff1a;
  --surface-row: #ffffff07;
  --surface-row-pressed: #fff1;
  --surface-selected: #ffffff16;
  --surface-scrim: #00000094;
  --surface-danger: #ff69651f;
  --text: #f4f5f6;
  --muted: #969ca3;
  --line: #ffffff13;
  --line-strong: #ffffff1f;
  --outline-guide: #ffffff1f;
  --accent: #70c5ce;
  --accent-soft: #70c5ce1c;
  --blue: #5ba8ff;
  --green: #77cf69;
  --red: #ff6965;
  --warning: #f4c36a;
  --focus: #8bc9ff;
  --control-on-accent: #071012;
  --glass: var(--surface-glass);
  --shadow: 0 20px 58px #00000061;
  --shadow-float: 0 12px 34px #00000047;
  --ui-row-surface: var(--surface-row);
  --ui-row-surface-active: var(--surface-row-pressed);
  --ui-separator: var(--line);
  --ui-control-surface: var(--surface-control);
  --ui-control-border: var(--line);
  --ui-secondary: var(--muted);
}

:root[data-theme="light"] {
  --lightningcss-light: initial;
  --lightningcss-dark: ;
  color-scheme: light;
  --canvas: #f1f1f4;
  --surface: #fff;
  --surface-raised: #fbfbfc;
  --surface-soft: #f6f6f8;
  --surface-glass: #f9f9fbe6;
  --surface-menu: #fcfcfdfb;
  --surface-sheet: #f9f9fbfb;
  --surface-control: #ffffffc7;
  --surface-control-pressed: #3c3c4316;
  --surface-row: #ffffffe6;
  --surface-row-pressed: #fff;
  --surface-selected: #3c3c430f;
  --surface-scrim: #1414183d;
  --surface-danger: #d7001514;
  --text: #1c1c1e;
  --muted: #5f636b;
  --line: #3c3c431f;
  --line-strong: #3c3c432e;
  --outline-guide: #3c3c432e;
  --accent: #247f8b;
  --accent-soft: #247f8b17;
  --blue: #06c;
  --green: #248a3d;
  --red: #d70015;
  --warning: #8a5b00;
  --focus: #06c;
  --control-on-accent: #fff;
  --glass: var(--surface-glass);
  --shadow: 0 18px 46px #19191c1a;
  --shadow-float: 0 12px 34px #18181c17;
  --ui-row-surface: var(--surface-row);
  --ui-row-surface-active: var(--surface-row-pressed);
  --ui-separator: var(--line);
  --ui-control-surface: var(--surface-control);
  --ui-control-border: var(--line);
  --ui-secondary: var(--muted);
}

/* [project]/app/styles/base.css [app-client] (css) */
* {
  box-sizing: border-box;
}

html {
  background: var(--canvas);
  -webkit-text-size-adjust: 100%;
  min-height: 100%;
}

body {
  background: var(--canvas);
  min-height: 100dvh;
  color: var(--text);
  text-rendering: optimizelegibility;
  -webkit-font-smoothing: antialiased;
  margin: 0;
  font-family: -apple-system, BlinkMacSystemFont, SF Pro Text, Segoe UI, sans-serif;
  font-size: 17px;
  line-height: 1.42;
}

button, input, select, textarea {
  font: inherit;
  color: inherit;
}

button, select {
  cursor: pointer;
}

button, a, [role="button"] {
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
}

button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, summary:focus-visible {
  outline: 3px solid var(--focus);
  outline-offset: 3px;
}

button:disabled {
  cursor: wait;
  opacity: .52;
}

.income {
  color: var(--green) !important;
}

.expense {
  color: var(--red) !important;
}

.eyebrow {
  color: var(--muted);
  letter-spacing: .08em;
  text-transform: uppercase;
  margin: 0 0 3px;
  font-size: .72rem;
  font-weight: 650;
  display: block;
}

.icon-button {
  border: 1px solid var(--line-strong);
  background: var(--surface-control);
  width: 44px;
  height: 44px;
  color: var(--text);
  border-radius: 50%;
  place-items: center;
  display: inline-grid;
}

.icon-button:active {
  background: var(--surface-control-pressed);
}

.icon-button.save-button {
  background: var(--blue);
  color: var(--control-on-accent);
  border-color: #0000;
  font-size: 1.2rem;
}

.check-glyph {
  font-size: 1.2rem;
  font-weight: 750;
  line-height: 1;
  display: inline-block;
}

.inline-error {
  color: var(--red);
  margin: 8px 0 0;
  font-size: .8rem;
}

.inline-error button {
  color: var(--accent);
  background: none;
  border: 0;
  text-decoration: underline;
}

.status-line {
  color: var(--muted);
  margin: 8px 0 0;
  font-size: .78rem;
}

.placeholder-shell, .error-screen, .loading-screen {
  border: 1px solid var(--line);
  background: var(--surface);
  text-align: center;
  border-radius: 22px;
  align-content: center;
  place-items: center;
  gap: 10px;
  min-height: 340px;
  padding: 28px;
  display: grid;
}

.placeholder-shell h2, .error-screen p {
  margin: 0;
}

.placeholder-shell p, .error-screen p {
  max-width: 32rem;
  color: var(--muted);
  font-size: .85rem;
}

.placeholder-icon {
  background: var(--accent-soft);
  width: 52px;
  height: 52px;
  color: var(--accent);
  border-radius: 17px;
  place-items: center;
  display: grid;
}

.primary-button, .secondary-button, .danger-button, .small-primary {
  border: 0;
  border-radius: 15px;
  justify-content: center;
  align-items: center;
  gap: 7px;
  min-height: 46px;
  padding: 0 15px;
  font-weight: 650;
  display: inline-flex;
}

.primary-button {
  background: var(--accent);
  color: var(--control-on-accent);
}

.secondary-button {
  border: 1px solid var(--line-strong);
  background: var(--surface-control);
  color: var(--text);
}

.secondary-button:active {
  background: var(--surface-control-pressed);
}

.danger-button {
  background: var(--surface-danger);
  color: var(--red);
}

.small-primary {
  background: var(--accent);
  min-height: 44px;
  color: var(--control-on-accent);
  border-radius: 11px;
  padding: 0 10px;
  font-size: .75rem;
}

.toast {
  right: 14px;
  bottom: calc(env(safe-area-inset-bottom) + 90px);
  z-index: 200;
  border: 1px solid var(--line-strong);
  background: var(--surface-menu);
  width: fit-content;
  max-width: min(94vw, 500px);
  box-shadow: var(--shadow);
  color: var(--text);
  text-align: center;
  border-radius: 14px;
  margin: auto;
  padding: 11px 14px;
  font-size: .8rem;
  position: fixed;
  left: 14px;
}

.sheet-backdrop {
  z-index: 100;
  background: var(--surface-scrim);
  overscroll-behavior: none;
  justify-content: center;
  align-items: flex-end;
  padding: 0;
  display: flex;
  position: fixed;
  inset: 0;
}

.bottom-sheet {
  border: 1px solid var(--line);
  background: var(--surface-sheet);
  width: min(100%, 760px);
  max-height: 94dvh;
  box-shadow: var(--shadow);
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  border-bottom: 0;
  border-radius: 27px 27px 0 0;
  overflow: auto;
}

.compact-sheet {
  width: min(100%, 560px);
}

.sheet-header {
  grid-template-columns: 44px minmax(0, 1fr) 44px;
  align-items: center;
  gap: 9px;
  padding: 10px 12px 12px;
  display: grid;
}

.sheet-header.sticky, .editor-topbar.sticky {
  z-index: 5;
  background: var(--surface-sheet);
  position: sticky;
  top: 0;
}

.sheet-header > div:nth-child(2) {
  text-align: center;
  min-width: 0;
}

.sheet-header h2 {
  letter-spacing: -.025em;
  text-overflow: ellipsis;
  white-space: nowrap;
  margin: 0;
  font-size: 1.1rem;
  overflow: hidden;
}

.sheet-header-action {
  place-items: center;
  display: grid;
}

.sheet-body {
  padding: 0 12px calc(env(safe-area-inset-bottom) + 19px);
}

.sheet-total {
  border: 1px solid var(--line);
  background: var(--surface-row);
  border-radius: 17px;
  margin: 0 0 15px;
  padding: 14px;
}

.sheet-total span, .sheet-total strong, .sheet-total small {
  display: block;
}

.sheet-total span {
  color: var(--muted);
  font-size: .72rem;
}

.sheet-total strong {
  letter-spacing: -.035em;
  margin-top: 3px;
  font-size: 1.45rem;
}

.sheet-total small {
  color: var(--muted);
  margin-top: 4px;
  font-size: .68rem;
}

.sheet-section {
  margin: 16px 0;
}

.sheet-section h3, .management-content h3 {
  color: var(--muted);
  letter-spacing: .07em;
  text-transform: uppercase;
  margin: 0 2px 7px;
  font-size: .72rem;
  font-weight: 650;
}

.plain-list {
  background: var(--surface);
  border: 0;
  border-radius: 13px;
  overflow: hidden;
}

.plain-list > button {
  border: 0;
  border-top: 1px solid var(--line);
  text-align: left;
  background: none;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  width: 100%;
  min-height: 56px;
  padding: 8px 10px;
  display: grid;
}

.plain-list > button:first-child {
  border-top: 0;
}

.plain-list > button:active {
  background: var(--surface-row-pressed);
}

.plain-list > button span, .plain-list > button strong, .plain-list > button small {
  display: block;
}

.plain-list > button strong {
  font-size: .84rem;
}

.plain-list > button small {
  color: var(--muted);
  margin-top: 2px;
  font-size: .68rem;
}

.plain-list > button b {
  align-items: center;
  gap: 5px;
  font-size: .79rem;
  display: inline-flex;
}

.data-row, .config-row, .total-line, .period-banner {
  border-top: 1px solid var(--line);
  justify-content: space-between;
  align-items: center;
  gap: 15px;
  min-height: 47px;
  padding: 8px 3px;
  display: flex;
}

.data-row:first-child {
  border-top: 0;
}

.data-row span, .config-row span, .total-line span {
  color: var(--muted);
  font-size: .8rem;
}

.data-row strong, .config-row strong, .total-line strong {
  text-align: right;
  font-size: .84rem;
}

.data-row.emphasis strong, .total-line strong {
  font-size: 1rem;
}

.period-banner {
  background: var(--accent-soft);
  border: 0;
  border-radius: 14px;
  min-height: 0;
  margin-bottom: 10px;
  padding: 10px 12px;
  display: block;
}

.period-banner span, .period-banner strong {
  display: block;
}

.period-banner span {
  color: var(--muted);
  font-size: .7rem;
}

.period-banner strong {
  color: var(--accent);
  margin-top: 2px;
  font-size: .88rem;
}

.warning-box, .info-box {
  border-radius: 14px;
  margin: 4px 0 12px;
  padding: 11px 12px;
  font-size: .78rem;
  line-height: 1.4;
}

.warning-box {
  background: color-mix(in srgb, var(--warning) 10%, transparent);
  color: var(--warning);
}

.warning-box p {
  margin: 4px 0 0;
}

.info-box {
  background: color-mix(in srgb, var(--blue) 10%, transparent);
  color: var(--blue);
}

.help-text {
  color: var(--muted);
  margin: 11px 2px 0;
  font-size: .72rem;
  line-height: 1.48;
}

.form-stack {
  gap: 12px;
  display: grid;
}

.field, .money-field {
  gap: 6px;
  display: grid;
}

.field > span, .money-field > span {
  color: var(--muted);
  font-size: .8rem;
}

.field input, .field select, .money-field input {
  border: 1px solid var(--line-strong);
  background: var(--surface);
  border-radius: 15px;
  min-width: 0;
  min-height: 52px;
  padding: 0 13px;
  font-size: 16px;
}

.field textarea {
  resize: vertical;
  min-height: 76px;
  padding: 12px 13px;
}

.field input[type="date"], .field input[type="time"] {
  color-scheme: normal;
}

.form-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  display: grid;
}

.money-field {
  border: 1px solid var(--line-strong);
  background: var(--surface);
  border-radius: 15px;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
  padding: 9px 11px;
}

.money-field > span {
  min-width: 0;
}

.money-field strong, .money-field small {
  display: block;
}

.money-field strong {
  color: var(--text);
  font-size: .82rem;
}

.money-field small {
  color: var(--muted);
  margin-top: 2px;
  font-size: .67rem;
}

.money-field > div {
  align-items: center;
  gap: 5px;
  display: flex;
}

.money-field input {
  text-align: right;
  background: none;
  border: 0;
  border-radius: 10px;
  width: 125px;
  min-height: 44px;
  padding: 0 2px;
  font-weight: 650;
}

.money-field b {
  color: var(--muted);
  font-size: .7rem;
}

.form-section-heading {
  justify-content: space-between;
  align-items: flex-start;
  gap: 10px;
  display: flex;
}

.form-section-heading h3 {
  color: var(--text);
  letter-spacing: 0;
  text-transform: none;
  margin: 0;
  font-size: .9rem;
}

.form-section-heading p {
  color: var(--muted);
  margin: 3px 0 0;
  font-size: .7rem;
}

.auth-shell {
  min-height: 100dvh;
  padding: max(24px, env(safe-area-inset-top)) max(18px, env(safe-area-inset-right)) max(24px, env(safe-area-inset-bottom)) max(18px, env(safe-area-inset-left));
  place-items: center;
  display: grid;
}

.auth-card {
  border: 1px solid var(--line);
  background: var(--surface);
  width: min(100%, 460px);
  box-shadow: var(--shadow);
  border-radius: 27px;
  padding: clamp(24px, 7vw, 36px);
}

.auth-mark {
  border: 1px solid color-mix(in srgb, var(--accent) 30%, transparent);
  background: var(--accent-soft);
  width: 58px;
  height: 58px;
  color: var(--accent);
  border-radius: 18px;
  place-items: center;
  margin-bottom: 22px;
  display: inline-grid;
}

.auth-card h1 {
  letter-spacing: -.04em;
  margin: 4px 0 10px;
  font-size: clamp(2rem, 8vw, 2.8rem);
  line-height: 1.08;
}

.auth-description, .auth-unavailable, .auth-hint {
  color: var(--muted);
}

.auth-description {
  margin: 0;
}

.auth-form {
  gap: 15px;
  margin-top: 26px;
  display: grid;
}

.auth-form .field input {
  width: 100%;
  min-height: 52px;
}

.auth-hint {
  margin: -2px 0 0;
  font-size: .76rem;
}

.auth-submit {
  width: 100%;
  margin-top: 3px;
}

.auth-unavailable {
  border-top: 1px solid var(--line);
  margin-top: 20px;
  padding-top: 17px;
}

.auth-unavailable p {
  margin: 0 0 8px;
}

@media (hover: none) and (pointer: coarse) {
  input, select, textarea {
    font-size: 16px !important;
  }
}

@media (max-width: 620px) {
  .app-shell small {
    line-height: 1.35;
    font-size: 13px !important;
  }
}

@media (min-width: 620px) {
  .bottom-sheet {
    max-height: 90dvh;
  }
}

@media (max-width: 390px) {
  .form-grid {
    gap: 7px;
  }
}

@media (prefers-reduced-motion: reduce) {
  *, :before, :after {
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
  }
}

@media (forced-colors: active) {
  * {
    forced-color-adjust: auto;
  }

  .calendar-cell.is-selected, .primary-tabs button.is-active {
    outline: 2px solid highlight;
  }
}

/* [project]/app/styles/shell.css [app-client] (css) */
:is(body:has(.sheet-backdrop), body:has(.chat-history-backdrop), body:has(.chat-workspace)) {
  overflow: hidden;
}

.app-shell {
  width: min(100%, 760px);
  padding: calc(env(safe-area-inset-top) + 8px) 16px 126px;
  margin: 0 auto;
}

.primary-tabs {
  top: calc(env(safe-area-inset-top) + 5px);
  z-index: 90;
  border: 1px solid var(--line);
  background: var(--surface-glass);
  box-shadow: var(--shadow-float);
  -webkit-backdrop-filter: blur(28px) saturate(150%);
  backdrop-filter: blur(28px) saturate(150%);
  border-radius: 21px;
  grid-template-columns: repeat(4, 1fr);
  gap: 3px;
  padding: 3px;
  display: grid;
  position: sticky;
}

.primary-tabs button {
  min-height: 44px;
  color: var(--muted);
  letter-spacing: -.01em;
  background: none;
  border: 0;
  border-radius: 18px;
  font-size: 13px;
  font-weight: 610;
}

.primary-tabs button:is(:active, .is-active) {
  background: var(--surface-selected);
  color: var(--text);
}

.primary-tabs button.is-active {
  font-weight: 680;
}

.inbox-workspace > .inbox-heading h1, .tasks-workspace > .tasks-heading h1, .placeholder-shell[data-workspace="vault"] > h2 {
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
  width: 1px;
  height: 1px;
  position: absolute;
  overflow: hidden;
}

.inbox-workspace > .inbox-heading {
  min-height: 44px;
  padding-bottom: 10px;
}

.tasks-workspace > .tasks-heading {
  align-items: center;
  min-height: 36px;
  padding-bottom: 10px;
}

.tasks-workspace > .tasks-heading .tasks-heading-mark {
  display: none;
}

.composer-card {
  left: 50%;
  bottom: calc(env(safe-area-inset-bottom) + 10px);
  z-index: 60;
  border: 1px solid var(--line);
  background: var(--surface-glass);
  width: min(100% - 20px, 740px);
  min-height: 56px;
  box-shadow: var(--shadow-float);
  -webkit-backdrop-filter: blur(28px) saturate(160%);
  backdrop-filter: blur(28px) saturate(160%);
  border-radius: 24px;
  grid-template-columns: 44px minmax(0, 1fr) 44px;
  align-items: end;
  gap: 7px;
  margin: 0;
  padding: 6px 7px;
  display: grid;
  position: fixed;
  transform: translateX(-50%);
}

.composer-card.has-send {
  grid-template-columns: 44px minmax(0, 1fr) 44px 44px;
}

.composer-card.is-assistant-mode {
  grid-template-columns: 44px minmax(0, 1fr);
}

.composer-card.is-assistant-mode.has-send {
  grid-template-columns: 44px minmax(0, 1fr) 44px;
}

.app-shell:has(.chat-workspace) > .composer-card {
  z-index: 90;
}

.composer-label, .composer-footer, .composer-footer > div {
  display: contents;
}

.composer-label > span, .composer-footer > span {
  display: none;
}

.composer-label button, .history-button, .composer-send {
  background: var(--surface-control);
  width: 44px;
  height: 44px;
  color: var(--text);
  border: 1px solid #0000;
  border-radius: 50%;
  align-self: end;
  place-items: center;
  display: grid;
}

.composer-label button:active, .history-button:active, .composer-send:active {
  background: var(--surface-control-pressed);
}

.composer-label button {
  grid-column: 1;
}

.history-button {
  grid-column: 3;
}

.composer-send {
  grid-column: 4;
}

.composer-card.is-assistant-mode .composer-send {
  grid-column: 3;
}

.composer-send.is-send {
  background: var(--accent);
  color: var(--control-on-accent);
}

.composer-send.is-send:active {
  filter: brightness(.94);
}

.composer-card textarea {
  resize: none;
  width: 100%;
  height: auto;
  min-height: 44px;
  max-height: 144px;
  color: var(--text);
  background: none;
  border: 0;
  outline: 0;
  grid-column: 2;
  margin: 0;
  padding: 10px 3px 8px;
  font-size: 15px;
  line-height: 1.35;
}

.composer-card textarea::placeholder {
  color: var(--muted);
  opacity: .82;
}

.composer-card > .inline-error, .composer-card > .status-line {
  border: 1px solid var(--line);
  background: var(--surface-menu);
  box-shadow: var(--shadow-float);
  border-radius: 13px;
  margin: 0;
  padding: 9px 11px;
  font-size: 13px;
  position: absolute;
  bottom: calc(100% + 8px);
  left: 8px;
  right: 8px;
}

.composer-card > .inline-error button {
  display: none;
}

.composer-card > .status-line {
  color: var(--muted);
}

.composer-menu, .composer-card .composer-menu {
  z-index: 61;
  border: 1px solid var(--line);
  background: var(--surface-menu);
  width: min(320px, 100vw - 20px);
  box-shadow: var(--shadow);
  -webkit-backdrop-filter: blur(28px) saturate(150%);
  backdrop-filter: blur(28px) saturate(150%);
  border-radius: 22px;
  padding: 8px;
  position: absolute;
  bottom: calc(100% + 6px);
  left: 0;
  right: auto;
}

.composer-menu button, .composer-card .composer-menu button {
  width: 100%;
  min-height: 50px;
  color: var(--text);
  text-align: left;
  background: none;
  border: 0;
  border-radius: 14px;
  grid-template-columns: 34px minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  padding: 7px 9px;
  display: grid;
}

.composer-menu button:is(:hover, :focus-visible, :active) {
  background: var(--surface-control-pressed);
}

.composer-menu strong, .composer-menu small {
  display: block;
}

.composer-menu strong {
  font-size: .9rem;
}

.composer-menu small {
  color: var(--muted);
  margin-top: 2px;
  font-size: 13px;
}

:is(.app-shell:has([data-shell-surface="focus"]) > .primary-tabs, .app-shell:has(.chat-workspace) > .primary-tabs) {
  display: none;
}

.app-shell:has(.chat-workspace) [data-shell-local-toolbar] {
  display: none;
}

:is(.app-shell:has([data-shell-surface="focus"]) > .composer-card, .app-shell:has(.chat-history-backdrop) > .composer-card) {
  display: none !important;
}

.app-shell:has([data-shell-surface="focus"]) {
  padding-bottom: calc(env(safe-area-inset-bottom) + 16px);
}

.focus-assistant-button {
  right: max(16px, 50vw - 354px);
  bottom: calc(env(safe-area-inset-bottom) + 18px);
  z-index: 92;
  border: 1px solid var(--line);
  background: var(--surface-glass);
  width: 50px;
  height: 50px;
  color: var(--text);
  box-shadow: var(--shadow-float);
  -webkit-backdrop-filter: blur(24px) saturate(150%);
  backdrop-filter: blur(24px) saturate(150%);
  border-radius: 50%;
  place-items: center;
  padding: 0;
  display: none;
  position: fixed;
}

.focus-assistant-button:active {
  background: var(--surface-control-pressed);
}

.app-shell:has([data-shell-assistant]):not(:has(.sheet-backdrop, .inbox-note-dialog-backdrop, .chat-workspace)) > .focus-assistant-button {
  display: grid;
}

.app-shell:has([data-shell-surface="focus"]):has(input:focus, textarea:focus) > .focus-assistant-button {
  display: none;
}

.app-shell:has([data-shell-editing="true"]) > .focus-assistant-button {
  bottom: calc(env(safe-area-inset-bottom) + 82px);
}

.app-settings-sheet, .luna-account-sheet {
  background: var(--surface-sheet);
  -webkit-backdrop-filter: blur(34px) saturate(150%);
  backdrop-filter: blur(34px) saturate(150%);
}

.app-settings-sheet .sheet-body {
  padding-left: 16px;
  padding-right: 16px;
}

.settings-list-group {
  border: 1px solid var(--line);
  background: var(--surface-row);
  box-shadow: inset 0 1px 0 color-mix(in srgb, var(--surface) 60%, transparent);
  border-radius: 18px;
}

.settings-list-group > button, .settings-list-group > .settings-value-row {
  text-align: left;
  background: none;
  border: 0;
  align-items: center;
  gap: 12px;
  width: 100%;
  min-width: 0;
  min-height: 58px;
  padding: 10px 16px;
  display: flex;
  position: relative;
}

.settings-list-group > button:active {
  background: var(--surface-row-pressed);
}

.settings-list-group > button + button:before, .settings-list-group > .settings-value-row + button:before {
  content: "";
  background: var(--line);
  height: 1px;
  position: absolute;
  top: 0;
  left: 16px;
  right: 0;
}

.settings-list-group > button > span:first-child {
  flex: auto;
  min-width: 0;
}

.settings-list-group > button > svg, .settings-list-group > button > span:last-child:not(:first-child) {
  color: var(--muted);
  flex: none;
  margin-left: auto;
}

.settings-list-group strong {
  color: var(--text);
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 16px;
  font-weight: 590;
  line-height: 1.28;
  display: block;
  overflow: hidden;
}

.settings-list-group small {
  color: var(--muted);
  text-overflow: ellipsis;
  white-space: nowrap;
  margin-top: 3px;
  font-size: 13px;
  line-height: 1.3;
  display: block;
  overflow: hidden;
}

.settings-section-label, .luna-section-title {
  color: var(--muted);
  letter-spacing: .015em;
  margin: 14px 5px 7px;
  font-size: 13px;
  font-weight: 650;
}

.settings-value-row {
  justify-content: space-between;
}

.settings-value-row > span {
  color: var(--text);
  font-size: 16px;
  font-weight: 590;
}

.settings-value-row > strong {
  color: var(--muted);
  font-size: 15px;
  font-weight: 450;
}

.luna-account-backdrop {
  z-index: 110;
}

.luna-account-sheet {
  width: min(100%, 560px);
  max-height: 90dvh;
  overflow-y: auto;
}

.luna-account-header {
  padding-top: 10px;
  padding-bottom: 10px;
}

.luna-account-header .eyebrow {
  margin-bottom: 2px;
  font-size: 13px;
}

.luna-account-header h2 {
  font-size: 19px;
  font-weight: 700;
}

.luna-account-body {
  padding: 2px 16px calc(env(safe-area-inset-bottom) + 20px);
}

.luna-detail-card, .luna-login-card {
  border: 1px solid var(--line);
  background: var(--surface-row);
  box-shadow: inset 0 1px 0 color-mix(in srgb, var(--surface) 60%, transparent);
  border-radius: 18px;
  overflow: hidden;
}

.luna-account-status-card {
  align-items: center;
  min-height: 66px;
  padding: 12px 15px;
  display: flex;
}

.luna-detail-copy {
  flex: auto;
  min-width: 0;
}

.luna-detail-copy strong {
  color: var(--text);
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 16px;
  line-height: 1.25;
  display: block;
  overflow: hidden;
}

.luna-detail-copy small {
  color: var(--muted);
  text-overflow: ellipsis;
  white-space: nowrap;
  margin-top: 4px;
  font-size: 13px;
  line-height: 1.3;
  display: block;
  overflow: hidden;
}

.luna-quota-card {
  padding: 0;
}

.luna-quota-item {
  align-items: center;
  gap: 12px;
  min-height: 66px;
  padding: 12px 15px;
  display: flex;
}

.luna-quota-item + .luna-quota-item {
  border-top: 1px solid var(--line);
}

.luna-quota-item > b {
  color: var(--accent);
  white-space: nowrap;
  flex: none;
  font-size: 16px;
}

.luna-empty-quota {
  color: var(--muted);
  padding: 14px 15px;
  font-size: 13px;
  line-height: 1.4;
}

.luna-account-actions {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin-top: 16px;
  display: grid;
}

.luna-account-actions button, .luna-account-wide, .luna-account-link {
  border-radius: 15px;
  min-height: 48px;
  font-size: 15.5px;
}

.luna-login-card {
  gap: 9px;
  padding: 12px;
  display: grid;
}

.luna-login-code-row {
  background: var(--surface-soft);
  border-radius: 14px;
  grid-template-columns: minmax(0, 1fr) 44px;
  align-items: center;
  gap: 10px;
  min-height: 62px;
  padding: 9px 10px 9px 12px;
  display: grid;
}

.luna-login-code-row > div {
  min-width: 0;
}

.luna-login-code-row small {
  color: var(--muted);
  font-size: 13px;
  display: block;
}

.luna-login-code-row strong {
  color: var(--text);
  letter-spacing: .045em;
  text-overflow: ellipsis;
  white-space: nowrap;
  margin-top: 3px;
  font: 650 18px ui-monospace, SFMono-Regular, Menlo, monospace;
  display: block;
  overflow: hidden;
}

.luna-copy-code {
  background: var(--surface-control);
  border: 0;
  border-radius: 13px;
  place-items: center;
  width: 44px;
  height: 44px;
  padding: 0;
  display: grid;
}

.luna-copy-code:active {
  background: var(--surface-control-pressed);
}

.luna-account-link {
  justify-content: center;
  align-items: center;
  text-decoration: none;
  display: flex;
}

@media (max-width: 390px) {
  .app-shell {
    padding-left: 12px;
    padding-right: 12px;
  }

  .primary-tabs button {
    font-size: 13px;
  }

  .composer-card {
    gap: 5px;
    padding-left: 8px;
    padding-right: 8px;
  }

  .settings-list-group > button, .settings-list-group > .settings-value-row {
    min-height: 56px;
    padding-left: 14px;
    padding-right: 14px;
  }

  .luna-account-body {
    padding-left: 14px;
    padding-right: 14px;
  }

  .luna-account-actions {
    gap: 7px;
  }

  .luna-account-actions button, .luna-account-wide, .luna-account-link {
    font-size: 15px;
  }
}

@media (max-width: 340px) {
  .app-shell {
    padding-left: 6px;
    padding-right: 6px;
  }
}

/* [project]/app/styles/settings.css [app-client] (css) */
.assistant-profile-editor {
  padding-bottom: calc(env(safe-area-inset-bottom) + 14px);
  gap: 16px;
  display: grid;
}

.settings-help-copy {
  color: var(--muted);
  margin: 2px 2px 0;
  font-size: 13px;
  line-height: 1.45;
}

.settings-profile-intro {
  border: 1px solid var(--line);
  background: var(--surface-row);
  border-radius: 18px;
  grid-template-columns: 40px minmax(0, 1fr);
  align-items: start;
  gap: 12px;
  padding: 14px;
  display: grid;
}

.settings-profile-intro-icon {
  background: var(--accent-soft);
  width: 40px;
  height: 40px;
  color: var(--accent);
  border-radius: 13px;
  place-items: center;
  display: grid;
}

.settings-profile-intro strong, .settings-profile-state strong, .settings-profile-clear-confirm strong {
  color: var(--text);
  font-size: 15px;
  font-weight: 650;
  line-height: 1.3;
  display: block;
}

.settings-profile-intro p, .settings-profile-clear-confirm p {
  color: var(--muted);
  margin: 4px 0 0;
  font-size: 13px;
  line-height: 1.45;
}

.settings-profile-field {
  gap: 8px;
  display: grid;
}

.settings-profile-field label {
  gap: 2px;
  padding: 0 3px;
  display: grid;
}

.settings-profile-field label strong {
  color: var(--text);
  font-size: 14px;
  font-weight: 650;
}

.settings-profile-field label span {
  color: var(--muted);
  font-size: 13px;
  line-height: 1.4;
}

.settings-profile-field textarea {
  resize: vertical;
  border: 1px solid var(--line-strong);
  background: var(--surface-row);
  width: 100%;
  min-height: clamp(230px, 38dvh, 410px);
  max-height: 58dvh;
  color: var(--text);
  border-radius: 18px;
  outline: 0;
  padding: 14px 15px;
  font-size: 16px;
  line-height: 1.55;
}

.settings-profile-field textarea:focus {
  border-color: var(--focus);
  background: var(--surface-control);
}

.settings-profile-field textarea::placeholder {
  color: var(--muted);
  opacity: .76;
}

.settings-profile-meta {
  color: var(--muted);
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 12px;
  padding: 0 2px;
  font-size: 12px;
  display: flex;
}

.settings-profile-meta .is-dirty {
  color: var(--warning);
  font-weight: 620;
}

.settings-profile-feedback:empty {
  display: none;
}

.settings-profile-feedback .inline-error {
  background: var(--surface-danger);
  border-radius: 13px;
  margin: 0;
  padding: 10px 12px;
  line-height: 1.4;
}

.settings-profile-status {
  color: var(--muted);
  margin: 0;
  padding: 0 2px;
  font-size: 13px;
}

.settings-profile-status.is-success {
  color: var(--green);
}

.settings-profile-state {
  border: 1px solid var(--line);
  background: var(--surface-row);
  text-align: center;
  border-radius: 18px;
  place-content: center;
  gap: 4px;
  min-height: 112px;
  padding: 18px;
  display: grid;
}

.settings-profile-state span {
  color: var(--muted);
  font-size: 13px;
  line-height: 1.4;
}

.settings-profile-state.is-error {
  border-color: color-mix(in srgb, var(--red) 20%, var(--line));
  background: var(--surface-danger);
}

.settings-profile-retry {
  justify-self: center;
  margin-top: 8px;
}

.settings-profile-actions {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 8px;
  display: grid;
}

.settings-profile-actions button {
  width: 100%;
  min-height: 48px;
  font-size: 15px;
}

.settings-profile-clear-confirm {
  border: 1px solid color-mix(in srgb, var(--red) 24%, var(--line));
  background: var(--surface-danger);
  border-radius: 16px;
  gap: 12px;
  padding: 13px;
  display: grid;
}

.settings-profile-clear-actions {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  display: grid;
}

.settings-profile-clear-actions button {
  min-height: 46px;
}

@media (max-width: 420px) {
  .settings-profile-actions, .settings-profile-clear-actions {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 340px) {
  .settings-profile-intro {
    grid-template-columns: 36px minmax(0, 1fr);
    gap: 10px;
    padding: 12px;
  }

  .settings-profile-intro-icon {
    width: 36px;
    height: 36px;
  }
}

/* [project]/app/styles/home.css [app-client] (css) */
.app-shell {
  padding-bottom: calc(env(safe-area-inset-bottom) + 156px);
}

.app-shell:has(.home-workspace) {
  padding-bottom: calc(env(safe-area-inset-bottom) + 160px);
}

.bottom-nav {
  left: 50%;
  bottom: calc(env(safe-area-inset-bottom) + 8px);
  z-index: 72;
  border: 1px solid var(--line);
  background: var(--surface-glass);
  width: min(100% - 24px, 720px);
  min-height: 66px;
  box-shadow: var(--shadow-float);
  -webkit-backdrop-filter: blur(30px) saturate(165%);
  backdrop-filter: blur(30px) saturate(165%);
  border-radius: 25px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 3px;
  padding: 6px;
  display: grid;
  position: fixed;
  transform: translateX(-50%);
}

.bottom-nav button {
  min-width: 0;
  min-height: 52px;
  color: var(--muted);
  background: none;
  border: 0;
  border-radius: 19px;
  align-content: center;
  place-items: center;
  gap: 3px;
  padding: 4px 2px;
  transition: background-color .15s, color .15s, transform .15s;
  display: grid;
}

.bottom-nav button span {
  letter-spacing: -.012em;
  font-size: 11.5px;
  font-weight: 590;
}

.bottom-nav button.is-active {
  background: var(--surface-selected);
  color: var(--text);
}

.bottom-nav button:active {
  background: var(--surface-control-pressed);
  color: var(--text);
  transform: scale(.97);
}

.root-action-dock {
  right: max(16px, 50vw - 344px);
  bottom: calc(env(safe-area-inset-bottom) + 86px);
  z-index: 73;
  border: 1px solid var(--line);
  background: var(--surface-glass);
  box-shadow: var(--shadow-float);
  -webkit-backdrop-filter: blur(28px) saturate(160%);
  backdrop-filter: blur(28px) saturate(160%);
  border-radius: 24px;
  align-items: center;
  gap: 5px;
  padding: 5px;
  display: flex;
  position: fixed;
}

.root-action-dock button {
  width: 44px;
  height: 44px;
  color: var(--muted);
  background: none;
  border: 0;
  border-radius: 50%;
  place-items: center;
  padding: 0;
  display: grid;
}

.root-action-dock button:active {
  background: var(--surface-control-pressed);
  color: var(--text);
  transform: scale(.97);
}

.root-action-dock .root-domain-action {
  color: var(--accent);
}

.root-action-dock .root-assistant-action {
  background: var(--surface-selected);
  color: var(--text);
}

:is(.app-shell:has([data-shell-surface="focus"]) > .bottom-nav, .app-shell:has(.chat-workspace) > .bottom-nav, .app-shell:has([data-shell-surface="focus"]) > .root-action-dock, .app-shell:has(.sheet-backdrop) > .root-action-dock, .app-shell:has(.chat-workspace) > .root-action-dock) {
  display: none;
}

.home-workspace {
  width: 100%;
  padding: 14px 2px 32px;
}

.home-heading {
  justify-content: space-between;
  align-items: baseline;
  gap: 12px;
  padding: 0 5px 14px;
  display: flex;
}

.home-heading h1 {
  color: var(--text);
  letter-spacing: -.032em;
  margin: 0;
  font-size: 24px;
  font-weight: 710;
  line-height: 1.12;
}

.home-heading p {
  color: var(--muted);
  letter-spacing: -.01em;
  text-align: right;
  margin: 0;
  font-size: 13.5px;
  font-weight: 470;
}

.home-inbox-row {
  width: 100%;
  min-height: 62px;
  color: var(--text);
  text-align: left;
  background: none;
  border: 0;
  border-radius: 15px;
  grid-template-columns: 38px minmax(0, 1fr) auto;
  align-items: center;
  gap: 11px;
  padding: 9px 7px 10px 5px;
  display: grid;
  position: relative;
}

.home-inbox-row:after {
  content: "";
  background: var(--line);
  height: 1px;
  position: absolute;
  bottom: 0;
  left: 54px;
  right: 7px;
}

.home-inbox-row:active {
  background: var(--surface-row-pressed);
}

.home-inbox-icon {
  background: var(--accent-soft);
  width: 38px;
  height: 38px;
  color: var(--accent);
  border-radius: 12px;
  place-items: center;
  display: grid;
}

.home-inbox-copy {
  min-width: 0;
}

.home-inbox-copy strong, .home-inbox-copy small {
  display: block;
}

.home-inbox-copy strong {
  color: var(--text);
  letter-spacing: -.016em;
  font-size: 16.5px;
  font-weight: 630;
}

.home-inbox-copy small {
  color: var(--muted);
  margin-top: 2px;
  font-size: 13px;
  font-weight: 460;
}

.home-inbox-row > svg {
  color: var(--muted);
}

.home-toast {
  right: 16px;
  bottom: calc(env(safe-area-inset-bottom) + 156px);
  z-index: 120;
  border: 1px solid var(--line);
  background: var(--surface-menu);
  width: fit-content;
  max-width: min(100vw - 32px, 420px);
  box-shadow: var(--shadow-float);
  color: var(--text);
  -webkit-backdrop-filter: blur(24px);
  backdrop-filter: blur(24px);
  border-radius: 14px;
  margin: auto;
  padding: 9px 13px;
  font-size: 13px;
  position: fixed;
  left: 16px;
}

@media (max-width: 390px) {
  .bottom-nav {
    width: calc(100% - 16px);
  }

  .home-heading {
    flex-direction: column;
    align-items: flex-start;
    gap: 3px;
  }

  .home-heading p {
    text-align: left;
  }

  .home-inbox-row {
    border-radius: 15px;
  }
}

/* [project]/app/styles/home-insights.css [app-client] (css) */
.home-insights {
  gap: 14px;
  margin-top: 18px;
  padding: 0 2px 8px;
  display: grid;
}

.home-insight-card, .home-no-insight {
  border: 1px solid var(--line);
  background: var(--surface-row);
  box-shadow: none;
  border-radius: 23px;
  overflow: hidden;
}

.home-insight-card {
  padding: 16px 16px 14px;
}

.home-insight-card.is-spotlight {
  padding: 18px 17px 15px;
}

.home-insight-card > header {
  color: var(--muted);
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  display: flex;
}

.home-insight-card > header span {
  letter-spacing: .005em;
  font-size: 11.5px;
  font-weight: 650;
}

.home-insight-card > header svg {
  color: var(--muted);
}

.home-insight-card h2 {
  max-width: 620px;
  color: var(--text);
  letter-spacing: -.025em;
  margin: 8px 0 0;
  font-size: 19px;
  font-weight: 680;
  line-height: 1.24;
}

.home-insight-card.is-spotlight h2 {
  letter-spacing: -.03em;
  font-size: 22px;
  line-height: 1.2;
}

.home-insight-card > p {
  max-width: 640px;
  color: var(--muted);
  margin: 7px 0 0;
  font-size: 14px;
  line-height: 1.48;
}

.home-insight-card > p.home-insight-why {
  color: var(--text);
  margin-top: 13px;
  font-size: 12.5px;
}

.home-insight-card > p.home-insight-evidence {
  margin-top: 6px;
  font-size: 11px;
}

.home-insight-card > footer {
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  margin-top: 14px;
  display: flex;
}

.home-insight-card > footer button {
  min-height: 44px;
  color: var(--muted);
  background: none;
  border: 0;
  border-radius: 12px;
  align-items: center;
  gap: 3px;
  padding: 0 6px;
  font-size: 12.5px;
  font-weight: 590;
  display: inline-flex;
}

.home-insight-card > footer .home-insight-actions {
  align-items: center;
  gap: 6px;
  display: flex;
}

.home-insight-card > footer .home-insight-primary {
  background: var(--text);
  color: var(--surface);
  padding: 0 12px;
}

.home-insight-card > footer .home-insight-ask {
  background: var(--surface-control);
  color: var(--text);
  border-radius: 13px;
  padding: 0 12px;
}

.home-insight-card > footer button:active {
  background: var(--surface-control-pressed);
  color: var(--text);
}

.home-insight-metrics {
  background: var(--line);
  border-radius: 15px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  margin-top: 16px;
  display: grid;
  overflow: hidden;
}

.home-insight-metrics > div {
  background: var(--surface-raised);
  align-content: center;
  gap: 4px;
  min-width: 0;
  min-height: 66px;
  padding: 10px 11px;
  display: grid;
}

.home-insight-metrics span, .home-insight-metrics strong {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

.home-insight-metrics span {
  color: var(--muted);
  font-size: 10.5px;
  font-weight: 560;
}

.home-insight-metrics strong {
  color: var(--text);
  letter-spacing: -.015em;
  font-size: 15px;
  font-weight: 650;
}

.home-insight-metrics.is-luna > div:last-child strong {
  color: var(--warning);
}

.home-insight-trail {
  background: var(--surface-soft);
  color: var(--muted);
  border-radius: 15px;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, .8fr) auto minmax(0, .7fr);
  align-items: center;
  gap: 5px;
  margin-top: 16px;
  padding: 13px 12px;
  display: grid;
}

.home-insight-trail span {
  min-width: 0;
  color: var(--muted);
  white-space: nowrap;
  justify-content: center;
  align-items: center;
  gap: 5px;
  font-size: 11.5px;
  font-weight: 600;
  display: inline-flex;
}

.home-insight-trail > svg {
  color: var(--muted);
  opacity: .65;
}

.home-insight-trail span.is-strong {
  color: var(--text);
}

.home-insight-sources {
  border-top: 1px solid var(--line);
  margin: 11px -4px -5px;
  display: grid;
  overflow: hidden;
}

.home-insight-sources > button {
  width: 100%;
  min-height: 54px;
  color: var(--text);
  text-align: left;
  background: none;
  border: 0;
  grid-template-columns: minmax(0, 1fr) 18px;
  align-items: center;
  gap: 9px;
  padding: 9px 4px;
  display: grid;
  position: relative;
}

.home-insight-sources > button:active {
  background: var(--surface-row-pressed);
}

.home-insight-sources > button + button:before {
  content: "";
  background: var(--line);
  height: 1px;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
}

.home-insight-sources span {
  min-width: 0;
}

.home-insight-sources strong, .home-insight-sources small {
  text-overflow: ellipsis;
  white-space: nowrap;
  display: block;
  overflow: hidden;
}

.home-insight-sources strong {
  font-size: 13px;
  font-weight: 620;
}

.home-insight-sources small {
  color: var(--muted);
  margin-top: 2px;
  font-size: 11.5px;
}

.home-insight-sources > button > svg {
  color: var(--muted);
}

.home-no-insight {
  color: var(--muted);
  grid-template-columns: 30px minmax(0, 1fr);
  gap: 12px;
  padding: 18px 17px;
  display: grid;
}

.home-no-insight > svg {
  margin-top: 2px;
}

.home-no-insight strong {
  color: var(--text);
  font-size: 14px;
  font-weight: 620;
}

.home-no-insight p {
  color: var(--muted);
  margin: 4px 0 0;
  font-size: 12.5px;
  line-height: 1.42;
}

.home-insight-loading {
  gap: 10px;
  display: grid;
}

.home-insight-loading span {
  background: var(--surface-row);
  border-radius: 20px;
  height: 118px;
  animation: 1.35s ease-in-out infinite alternate home-insight-pulse;
  display: block;
}

.home-insight-loading span:last-child {
  opacity: .72;
  height: 84px;
}

.home-insight-footnote {
  min-height: 44px;
  color: var(--muted);
  align-items: center;
  gap: 6px;
  padding: 0 0 0 6px;
  font-size: 11px;
  line-height: 1.38;
  display: flex;
}

.home-insight-footnote > span {
  flex: auto;
  min-width: 0;
}

.home-insight-footnote > svg {
  flex: none;
}

.home-insight-refresh {
  min-height: 44px;
  color: var(--muted);
  font: inherit;
  background: none;
  border: 0;
  border-radius: 12px;
  flex: none;
  justify-content: center;
  align-items: center;
  gap: 5px;
  padding: 0 9px;
  font-weight: 600;
  display: inline-flex;
}

.home-no-insight .home-insight-refresh {
  margin-top: 5px;
  margin-left: -9px;
}

.home-insight-refresh:active {
  background: var(--surface-control-pressed);
  color: var(--text);
}

.home-insight-refresh:disabled {
  opacity: .55;
}

@keyframes home-insight-pulse {
  from {
    opacity: .55;
  }

  to {
    opacity: 1;
  }
}

@media (max-width: 390px) {
  .home-insights {
    margin-top: 22px;
  }

  .home-insight-card, .home-insight-card.is-spotlight, .home-no-insight {
    border-radius: 20px;
  }

  .home-insight-card, .home-insight-card.is-spotlight {
    padding-left: 14px;
    padding-right: 14px;
  }

  .home-insight-card.is-spotlight h2 {
    font-size: 20px;
  }

  .home-insight-metrics {
    grid-template-columns: 1fr;
  }

  .home-insight-metrics > div {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    min-height: 52px;
  }

  .home-insight-metrics strong {
    text-align: right;
  }

  .home-insight-trail {
    gap: 2px;
    padding-left: 7px;
    padding-right: 7px;
  }

  .home-insight-trail span {
    font-size: 10.5px;
  }

  .home-insight-footnote {
    align-items: flex-start;
  }

  .home-insight-card > footer {
    flex-direction: column;
    align-items: stretch;
  }

  .home-insight-card > footer .home-insight-actions {
    align-self: stretch;
  }

  .home-insight-card > footer .home-insight-actions button {
    flex: 1 1 0;
    justify-content: center;
  }
}

/* [project]/app/styles/inbox.css [app-client] (css) */
.inbox-workspace, .inbox-search-surface, .inbox-assistant-surface, .inbox-note-editor {
  width: 100%;
  padding: 18px 2px 8px;
}

.inbox-heading, .inbox-surface-header, .inbox-note-topbar {
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  display: flex;
}

.inbox-heading {
  align-items: flex-end;
  min-height: 58px;
  padding: 0 8px 12px;
}

.inbox-heading h1, .inbox-surface-header h1 {
  color: var(--text);
  letter-spacing: -.035em;
  margin: 0;
  font-size: 28px;
  font-weight: 720;
}

.inbox-heading p, .inbox-surface-header p {
  color: var(--muted);
  margin: 4px 0 0;
  font-size: 13.5px;
}

.inbox-search-button, .inbox-icon-button {
  width: 44px;
  height: 44px;
  color: var(--text);
  background: #ffffff0b;
  border: 1px solid #ffffff17;
  border-radius: 50%;
  flex: none;
  place-items: center;
  padding: 0;
  display: grid;
}

.inbox-header-spacer {
  width: 44px;
  height: 44px;
}

.inbox-assistant-row {
  text-align: left;
  background: #ffffff0a;
  border: 1px solid #ffffff16;
  border-radius: 18px;
  grid-template-columns: 38px minmax(0, 1fr) 18px;
  align-items: center;
  gap: 10px;
  width: 100%;
  min-height: 70px;
  margin-bottom: 20px;
  padding: 11px 12px;
  display: grid;
}

.inbox-assistant-row > svg {
  color: var(--muted);
}

.inbox-assistant-icon {
  width: 38px;
  height: 38px;
  color: var(--text);
  background: #ffffff12;
  border-radius: 13px;
  place-items: center;
  display: grid;
}

.inbox-assistant-copy {
  min-width: 0;
}

.inbox-assistant-copy strong, .inbox-assistant-copy small {
  display: block;
}

.inbox-assistant-copy strong {
  font-size: 15.5px;
  font-weight: 650;
}

.inbox-assistant-copy small {
  color: var(--muted);
  text-overflow: ellipsis;
  white-space: nowrap;
  margin-top: 3px;
  font-size: 13px;
  overflow: hidden;
}

.inbox-timeline {
  gap: 22px;
  display: grid;
}

.inbox-day {
  gap: 8px;
  display: grid;
}

.inbox-day-heading {
  justify-content: space-between;
  align-items: center;
  padding: 0 7px;
  display: flex;
}

.inbox-day-heading strong {
  color: var(--muted);
  font-size: 13px;
  font-weight: 650;
}

.inbox-day-heading span {
  color: #747a80;
  font-size: 13px;
}

.inbox-list {
  background: #ffffff09;
  border: 1px solid #ffffff13;
  border-radius: 20px;
  overflow: hidden;
}

.inbox-item {
  text-align: left;
  background: none;
  border: 0;
  align-items: center;
  gap: 12px;
  width: 100%;
  min-height: 76px;
  padding: 13px 14px;
  display: flex;
  position: relative;
}

.inbox-item + .inbox-item:before {
  content: "";
  background: #ffffff13;
  height: 1px;
  position: absolute;
  top: 0;
  left: 14px;
  right: 0;
}

.inbox-item-copy {
  flex: auto;
  min-width: 0;
}

.inbox-item-title {
  min-width: 0;
  color: var(--text);
  align-items: flex-start;
  gap: 7px;
  font-size: 16px;
  font-weight: 530;
  line-height: 1.4;
  display: flex;
}

.inbox-item-title svg {
  color: var(--muted);
  flex: none;
  margin-top: 4px;
}

.inbox-item-copy p {
  color: var(--muted);
  margin: 5px 0 0;
  font-size: 13px;
}

.inbox-item-trailing {
  color: #767c82;
  flex: none;
  align-items: center;
  gap: 7px;
  display: flex;
}

.inbox-item-trailing small {
  color: var(--muted);
  white-space: nowrap;
  font-size: 13px;
}

.inbox-empty, .inbox-search-empty {
  text-align: center;
  background: #ffffff06;
  border: 1px solid #fff1;
  border-radius: 20px;
  align-content: center;
  place-items: center;
  gap: 7px;
  min-height: 230px;
  padding: 28px;
  display: grid;
}

.inbox-empty svg {
  color: var(--muted);
}

.inbox-empty strong, .inbox-search-empty strong {
  font-size: 16px;
  font-weight: 650;
}

.inbox-empty p, .inbox-search-empty p {
  max-width: 320px;
  color: var(--muted);
  margin: 0;
  font-size: 13.5px;
  line-height: 1.48;
}

.inbox-toast {
  right: 16px;
  bottom: calc(env(safe-area-inset-bottom) + 82px);
  z-index: 130;
  width: fit-content;
  max-width: min(420px, 100vw - 32px);
  color: var(--text);
  background: #121212f7;
  border: 1px solid #ffffff1a;
  border-radius: 13px;
  margin: 0 auto;
  padding: 10px 13px;
  font-size: 13px;
  position: fixed;
  left: 16px;
  box-shadow: 0 12px 36px #00000052;
}

.inbox-surface-header {
  min-height: 54px;
  padding: 0 5px 14px;
}

.inbox-surface-header > div {
  flex: auto;
  min-width: 0;
}

.inbox-surface-header h1 {
  font-size: 24px;
}

.assistant-next-card {
  background: #ffffff0e;
  border: 1px solid #ffffff17;
  border-radius: 20px;
  padding: 16px;
}

.assistant-section-kicker {
  color: var(--muted);
  align-items: center;
  gap: 6px;
  font-size: 13px;
  font-weight: 650;
  display: inline-flex;
}

.assistant-next-card h2 {
  margin: 7px 0 0;
  font-size: 20px;
  line-height: 1.25;
}

.assistant-next-card p {
  color: var(--muted);
  margin: 6px 0 0;
  font-size: 13.5px;
  line-height: 1.45;
}

.assistant-next-card > button {
  color: var(--text);
  background: none;
  border: 0;
  align-items: center;
  gap: 5px;
  margin-top: 12px;
  padding: 0;
  font-size: 13.5px;
  font-weight: 650;
  display: inline-flex;
}

.assistant-dashboard-section {
  margin-top: 20px;
}

.assistant-dashboard-section > header {
  justify-content: space-between;
  align-items: center;
  padding: 0 5px 8px;
  display: flex;
}

.assistant-dashboard-section > header h2 {
  color: var(--muted);
  margin: 0;
  font-size: 13.5px;
  font-weight: 650;
}

.assistant-dashboard-section > header span {
  color: #737980;
  font-size: 13px;
}

.assistant-today-list, .assistant-attention-list, .assistant-open-loops {
  background: #ffffff09;
  border: 1px solid #ffffff13;
  border-radius: 18px;
  overflow: hidden;
}

.assistant-today-list > button, .assistant-attention-list > button, .assistant-open-loop-main {
  text-align: left;
  background: none;
  border: 0;
  grid-template-columns: 20px minmax(0, 1fr) 16px;
  align-items: center;
  gap: 10px;
  width: 100%;
  min-height: 60px;
  padding: 11px 12px;
  display: grid;
  position: relative;
}

.assistant-today-list > button + button:before, .assistant-attention-list > button + button:before, .assistant-open-loops article + article:before {
  content: "";
  background: #ffffff12;
  height: 1px;
  position: absolute;
  top: 0;
  left: 12px;
  right: 0;
}

.assistant-today-list strong, .assistant-today-list small, .assistant-attention-list strong, .assistant-attention-list small, .assistant-open-loop-main strong, .assistant-open-loop-main small {
  display: block;
}

.assistant-today-list strong, .assistant-attention-list strong, .assistant-open-loop-main strong {
  font-size: 15px;
}

.assistant-today-list small, .assistant-attention-list small, .assistant-open-loop-main small {
  color: var(--muted);
  margin-top: 3px;
  font-size: 13px;
}

.assistant-today-list > button > svg:last-child, .assistant-attention-list > button > svg:last-child, .assistant-open-loop-main > svg:last-child {
  color: #737980;
}

.assistant-order {
  width: 22px;
  height: 22px;
  color: var(--muted);
  background: #ffffff0e;
  border-radius: 7px;
  place-items: center;
  font-size: 12px;
  font-weight: 700;
  display: grid;
}

.assistant-open-loops article {
  padding-bottom: 8px;
  position: relative;
}

.assistant-inline-action {
  color: var(--text);
  background: #ffffff0f;
  border: 0;
  border-radius: 9px;
  margin-left: 42px;
  padding: 6px 9px;
  font-size: 13px;
  font-weight: 650;
}

.assistant-empty-line {
  color: var(--muted);
  margin: 0;
  padding: 12px 5px;
  font-size: 13px;
}

.assistant-chat-hint {
  color: var(--muted);
  margin: 18px 6px 0;
  font-size: 13px;
  line-height: 1.45;
}

.inbox-search-field {
  border: 1px solid var(--line);
  background: var(--surface-control);
  border-radius: 16px;
  grid-template-columns: 20px minmax(0, 1fr) 30px;
  align-items: center;
  gap: 8px;
  min-height: 50px;
  margin: 2px 2px 18px;
  padding: 4px 8px 4px 12px;
  display: grid;
}

.inbox-search-field > svg {
  color: var(--muted);
}

.inbox-search-field input {
  width: 100%;
  min-width: 0;
  color: var(--text);
  font: inherit;
  background: none;
  border: 0;
  outline: 0;
  font-size: 16px;
}

.inbox-search-field input::placeholder {
  color: var(--muted);
}

.inbox-search-field button {
  background: var(--surface-control);
  width: 44px;
  height: 44px;
  color: var(--muted);
  border: 0;
  border-radius: 50%;
  place-items: center;
  display: grid;
}

.inbox-search-results {
  display: grid;
}

.inbox-results-count {
  color: var(--muted);
  margin: 0;
  padding: 0 7px 7px;
  font-size: 13px;
}

.inbox-search-result {
  border: 0;
  border-top: 1px solid var(--line);
  text-align: left;
  background: none;
  width: 100%;
  padding: 14px 8px;
  display: block;
  position: relative;
}

.inbox-search-result:first-of-type {
  border-top: 0;
}

.inbox-search-result strong {
  font-size: 16px;
  display: block;
}

.inbox-search-result p {
  color: var(--text);
  margin: 5px 0 0;
  font-size: 14px;
  line-height: 1.42;
}

.inbox-search-result mark {
  background: var(--accent-soft);
  color: var(--text);
  border-radius: 3px;
  padding: 0 1px;
}

.inbox-search-result small {
  color: var(--muted);
  margin-top: 4px;
  font-size: 13px;
  display: block;
}

.inbox-result-path {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

@media (max-width: 390px) {
  .inbox-workspace, .inbox-search-surface, .inbox-assistant-surface {
    padding-top: 15px;
  }

  .inbox-heading {
    padding-left: 6px;
    padding-right: 6px;
  }

  .inbox-assistant-row {
    margin-bottom: 18px;
  }

  .inbox-item {
    padding-left: 11px;
    padding-right: 11px;
  }

  .inbox-item + .inbox-item:before {
    left: 11px;
  }

  .inbox-item-trailing small {
    display: none;
  }
}

/* [project]/app/styles/tasks.css [app-client] (css) */
.tasks-workspace {
  width: 100%;
  padding: 18px 2px 8px;
}

.tasks-heading, .tasks-surface-header {
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  display: flex;
}

.tasks-heading {
  align-items: flex-end;
  min-height: 58px;
  padding: 0 8px 16px;
}

.tasks-heading h1, .tasks-surface-header h1 {
  color: var(--text);
  letter-spacing: -.035em;
  margin: 0;
  font-size: 28px;
  font-weight: 720;
}

.tasks-heading p, .tasks-surface-header p {
  color: var(--muted);
  margin: 4px 0 0;
  font-size: 12px;
}

.tasks-heading-mark {
  width: 40px;
  height: 40px;
  color: var(--muted);
  background: #ffffff0a;
  border: 1px solid #ffffff14;
  border-radius: 50%;
  place-items: center;
  display: grid;
}

.tasks-home-section {
  margin-top: 17px;
}

.tasks-home-section:first-of-type {
  margin-top: 0;
}

.tasks-section-header {
  justify-content: space-between;
  align-items: center;
  padding: 0 7px 7px;
  display: flex;
}

.tasks-section-header h2 {
  color: var(--muted);
  margin: 0;
  font-size: 12px;
  font-weight: 650;
}

.tasks-section-header span {
  color: #6f757b;
  font-size: 10.5px;
}

.tasks-list-card, .tasks-nav-list, .tasks-project-list {
  background: #ffffff09;
  border: 1px solid #ffffff17;
  border-radius: 20px;
  overflow: hidden;
}

.tasks-doing-card {
  background: #ffffff0e;
  border-color: #ffffff1f;
}

.task-list-row {
  width: 100%;
  min-height: 68px;
  color: var(--text);
  text-align: left;
  background: none;
  border: 0;
  grid-template-columns: 24px minmax(0, 1fr) 18px;
  align-items: center;
  gap: 10px;
  padding: 11px 13px;
  display: grid;
  position: relative;
}

.task-list-row + .task-list-row:before, .tasks-nav-list > button + button:before, .tasks-project-list:not(.is-managing) > button + button:before {
  content: "";
  background: #ffffff17;
  height: 1px;
  position: absolute;
  top: 0;
  left: 14px;
  right: 0;
}

.task-list-row > svg, .tasks-nav-list > button > svg, .tasks-project-list > button > svg {
  color: #70767d;
}

.task-state-icon {
  color: #858c93;
  place-items: center;
  display: grid;
}

.task-state-icon.is-doing {
  color: var(--text);
}

.task-state-icon.is-done {
  color: #777e84;
}

.task-list-copy {
  min-width: 0;
}

.task-list-copy strong, .task-list-copy small {
  display: block;
}

.task-list-copy strong {
  text-overflow: ellipsis;
  font-size: 14.5px;
  font-weight: 560;
  line-height: 1.35;
  overflow: hidden;
}

.task-list-copy small {
  color: var(--muted);
  text-overflow: ellipsis;
  white-space: nowrap;
  margin-top: 4px;
  font-size: 10.8px;
  line-height: 1.35;
  overflow: hidden;
}

.tasks-missed-row {
  width: 100%;
  min-height: 58px;
  color: var(--text);
  text-align: left;
  background: #ffffff06;
  border: 1px solid #ffffff17;
  border-radius: 18px;
  grid-template-columns: 22px minmax(0, 1fr) 18px;
  align-items: center;
  gap: 10px;
  margin: 17px 0;
  padding: 10px 13px;
  display: grid;
}

.tasks-missed-row > svg {
  color: var(--muted);
}

.tasks-missed-row span {
  min-width: 0;
}

.tasks-missed-row strong, .tasks-missed-row small {
  display: block;
}

.tasks-missed-row strong {
  font-size: 13.5px;
  font-weight: 620;
}

.tasks-missed-row small {
  color: var(--muted);
  margin-top: 3px;
  font-size: 10.5px;
}

.tasks-nav-list, .tasks-project-list {
  margin-top: 17px;
}

.tasks-nav-list > button, .tasks-project-list:not(.is-managing) > button {
  width: 100%;
  min-height: 62px;
  color: var(--text);
  text-align: left;
  background: none;
  border: 0;
  grid-template-columns: 34px minmax(0, 1fr) auto 18px;
  align-items: center;
  gap: 9px;
  padding: 9px 12px;
  display: grid;
  position: relative;
}

.tasks-nav-icon {
  width: 34px;
  height: 34px;
  color: var(--muted);
  background: #ffffff0e;
  border-radius: 12px;
  place-items: center;
  display: grid;
}

.tasks-nav-list strong, .tasks-nav-list small, .tasks-project-list strong {
  display: block;
}

.tasks-nav-list strong, .tasks-project-list strong {
  font-size: 13.5px;
  font-weight: 620;
}

.tasks-nav-list small {
  color: var(--muted);
  text-overflow: ellipsis;
  white-space: nowrap;
  margin-top: 2px;
  font-size: 10.5px;
  line-height: 1.3;
  overflow: hidden;
}

.tasks-nav-count {
  color: #747b81;
  font-size: 11px;
}

.tasks-preview-note {
  color: #686f76;
  text-align: center;
  margin: 18px 8px 0;
  font-size: 10.5px;
  line-height: 1.45;
}

.tasks-surface-header {
  min-height: 54px;
  padding: 0 5px 15px;
  position: relative;
}

.tasks-surface-header > div {
  flex: auto;
  min-width: 0;
}

.tasks-surface-header h1 {
  font-size: 24px;
}

.tasks-icon-button {
  width: 44px;
  height: 44px;
  color: var(--text);
  background: #ffffff0b;
  border: 1px solid #ffffff17;
  border-radius: 50%;
  flex: none;
  place-items: center;
  padding: 0;
  display: grid;
}

.tasks-header-spacer {
  width: 44px;
  height: 44px;
}

.tasks-header-action {
  min-width: 48px;
  height: 44px;
  color: var(--blue);
  background: none;
  border: 0;
  padding: 0 5px;
  font-size: 14px;
  font-weight: 650;
}

.tasks-header-action:disabled {
  color: #62686e;
}

.task-detail-title {
  padding: 4px 8px 14px;
}

.task-detail-title textarea, .task-title-field textarea {
  resize: none;
  width: 100%;
  color: var(--text);
  background: none;
  border: 0;
  outline: 0;
}

.task-detail-title textarea {
  letter-spacing: -.02em;
  padding: 0;
  font-size: 22px;
  font-weight: 680;
  line-height: 1.28;
}

.task-detail-title small {
  color: var(--muted);
  margin-top: 7px;
  font-size: 10.5px;
  display: block;
}

.task-state-switch {
  background: #ffffff06;
  border: 1px solid #ffffff17;
  border-radius: 16px;
  grid-template-columns: repeat(3, 1fr);
  gap: 4px;
  margin: 0 5px 16px;
  padding: 4px;
  display: grid;
}

.task-state-switch button {
  min-height: 44px;
  color: var(--muted);
  background: none;
  border: 0;
  border-radius: 12px;
  justify-content: center;
  align-items: center;
  gap: 6px;
  font-size: 11px;
  font-weight: 600;
  display: flex;
}

.task-state-switch button.is-active {
  color: var(--text);
  background: #ffffff17;
}

.task-editor-card, .task-working-context {
  background: #ffffff08;
  border: 1px solid #ffffff17;
  border-radius: 19px;
}

.task-meta-list {
  background: #ffffff06;
  border: 1px solid #ffffff1a;
  border-radius: 17px;
  margin: 0 3px;
  overflow: hidden;
}

.task-meta-row {
  width: 100%;
  min-height: 48px;
  color: var(--text);
  text-align: left;
  background: none;
  border: 0;
  grid-template-columns: minmax(0, 1fr) minmax(90px, auto) 16px;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  display: grid;
  position: relative;
}

.task-meta-row + .task-meta-row:before {
  content: "";
  background: #ffffff1a;
  height: 1px;
  position: absolute;
  top: 0;
  left: 12px;
  right: 0;
}

.task-meta-label {
  min-width: 0;
  color: var(--muted);
  align-items: center;
  gap: 8px;
  font-size: 13px;
  font-weight: 600;
  display: flex;
}

.task-meta-value {
  color: var(--text);
  text-align: right;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 14px;
  overflow: hidden;
}

.task-meta-row > svg {
  color: #747b81;
}

.task-date-meta-row {
  cursor: pointer;
}

.task-date-meta-row input[type="date"] {
  opacity: 0;
  cursor: pointer;
  width: 100%;
  height: 100%;
  margin: 0;
  position: absolute;
  inset: 0;
}

.task-editor-card {
  overflow: hidden;
}

.task-editor-card > label, .task-editor-grid > label {
  gap: 7px;
  padding: 11px 13px;
  display: grid;
}

.task-editor-card label > span {
  color: var(--muted);
  align-items: center;
  gap: 7px;
  font-size: 10.5px;
  font-weight: 600;
  display: flex;
}

.task-editor-card input, .task-editor-card select {
  width: 100%;
  min-height: 31px;
  color: var(--text);
  background: none;
  border: 0;
  outline: 0;
  padding: 0;
  font-size: 14px;
}

.task-detail-section {
  margin-top: 19px;
}

.task-checklist {
  background: #ffffff08;
  border: 1px solid #ffffff17;
  border-radius: 18px;
  overflow: hidden;
}

.task-checklist button {
  width: 100%;
  min-height: 52px;
  color: var(--text);
  text-align: left;
  background: none;
  border: 0;
  grid-template-columns: 22px minmax(0, 1fr);
  align-items: center;
  gap: 9px;
  padding: 9px 12px;
  font-size: 13.5px;
  display: grid;
  position: relative;
}

.task-checklist button + button:before {
  content: "";
  background: #ffffff17;
  height: 1px;
  position: absolute;
  top: 0;
  left: 43px;
  right: 0;
}

.task-checklist .is-done {
  color: #777e84;
  text-decoration: line-through;
}

.task-working-context {
  overflow: hidden;
}

.task-working-context label {
  grid-template-columns: 74px minmax(0, 1fr);
  gap: 10px;
  padding: 11px 12px;
  display: grid;
}

.task-working-context label + label {
  border-top: 1px solid #ffffff17;
}

.task-working-context span {
  color: var(--muted);
  padding-top: 3px;
  font-size: 10.5px;
  font-weight: 650;
}

.task-working-context textarea, .task-note-field {
  resize: none;
  width: 100%;
  color: var(--text);
  background: none;
  border: 0;
  outline: 0;
  font-size: 13px;
  line-height: 1.45;
}

.task-waiting-editor {
  background: #ffffff08;
  border: 1px solid #ffffff17;
  border-radius: 16px;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
  padding: 9px 10px 9px 13px;
  display: grid;
}

.task-waiting-editor input {
  min-width: 0;
  color: var(--text);
  background: none;
  border: 0;
  outline: 0;
  font-size: 13px;
}

.task-waiting-editor button, .task-inline-add {
  color: var(--muted);
  background: none;
  border: 0;
  font-size: 11px;
}

.task-inline-add {
  text-align: left;
  align-items: center;
  gap: 7px;
  width: 100%;
  min-height: 44px;
  padding: 0 10px;
  display: flex;
}

.task-note-field {
  background: #ffffff08;
  border: 1px solid #ffffff17;
  border-radius: 17px;
  min-height: 84px;
  padding: 11px 12px;
}

.task-detail-title textarea:focus, .task-detail-title textarea:focus-visible, .task-working-context textarea:focus, .task-working-context textarea:focus-visible, .task-note-field:focus, .task-note-field:focus-visible, .task-waiting-editor input:focus, .task-waiting-editor input:focus-visible, .task-editor-card input:focus, .task-editor-card input:focus-visible, .task-editor-card select:focus, .task-editor-card select:focus-visible, .task-title-field textarea:focus, .task-title-field textarea:focus-visible, .task-project-manage-row input:focus, .task-project-manage-row input:focus-visible, .task-project-new-row input:focus, .task-project-new-row input:focus-visible {
  box-shadow: none !important;
  outline: 0 !important;
}

.task-note-field:focus, .task-note-field:focus-visible, .task-waiting-editor:focus-within, .task-working-context:focus-within {
  border-color: #ffffff1a !important;
}

.task-cancel-action {
  color: #b38181;
  background: none;
  border: 1px solid #ffffff14;
  border-radius: 16px;
  width: 100%;
  min-height: 48px;
  margin-top: 24px;
  font-size: 12px;
  font-weight: 600;
}

.task-empty-line {
  color: var(--muted);
  margin: 0;
  font-size: 11px;
  line-height: 1.45;
}

.task-empty-card {
  padding: 16px 13px;
}

.task-title-field {
  padding-top: 14px !important;
  padding-bottom: 14px !important;
}

.task-title-field textarea {
  padding: 0;
  font-size: 20px;
  font-weight: 650;
  line-height: 1.35;
}

.task-editor-grid {
  border-top: 1px solid #ffffff17;
  grid-template-columns: 1fr 1fr;
  display: grid;
}

.task-editor-grid > label + label {
  border-left: 1px solid #ffffff17;
}

.task-select-field {
  border-top: 1px solid #ffffff17;
}

.task-project-add {
  min-height: 46px;
  color: var(--blue);
  background: none;
  border: 0;
  align-items: center;
  gap: 8px;
  margin: 10px 6px 0;
  padding: 0 8px;
  font-size: 14px;
  font-weight: 600;
  display: flex;
}

.project-list-edit {
  flex: none;
}

.project-task-section {
  margin-top: 2px;
}

.task-sheet-backdrop {
  z-index: 126;
}

.task-compact-sheet {
  background: var(--surface-sheet);
  border-radius: 24px 24px 0 0;
  width: min(100%, 560px);
  max-height: 72dvh;
  overflow-y: auto;
}

.task-sheet-header {
  z-index: 2;
  border-bottom: 1px solid var(--line);
  background: var(--surface-sheet);
  grid-template-columns: 44px minmax(0, 1fr) 52px;
  align-items: center;
  min-height: 56px;
  padding: 6px 10px;
  display: grid;
  position: sticky;
  top: 0;
}

.task-sheet-header > button:first-child {
  width: 44px;
  height: 44px;
  color: var(--text);
  background: none;
  border: 0;
  border-radius: 50%;
  place-items: center;
  padding: 0;
  display: grid;
}

.task-sheet-header strong {
  text-align: center;
  font-size: 16px;
}

.task-sheet-save {
  min-width: 52px;
  height: 44px;
  color: var(--blue);
  background: none;
  border: 0;
  padding: 0;
  font-size: 14px;
  font-weight: 650;
}

.task-project-picker-list {
  padding: 14px 16px calc(env(safe-area-inset-bottom) + 20px);
}

.task-project-option, .task-project-manage-row, .task-project-new-row {
  background: var(--surface-row);
  width: 100%;
  min-height: 52px;
  color: var(--text);
  border: 0;
  grid-template-columns: minmax(0, 1fr) 44px;
  align-items: center;
  gap: 8px;
  padding: 7px 10px 7px 14px;
  font-size: 16px;
  display: grid;
  position: relative;
}

.task-project-option:first-child, .task-project-manage-row:first-child {
  border-radius: 14px 14px 0 0;
}

.task-project-option:last-of-type {
  border-radius: 0 0 14px 14px;
}

.task-project-option + .task-project-option:before, .task-project-manage-row + .task-project-manage-row:before, .task-project-new-row:before {
  content: "";
  background: var(--line);
  height: 1px;
  position: absolute;
  top: 0;
  left: 14px;
  right: 0;
}

.task-project-option {
  text-align: left;
}

.task-project-option > svg {
  color: var(--blue);
  justify-self: end;
}

.task-project-option.is-selected {
  color: var(--text);
}

.task-project-picker-create {
  background: var(--surface-row);
  width: 100%;
  min-height: 50px;
  color: var(--blue);
  text-align: left;
  border: 0;
  border-radius: 14px;
  align-items: center;
  gap: 8px;
  margin-top: 10px;
  padding: 0 12px;
  font-size: 15px;
  display: flex;
}

.task-project-manage-row input, .task-project-new-row input {
  width: 100%;
  min-width: 0;
  height: 44px;
  color: var(--text);
  font: inherit;
  background: none;
  border: 0;
  outline: 0;
  padding: 0;
  font-size: 16px;
}

.task-project-manage-row > button, .task-project-new-row > button {
  background: none;
  border: 0;
  place-items: center;
  min-width: 44px;
  height: 44px;
  padding: 0;
  display: grid;
}

.task-project-manage-row > button {
  color: var(--red);
}

.task-project-new-row > button {
  color: var(--blue);
  font-size: 13px;
  font-weight: 650;
}

.task-project-new-row > button:disabled {
  color: var(--muted);
  opacity: .55;
}

.task-project-new-row {
  border-radius: 14px;
  margin-top: 10px;
}

.task-project-new-row:before {
  display: none;
}

.tasks-project-list.is-managing {
  padding: 0;
}

.tasks-project-list.is-managing .task-project-manage-row, .tasks-project-list.is-managing .task-project-new-row {
  background: none;
  border-radius: 0;
}

.tasks-project-list.is-managing .task-project-manage-row:first-child {
  border-radius: 19px 19px 0 0;
}

.tasks-project-list.is-managing .task-project-new-row {
  border-top: 1px solid var(--line);
  border-radius: 0 0 19px 19px;
  margin-top: 0;
}

.tasks-empty-state {
  min-height: 260px;
  color: var(--muted);
  text-align: center;
  align-content: center;
  place-items: center;
  gap: 8px;
  display: grid;
}

.tasks-empty-state strong {
  color: var(--text);
  font-size: 15px;
}

.tasks-empty-state p {
  max-width: 320px;
  margin: 0;
  font-size: 12px;
  line-height: 1.5;
}

.tasks-toast {
  right: 16px;
  bottom: calc(env(safe-area-inset-bottom) + 82px);
  z-index: 130;
  border: 1px solid var(--line);
  background: var(--surface-menu);
  width: fit-content;
  max-width: min(420px, 100vw - 32px);
  color: var(--text);
  box-shadow: var(--shadow-float);
  border-radius: 13px;
  margin: 0 auto;
  padding: 9px 12px;
  font-size: 11.5px;
  position: fixed;
  left: 16px;
}

@media (max-width: 390px) {
  .task-working-context label {
    grid-template-columns: 66px minmax(0, 1fr);
  }

  .tasks-nav-list small {
    max-width: 220px;
  }

  .task-meta-row {
    grid-template-columns: minmax(0, 1fr) minmax(72px, auto) 16px;
  }

  .task-meta-label {
    font-size: 13px;
  }

  .task-meta-value {
    font-size: 13.5px;
  }
}

/* [project]/app/styles/vault.css [app-client] (css) */
.vault-workspace, .vault-note-shell {
  width: 100%;
  padding: 18px 2px 8px;
}

.vault-root-toolbar, .vault-surface-header {
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  display: flex;
}

.vault-root-toolbar {
  min-height: 50px;
  padding: 0 8px 12px;
}

.vault-root-toolbar > span {
  color: var(--muted);
  font-size: 13.5px;
}

.vault-search-button, .vault-icon-button {
  width: 44px;
  height: 44px;
  color: var(--text);
  background: #ffffff0b;
  border: 1px solid #ffffff1c;
  border-radius: 50%;
  flex: none;
  place-items: center;
  padding: 0;
  display: grid;
}

.vault-header-spacer {
  width: 44px;
  height: 44px;
}

.vault-root-section {
  margin-top: 19px;
}

.vault-root-section:first-of-type {
  margin-top: 0;
}

.vault-root-section > header, .vault-connections-section > header {
  justify-content: space-between;
  align-items: center;
  padding: 0 7px 8px;
  display: flex;
}

.vault-root-section h2, .vault-connections-section h2 {
  color: var(--muted);
  margin: 0;
  font-size: 13.5px;
  font-weight: 650;
}

.vault-root-section header span, .vault-connections-section header span {
  color: #7c8288;
  font-size: 13px;
}

.vault-pinned-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
  display: grid;
}

.vault-pinned-grid > button {
  min-height: 104px;
  color: var(--text);
  text-align: left;
  background: #ffffff0a;
  border: 1px solid #ffffff1c;
  border-radius: 19px;
  align-content: space-between;
  gap: 7px;
  padding: 13px;
  display: grid;
}

.vault-pinned-grid > button > svg {
  color: #9da3a8;
}

.vault-pinned-grid strong {
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 15.5px;
  font-weight: 650;
  line-height: 1.3;
  overflow: hidden;
}

.vault-pinned-grid small {
  color: var(--muted);
  font-size: 12.5px;
}

.vault-note-list {
  background: #ffffff08;
  border: 1px solid #ffffff1a;
  border-radius: 20px;
  overflow: hidden;
}

.vault-note-list.compact {
  border-radius: 17px;
}

.vault-note-row-wrap {
  position: relative;
}

.vault-note-row-wrap + .vault-note-row-wrap:before {
  content: "";
  background: #ffffff18;
  height: 1px;
  position: absolute;
  top: 0;
  left: 14px;
  right: 0;
}

.vault-note-row {
  width: 100%;
  min-height: 70px;
  color: var(--text);
  text-align: left;
  background: none;
  border: 0;
  grid-template-columns: 34px minmax(0, 1fr) 18px;
  align-items: center;
  gap: 10px;
  padding: 11px 13px;
  display: grid;
}

.vault-note-row-icon {
  width: 34px;
  height: 34px;
  color: var(--muted);
  background: #ffffff0f;
  border-radius: 12px;
  place-items: center;
  display: grid;
}

.vault-note-row-copy {
  min-width: 0;
}

.vault-note-row-copy strong, .vault-note-row-copy small {
  display: block;
}

.vault-note-row-copy strong {
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 15px;
  font-weight: 580;
  line-height: 1.35;
  overflow: hidden;
}

.vault-note-row-copy small {
  color: var(--muted);
  text-overflow: ellipsis;
  white-space: nowrap;
  margin-top: 4px;
  font-size: 12.5px;
  overflow: hidden;
}

.vault-note-row > svg {
  color: #777d83;
}

.vault-pin-button {
  z-index: 2;
  color: #6f757b;
  background: none;
  border: 0;
  border-radius: 50%;
  place-items: center;
  width: 44px;
  height: 44px;
  display: grid;
  position: absolute;
  top: 50%;
  right: 43px;
  transform: translateY(-50%);
}

.vault-pin-button.is-pinned {
  color: var(--text);
}

.vault-note-row-wrap:has(.vault-pin-button) .vault-note-row {
  padding-right: 94px;
}

.vault-all-notes-row {
  width: 100%;
  min-height: 58px;
  color: var(--text);
  text-align: left;
  background: #ffffff06;
  border: 1px solid #ffffff1a;
  border-radius: 18px;
  grid-template-columns: minmax(0, 1fr) auto 18px;
  align-items: center;
  gap: 10px;
  margin-top: 18px;
  padding: 10px 13px;
  display: grid;
}

.vault-all-notes-row strong, .vault-all-notes-row small {
  display: block;
}

.vault-all-notes-row strong {
  font-size: 14.5px;
}

.vault-all-notes-row small {
  color: var(--muted);
  margin-top: 3px;
  font-size: 12.5px;
}

.vault-all-notes-row > span:nth-child(2), .vault-all-notes-row > svg {
  color: var(--muted);
  font-size: 13px;
}

.vault-surface-header {
  min-height: 54px;
  padding: 0 5px 15px;
}

.vault-surface-header > div {
  flex: auto;
  min-width: 0;
}

.vault-surface-header h1 {
  letter-spacing: -.025em;
  margin: 0;
  font-size: 24px;
  font-weight: 700;
}

.vault-surface-header p {
  color: var(--muted);
  text-overflow: ellipsis;
  white-space: nowrap;
  margin: 3px 0 0;
  font-size: 13px;
  overflow: hidden;
}

.vault-search-field {
  min-height: 48px;
  color: var(--muted);
  background: #ffffff0b;
  border: 1px solid #ffffff1c;
  border-radius: 16px;
  grid-template-columns: 22px minmax(0, 1fr) 34px;
  align-items: center;
  gap: 8px;
  margin: 2px 4px 10px;
  padding: 0 10px 0 13px;
  display: grid;
}

.vault-search-field input {
  min-width: 0;
  color: var(--text);
  background: none;
  border: 0;
  outline: 0;
  font-size: 16px;
}

.vault-search-field input:focus {
  box-shadow: none;
  outline: 0;
}

.vault-search-field button {
  width: 44px;
  height: 44px;
  color: var(--muted);
  background: none;
  border: 0;
  border-radius: 50%;
  place-items: center;
  display: grid;
}

.vault-search-summary {
  color: var(--muted);
  padding: 0 8px 8px;
  font-size: 12.5px;
}

.vault-connections-section {
  margin-top: 20px;
}

.vault-empty-line {
  color: var(--muted);
  margin: 0;
  padding: 15px 13px;
  font-size: 13px;
}

.vault-note-shell {
  padding-top: 0;
}

.vault-note-shell > .inbox-note-editor {
  padding-top: 18px;
}

.vault-note-shell .inbox-note-topbar {
  position: relative;
}

.vault-note-shell .inbox-note-topbar > .inbox-note-back > button:last-child {
  z-index: 2;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  text-align: center !important;
  min-width: 64px !important;
  padding: 0 10px !important;
}

.vault-note-shell .inbox-note-editor:not(:has(.inbox-note-breadcrumb)) .inbox-note-back span {
  font-size: 0;
}

.vault-note-shell .inbox-note-editor:not(:has(.inbox-note-breadcrumb)) .inbox-note-back span:after {
  content: "Vault";
  font-size: 16px;
}

.vault-link-suggest {
  right: 14px;
  bottom: calc(env(safe-area-inset-bottom) + 78px);
  z-index: 145;
  background: #141414fa;
  border: 1px solid #ffffff24;
  border-radius: 17px;
  max-height: 250px;
  padding: 7px;
  position: fixed;
  left: 14px;
  overflow: hidden;
  box-shadow: 0 16px 48px #0000007a;
}

.vault-link-suggest > small {
  color: var(--muted);
  padding: 6px 9px 7px;
  font-size: 12px;
  font-weight: 650;
  display: block;
}

.vault-link-suggest > button {
  width: 100%;
  min-height: 44px;
  color: var(--text);
  text-align: left;
  background: none;
  border: 0;
  border-radius: 11px;
  align-items: center;
  gap: 9px;
  padding: 8px 10px;
  font-size: 14px;
  display: flex;
}

.vault-link-suggest > button:active {
  background: #ffffff12;
}

.vault-link-suggest > button svg {
  color: var(--muted);
}

.vault-link-suggest > p {
  color: var(--muted);
  margin: 0;
  padding: 10px;
  font-size: 13px;
}

.vault-note-extras {
  gap: 10px;
  margin: 14px 6px 0;
  display: grid;
}

.vault-note-utility-row {
  grid-template-columns: auto minmax(0, 1fr);
  gap: 8px;
  display: grid;
}

.vault-note-utility-row > button, .vault-snapshot-row {
  min-height: 46px;
  color: var(--muted);
  background: #ffffff08;
  border: 1px solid #ffffff1a;
  border-radius: 15px;
}

.vault-note-utility-row > button {
  white-space: nowrap;
  justify-content: center;
  align-items: center;
  gap: 7px;
  padding: 0 11px;
  font-size: 12.5px;
  display: flex;
}

.vault-note-utility-row > button:last-child {
  justify-content: flex-start;
  overflow: hidden;
}

.vault-note-utility-row > button.is-active {
  color: var(--text);
}

.vault-snapshot-row {
  text-align: left;
  grid-template-columns: minmax(0, 1fr) 18px;
  align-items: center;
  gap: 8px;
  width: 100%;
  padding: 9px 12px;
  display: grid;
}

.vault-snapshot-row > span {
  grid-template-columns: 22px minmax(0, 1fr);
  align-items: center;
  gap: 2px 8px;
  min-width: 0;
  display: grid;
}

.vault-snapshot-row strong, .vault-snapshot-row small {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

.vault-snapshot-row strong {
  color: var(--text);
  font-size: 13.5px;
  font-weight: 620;
}

.vault-snapshot-row small {
  color: var(--muted);
  grid-column: 2;
  font-size: 12px;
}

.vault-snapshot-row > svg {
  color: #777d83;
}

.vault-sheet-backdrop {
  z-index: 132;
}

.vault-snapshot-sheet, .vault-export-sheet {
  max-height: 88dvh;
  overflow-x: hidden;
}

.vault-snapshot-header {
  border-bottom: 1px solid #ffffff14;
}

.vault-snapshot-header > div {
  min-width: 0;
}

.vault-snapshot-header p {
  color: var(--muted);
  text-overflow: ellipsis;
  white-space: nowrap;
  margin: 2px 0 0;
  font-size: 12px;
  line-height: 1.3;
  overflow: hidden;
}

.vault-snapshot-body {
  min-width: 0;
  padding-top: 2px;
}

.vault-snapshot-source-card {
  background: #ffffff09;
  border: 1px solid #ffffff17;
  border-radius: 16px;
  grid-template-columns: 38px minmax(0, 1fr) 44px;
  align-items: center;
  gap: 10px;
  min-width: 0;
  margin-bottom: 13px;
  padding: 11px;
  display: grid;
}

.vault-snapshot-source-icon {
  width: 38px;
  height: 38px;
  color: var(--muted);
  background: #ffffff0f;
  border-radius: 12px;
  place-items: center;
  display: grid;
}

.vault-snapshot-source-copy {
  min-width: 0;
}

.vault-snapshot-source-copy strong, .vault-snapshot-source-copy small {
  text-overflow: ellipsis;
  white-space: nowrap;
  display: block;
  overflow: hidden;
}

.vault-snapshot-source-copy strong {
  font-size: 13.5px;
  font-weight: 620;
}

.vault-snapshot-source-copy small {
  color: var(--muted);
  margin-top: 3px;
  font-size: 11.5px;
}

.vault-snapshot-source-card > a {
  width: 44px;
  height: 44px;
  color: var(--blue);
  background: #ffffff0a;
  border: 1px solid #ffffff17;
  border-radius: 50%;
  place-items: center;
  text-decoration: none;
  display: grid;
}

.vault-snapshot-content {
  min-width: 0;
  padding: 15px 13px calc(env(safe-area-inset-bottom) + 20px);
  color: var(--text);
  overflow-wrap: anywhere;
  white-space: pre-wrap;
  word-break: break-word;
  background: #ffffff06;
  border: 1px solid #ffffff14;
  border-radius: 17px;
  margin: 0;
  font-size: 15px;
  line-height: 1.68;
}

.vault-export-body {
  text-align: center;
  justify-items: center;
  min-width: 0;
  padding-top: 8px;
  display: grid;
}

.vault-export-mark {
  width: 54px;
  height: 54px;
  color: var(--accent);
  background: #70c5ce1f;
  border-radius: 17px;
  place-items: center;
  margin: 4px 0 12px;
  display: grid;
}

.vault-export-body > strong {
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 100%;
  font-size: 15px;
  overflow: hidden;
}

.vault-export-body > p:not(.inline-error) {
  max-width: 330px;
  color: var(--muted);
  margin: 7px 0 0;
  font-size: 13px;
  line-height: 1.48;
}

.vault-export-body .inline-error {
  margin-top: 9px;
}

.vault-export-action {
  width: 100%;
  margin-top: 18px;
}

.vault-empty-state {
  min-height: 280px;
  color: var(--muted);
  text-align: center;
  align-content: center;
  place-items: center;
  gap: 8px;
  display: grid;
}

.vault-empty-state strong {
  color: var(--text);
  font-size: 16px;
}

.vault-empty-state p {
  max-width: 320px;
  margin: 0;
  font-size: 13.5px;
  line-height: 1.5;
}

.vault-toast {
  right: 16px;
  bottom: calc(env(safe-area-inset-bottom) + 82px);
  z-index: 140;
  width: fit-content;
  max-width: min(420px, 100vw - 32px);
  color: var(--text);
  background: #121212fa;
  border: 1px solid #ffffff1c;
  border-radius: 13px;
  margin: 0 auto;
  padding: 10px 13px;
  font-size: 13px;
  position: fixed;
  left: 16px;
}

@media (max-width: 390px) {
  .vault-pinned-grid {
    gap: 8px;
  }

  .vault-pinned-grid > button {
    min-height: 96px;
    padding: 11px;
  }

  .vault-note-utility-row {
    grid-template-columns: 104px minmax(0, 1fr);
  }

  .vault-note-utility-row > button {
    font-size: 12px;
  }
}

/* [project]/app/styles/viewport.css [app-client] (css) */
:root {
  --visual-keyboard-inset: 0px;
  --visual-viewport-top: 0px;
  --visual-viewport-height: 100dvh;
}

.vault-link-suggest {
  bottom: calc(env(safe-area-inset-bottom) + 78px + var(--visual-keyboard-inset, 0px));
}

.app-shell:has([data-shell-surface="focus"]):has(.chat-workspace) > .composer-card {
  display: grid !important;
}

/* [project]/app/styles/workspaces.css [app-client] (css) */
:where(.inbox-workspace, .tasks-workspace, .vault-workspace):not([data-shell-surface="focus"]) {
  padding-top: 10px;
}

.inbox-workspace > .inbox-heading, .tasks-workspace > .tasks-heading, .vault-workspace > .vault-root-toolbar {
  align-items: center;
  min-height: 48px;
  padding: 0 4px 10px;
}

.inbox-workspace > .inbox-heading p, .tasks-workspace > .tasks-heading p, .vault-workspace > .vault-root-toolbar > span {
  color: var(--muted);
  margin: 0;
  font-size: 13px;
  line-height: 1.35;
}

.inbox-search-button, .vault-search-button {
  background: #ffffff0b;
  border-color: #ffffff1a;
  width: 44px;
  height: 44px;
}

.inbox-heading-actions {
  flex: none;
  align-items: center;
  gap: 8px;
  display: flex;
}

.inbox-archive-button {
  border-radius: 21px;
  justify-content: center;
  align-items: center;
  gap: 6px;
  width: auto;
  min-width: 44px;
  padding: 0 11px;
  display: inline-flex;
}

.inbox-archive-button span {
  font-size: 13px;
  font-weight: 650;
}

.inbox-day-heading, .tasks-section-header, .vault-root-section > header, .vault-connections-section > header {
  padding: 0 4px 7px;
}

.inbox-day-heading strong, .tasks-section-header h2, .vault-root-section h2, .vault-connections-section h2 {
  color: var(--muted);
  letter-spacing: -.01em;
  font-size: 14px;
  font-weight: 650;
}

.inbox-day-heading span, .tasks-section-header span, .vault-root-section header span, .vault-connections-section header span {
  color: #7f858c;
  font-size: 13px;
}

.inbox-timeline {
  gap: 18px;
}

.tasks-home-section, .vault-root-section {
  margin-top: 16px;
}

.inbox-list, .tasks-list-card, .tasks-nav-list, .tasks-project-list, .vault-note-list, .assistant-today-list, .assistant-attention-list, .assistant-open-loops {
  background: var(--surface);
  border: 0;
  border-radius: 15px;
}

.inbox-item + .inbox-item:before, .task-list-row + .task-list-row:before, .tasks-nav-list > button + button:before, .tasks-project-list:not(.is-managing) > button + button:before, .vault-note-row-wrap + .vault-note-row-wrap:before {
  background: #ffffff1f;
  left: 12px;
}

.inbox-assistant-row {
  background: var(--surface);
  border: 0;
  border-radius: 15px;
  min-height: 64px;
  margin-bottom: 17px;
  padding: 9px 11px;
}

.inbox-assistant-icon {
  border-radius: 11px;
  width: 34px;
  height: 34px;
}

.inbox-assistant-copy strong {
  font-size: 15px;
}

.inbox-assistant-copy small {
  font-size: 13px;
}

.inbox-item {
  gap: 10px;
  min-height: 66px;
  padding: 10px 12px;
}

.inbox-item-title {
  font-size: 15.5px;
  font-weight: 570;
  line-height: 1.36;
}

.inbox-item-copy p, .inbox-item-trailing small {
  font-size: 13px;
}

.tasks-list-card.tasks-doing-card {
  background: var(--surface-raised);
  box-shadow: inset 0 0 0 1px #ffffff0a;
}

.task-list-row {
  gap: 9px;
  min-height: 64px;
  padding: 9px 11px;
}

.task-list-copy strong {
  font-size: 15px;
  font-weight: 590;
}

.task-list-copy small {
  margin-top: 3px;
  font-size: 13px;
}

.tasks-missed-row {
  background: var(--surface);
  border: 0;
  border-radius: 15px;
  min-height: 58px;
  margin: 15px 0;
  padding: 9px 11px;
}

.tasks-missed-row strong {
  font-size: 14.5px;
}

.tasks-missed-row small {
  font-size: 13px;
}

.tasks-nav-list, .tasks-project-list {
  margin-top: 15px;
}

.tasks-nav-list > button, .tasks-project-list:not(.is-managing) > button {
  min-height: 60px;
  padding: 8px 10px;
}

.tasks-nav-icon {
  border-radius: 10px;
  width: 32px;
  height: 32px;
}

.tasks-nav-list strong, .tasks-project-list strong {
  font-size: 14.5px;
}

.tasks-nav-list small, .tasks-nav-count {
  font-size: 13px;
}

.tasks-preview-note, .task-detail-surface .task-detail-section > .task-empty-line:not(.task-empty-card) {
  display: none;
}

.vault-pinned-grid {
  gap: 8px;
}

.vault-pinned-grid > button {
  background: var(--surface);
  border: 0;
  border-radius: 15px;
  min-height: 94px;
  padding: 12px;
}

.vault-pinned-grid strong {
  font-size: 15px;
}

.vault-pinned-grid small {
  font-size: 13px;
}

.vault-note-row {
  gap: 9px;
  min-height: 64px;
  padding: 9px 11px;
}

.vault-note-row-icon {
  border-radius: 10px;
  width: 32px;
  height: 32px;
}

.vault-note-row-copy strong {
  font-size: 15px;
  font-weight: 590;
}

.vault-note-row-copy small {
  margin-top: 3px;
  font-size: 13px;
}

.vault-all-notes-row {
  background: var(--surface);
  border: 0;
  border-radius: 15px;
  min-height: 58px;
  margin-top: 15px;
  padding: 9px 11px;
}

.vault-all-notes-row strong {
  font-size: 14.5px;
}

.vault-all-notes-row small {
  font-size: 13px;
}

.inbox-surface-header, .tasks-surface-header, .vault-surface-header {
  min-height: 54px;
  padding: 0 4px 14px;
}

.inbox-surface-header h1, .tasks-surface-header h1, .vault-surface-header h1 {
  letter-spacing: -.025em;
  font-size: 22px;
  font-weight: 700;
}

.inbox-surface-header p, .tasks-surface-header p, .vault-surface-header p {
  font-size: 13px;
}

.inbox-icon-button, .tasks-icon-button, .vault-icon-button {
  background: #ffffff0b;
  border-color: #ffffff1a;
}

.assistant-next-card {
  background: var(--surface-raised);
  border: 0;
  border-radius: 15px;
}

.assistant-dashboard-section {
  margin-top: 18px;
}

.assistant-dashboard-section > header {
  padding: 0 4px 7px;
}

.assistant-dashboard-section > header h2 {
  font-size: 14px;
}

.assistant-dashboard-section > header span {
  font-size: 13px;
}

@media (max-width: 390px) {
  .vault-pinned-grid > button {
    min-height: 90px;
    padding: 11px;
  }

  .inbox-item, .task-list-row, .vault-note-row {
    padding-left: 10px;
    padding-right: 10px;
  }

  .inbox-archive-button {
    padding: 0 10px;
  }
}

/* [project]/app/styles/finance.css [app-client] (css) */
.finance-overview-card {
  border-bottom: 1px solid var(--line);
  padding: 12px 2px 11px;
}

.overview-topline {
  justify-content: space-between;
  align-items: flex-start;
  gap: 10px;
  display: flex;
}

.asset-link {
  text-align: left;
  background: none;
  border: 0;
  min-width: 0;
  padding: 4px 0;
}

.asset-link span, .asset-link strong, .asset-link small {
  display: block;
}

.asset-link span {
  color: var(--muted);
  font-size: 13px;
}

.asset-link strong {
  letter-spacing: -.035em;
  white-space: nowrap;
  margin-top: 3px;
  font-size: 27px;
  line-height: 1.08;
}

.asset-link small {
  color: var(--accent);
  margin-top: 5px;
  font-size: 12.5px;
}

.month-control {
  white-space: nowrap;
  background: #ffffff0f;
  border: 1px solid #ffffff1a;
  border-radius: 16px;
  align-self: flex-start;
  align-items: center;
  gap: 0;
  margin-top: 3px;
  padding: 1px 2px;
  display: flex;
}

.month-control button {
  width: 44px;
  height: 44px;
  color: var(--muted);
  background: none;
  border: 0;
  border-radius: 50%;
  place-items: center;
  display: grid;
}

.month-control span {
  text-overflow: ellipsis;
  max-width: 72px;
  padding: 0 4px;
  font-size: 12px;
  font-weight: 600;
  overflow: hidden;
}

.flow-summary {
  border-top: 0;
  grid-template-columns: repeat(3, 1fr);
  margin-top: 5px;
  display: grid;
  overflow: hidden;
}

.flow-summary > button, .flow-summary > div {
  border: 0;
  border-left: 1px solid var(--line);
  text-align: left;
  background: none;
  min-width: 0;
  padding: 7px 10px;
}

.flow-summary > :first-child {
  border-left: 0;
  padding-left: 0;
}

.flow-summary span, .flow-summary strong, .flow-summary small {
  display: block;
}

.flow-summary span {
  color: var(--muted);
  font-size: 12px;
}

.flow-summary strong {
  text-overflow: ellipsis;
  white-space: nowrap;
  margin-top: 3px;
  font-size: 16px;
  overflow: hidden;
}

.flow-summary small {
  color: var(--accent);
  margin-top: 2px;
  font-size: 9.5px;
}

.net-flow {
  background: none !important;
  border-radius: 0 !important;
  padding-left: 10px !important;
}

.net-flow small {
  display: none !important;
}

.section-heading {
  justify-content: space-between;
  align-items: flex-end;
  gap: 12px;
  margin-bottom: 9px;
  padding: 0 2px;
  display: flex;
}

.section-heading h2 {
  letter-spacing: -.025em;
  margin: 0;
  font-size: 1.15rem;
}

.section-heading p {
  color: var(--muted);
  margin: 3px 0 0;
  font-size: .76rem;
}

.calendar-card {
  border-top: 0;
  border-bottom: 1px solid var(--line);
  margin: 0 0 15px;
  padding: 12px 0 14px;
}

.calendar-card .section-heading {
  align-items: center;
  margin-bottom: 8px;
  padding: 0;
}

.calendar-card .section-heading .eyebrow {
  display: none;
}

.calendar-card .section-heading h2 {
  letter-spacing: 0;
  font-size: 14px;
}

.calendar-controls {
  gap: 6px;
  display: flex;
}

.calendar-controls button {
  min-height: 44px;
  color: var(--muted);
  background: #ffffff0d;
  border: 1px solid #ffffff1a;
  border-radius: 22px;
  padding: 0 9px;
  font-size: 11.5px;
}

.calendar-weekdays {
  color: var(--muted);
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 4px;
  margin: 0 0 4px;
  display: grid;
}

.calendar-weekdays span {
  text-align: center;
  min-width: 0;
  font-size: 10px;
  font-weight: 650;
}

.calendar-grid {
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 4px;
  display: grid;
}

.calendar-cell-wrap {
  min-width: 0;
}

.calendar-cell {
  width: 100%;
  min-height: 70px;
  color: var(--text);
  background: none;
  border: 1px solid #0000;
  border-radius: 12px;
  grid-template-rows: 13px 24px minmax(0, 1fr);
  align-content: start;
  justify-items: center;
  gap: 2px;
  padding: 6px 2px;
  display: grid;
}

.calendar-cell.has-activity {
  background: var(--surface-row);
}

.calendar-cell:active {
  background: var(--surface-control-pressed);
}

.calendar-weekday {
  min-height: 13px;
  color: var(--muted);
  font-size: 10px;
}

.calendar-day-number {
  margin: 0;
  font-size: 14px;
  line-height: 24px;
}

.calendar-day-flows {
  align-content: start;
  justify-items: center;
  gap: 1px;
  min-width: 0;
  max-width: 100%;
  display: grid;
}

.calendar-day-flows small {
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 100%;
  font-size: 9px;
  line-height: 1.15;
  overflow: hidden;
}

.calendar-cell.is-selected {
  border-color: color-mix(in srgb, var(--accent) 55%, transparent);
  background: var(--accent-soft);
  box-shadow: none;
}

.calendar-cell.is-today .calendar-day-number {
  color: var(--accent);
  font-weight: 720;
}

.calendar-grid.is-month .calendar-cell {
  border-radius: 10px;
  grid-template-rows: 24px minmax(0, 1fr);
  min-height: 56px;
  padding: 5px 1px;
}

.calendar-grid.is-month .calendar-weekday {
  display: none;
}

.calendar-grid.is-month .calendar-day-flows small {
  font-size: 8.5px;
}

.quick-icon {
  width: 32px;
  height: 32px;
  color: var(--text);
  background: #ffffff14;
  border-radius: 11px;
  place-items: center;
  display: grid;
}

.quick-icon.income {
  background: #77cf6921;
}

.quick-icon.expense {
  background: #ff696521;
}

.quick-icon.luna {
  color: var(--accent);
  background: #70c5ce21;
  font-weight: 700;
}

.luna-reconcile-row {
  background: var(--surface);
  text-align: left;
  border: 0;
  border-radius: 13px;
  grid-template-columns: 34px minmax(0, 1fr) 20px;
  align-items: center;
  gap: 10px;
  width: 100%;
  min-height: 58px;
  margin: 15px 0 20px;
  padding: 9px 11px;
  display: grid;
}

.luna-reconcile-row > span:nth-child(2) {
  min-width: 0;
}

.luna-reconcile-row strong, .luna-reconcile-row small {
  text-overflow: ellipsis;
  white-space: nowrap;
  display: block;
  overflow: hidden;
}

.luna-reconcile-row strong {
  font-size: 15px;
}

.luna-reconcile-row small {
  color: var(--muted);
  margin-top: 2px;
  font-size: 12px;
}

.luna-reconcile-row.nested {
  margin: 14px 0;
}

.luna-action-pair {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin: 15px 0 20px;
  display: grid;
}

.luna-action-pair .luna-main-action {
  grid-template-columns: 30px minmax(0, 1fr);
  gap: 8px;
  width: 100%;
  min-width: 0;
  min-height: 58px;
  margin: 0;
  padding: 8px 9px;
}

.luna-action-pair .luna-main-action > svg {
  display: none;
}

.luna-action-pair .luna-main-action .quick-icon {
  width: 30px;
  height: 30px;
}

.luna-action-pair .luna-main-action strong {
  font-size: 13.5px;
  line-height: 1.2;
}

.luna-action-pair .luna-main-action small {
  margin-top: 3px;
  font-size: 10.5px;
  line-height: 1.2;
}

.context-sheet .luna-reconcile-row.nested {
  vertical-align: top;
  grid-template-columns: 30px minmax(0, 1fr);
  align-items: center;
  gap: 7px;
  width: calc(50% - 6px);
  min-height: 48px;
  margin: 10px 0 14px;
  padding: 7px 9px;
  display: inline-grid;
}

.context-sheet .luna-reconcile-row.nested + .luna-reconcile-row.nested {
  margin-left: 8px;
}

.context-sheet .luna-reconcile-row.nested .quick-icon {
  border-radius: 10px;
  width: 30px;
  height: 30px;
}

.context-sheet .luna-reconcile-row.nested strong {
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 13px;
  line-height: 1.2;
  overflow: hidden;
}

.context-sheet .luna-reconcile-row.nested small, .context-sheet .luna-reconcile-row.nested > svg {
  display: none;
}

.activity-section {
  margin-top: 4px;
}

.activity-section .section-heading {
  margin-bottom: 8px;
  padding: 0;
}

.activity-section .section-heading .eyebrow {
  display: none;
}

.activity-section .section-heading h2 {
  font-size: 19px;
}

.activity-count {
  color: var(--muted);
  font-size: .72rem;
}

.activity-list {
  background: var(--surface);
  border: 0;
  border-radius: 13px;
  overflow: hidden;
}

.activity-row {
  border: 0;
  border-top: 1px solid var(--line);
  text-align: left;
  background: none;
  grid-template-columns: 32px minmax(0, 1fr) auto;
  align-items: center;
  gap: 9px;
  width: 100%;
  min-height: 56px;
  padding: 8px 10px;
  display: grid;
}

.activity-row:first-child {
  border-top: 0;
}

.activity-icon {
  width: 32px;
  height: 32px;
  color: var(--muted);
  background: #ffffff14;
  border-radius: 9px;
  place-items: center;
  display: grid;
}

.activity-icon.income {
  background: #77cf6921;
}

.activity-icon.expense {
  background: #ff696521;
}

.activity-icon.luna {
  color: var(--accent);
  background: #70c5ce24;
  font-weight: 700;
}

.activity-section .activity-row.is-transfer .activity-icon {
  background: var(--surface-selected);
  color: var(--muted);
}

.activity-section .activity-row.is-transfer .activity-amount {
  color: var(--text);
}

.activity-copy {
  min-width: 0;
}

.activity-copy strong, .activity-copy small {
  text-overflow: ellipsis;
  white-space: nowrap;
  display: block;
  overflow: hidden;
}

.activity-copy strong {
  font-size: 14.5px;
  font-weight: 650;
}

.activity-copy small {
  color: var(--muted);
  margin-top: 2px;
  font-size: 11.5px;
}

.activity-amount {
  white-space: nowrap;
  font-size: 13px;
  font-weight: 650;
}

.daily-row.is-pending .activity-amount {
  color: var(--muted);
  font-weight: 500;
}

.empty-state {
  color: var(--muted);
  text-align: center;
  justify-items: center;
  gap: 5px;
  padding: 27px 15px;
  display: grid;
}

.empty-state p {
  margin: 0;
  font-size: .8rem;
}

.empty-state h3 {
  color: var(--text);
  margin: 4px 0 0;
  font-size: 1rem;
}

.empty-state button {
  min-height: 44px;
  color: var(--accent);
  background: #ffffff12;
  border: 1px solid #ffffff1f;
  border-radius: 22px;
  margin-top: 7px;
  padding: 0 14px;
}

.empty-state.compact {
  padding: 16px;
}

.context-picker-list > button {
  min-height: 58px;
  padding: 9px 12px;
}

.context-picker-list > button > span {
  min-width: 0;
}

.context-picker-list > button strong, .context-picker-list > button small {
  text-overflow: clip;
  white-space: normal;
  display: block;
  overflow: visible;
}

.context-picker-list > button strong {
  font-size: 14.5px;
  line-height: 1.3;
}

.context-picker-list > button small {
  color: var(--muted);
  margin-top: 3px;
  font-size: 11px;
  line-height: 1.35;
}

.context-flow {
  background: var(--surface);
  border: 1px solid #ffffff14;
  border-radius: 16px;
  margin: 0 0 18px;
}

.finance-management {
  background: #121417fb;
  border: 1px solid #ffffff1a;
  border-bottom: 0;
  border-radius: 27px 27px 0 0;
  width: min(100%, 760px);
  max-height: 94dvh;
  overflow: auto;
  box-shadow: 0 -20px 70px #00000061;
}

.management-tabs {
  z-index: 4;
  background: var(--surface);
  border: 1px solid #ffffff1a;
  border-radius: 18px;
  grid-template-columns: repeat(3, 1fr);
  gap: 4px;
  margin: 0 12px 13px;
  padding: 4px;
  display: grid;
  position: sticky;
  top: 66px;
}

.management-tabs button {
  min-height: 44px;
  color: var(--muted);
  background: none;
  border: 0;
  border-radius: 14px;
  font-size: .78rem;
}

.management-tabs button.is-active {
  color: var(--text);
  background: #ffffff1f;
}

.finance-management .management-content {
  padding: 0 12px calc(env(safe-area-inset-bottom) + 20px);
  gap: 14px;
  display: grid;
}

.finance-management .management-error {
  margin: 0 14px 12px;
}

.management-create-card, .luna-settings-card {
  background: #ffffff09;
  border: 1px solid #ffffff14;
  border-radius: 18px;
  padding: 13px;
  overflow: hidden;
}

.management-create-card {
  gap: 11px;
  display: grid;
}

.management-create-heading, .management-section-copy {
  justify-content: space-between;
  align-items: flex-start;
  gap: 10px;
  display: flex;
}

.management-create-heading h3, .management-section-copy h3 {
  letter-spacing: -.01em;
  margin: 0;
  font-size: 14.5px;
  font-weight: 700;
}

.management-create-heading p, .management-section-copy p {
  color: var(--muted);
  margin: 3px 0 0;
  font-size: 11.5px;
  line-height: 1.35;
}

.management-heading-icon {
  width: 32px;
  height: 32px;
  color: var(--muted);
  background: #ffffff12;
  border-radius: 11px;
  flex: 0 0 32px;
  place-items: center;
  display: grid;
}

.management-control-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  display: grid;
}

.management-control-grid.single {
  grid-template-columns: minmax(0, 1fr);
}

.management-control {
  gap: 5px;
  min-width: 0;
  display: grid;
}

.management-control > span {
  min-height: 16px;
  color: var(--muted);
  white-space: nowrap;
  font-size: 11px;
  line-height: 16px;
}

.management-control input, .management-control select, .luna-float-editor input {
  background: #ffffff0b;
  border: 1px solid #ffffff17;
  border-radius: 14px;
  width: 100%;
  min-width: 0;
  height: 48px;
  min-height: 48px;
  padding: 0 12px;
  font-size: 16px;
  box-shadow: none !important;
  outline: 0 !important;
}

.finance-management input:focus, .finance-management input:focus-visible, .finance-management select:focus, .finance-management select:focus-visible, .finance-management button:focus-visible, .finance-management summary:focus-visible {
  outline-offset: 0 !important;
  box-shadow: none !important;
  outline: 0 !important;
}

.finance-management input:focus, .finance-management select:focus {
  background: #ffffff0e;
  border-color: #ffffff24;
}

.management-add-button {
  width: 100%;
  min-height: 46px;
  color: var(--accent);
  background: #70c5ce24;
  border: 0;
  border-radius: 14px;
  justify-content: center;
  align-items: center;
  gap: 7px;
  font-size: 13px;
  font-weight: 700;
  display: inline-flex;
}

.management-list-section {
  gap: 8px;
  display: grid;
}

.management-card-list {
  background: #ffffff06;
  border: 1px solid #ffffff13;
  border-radius: 18px;
  overflow: hidden;
}

.management-card-list.archived {
  background: none;
  border: 0;
  border-radius: 0;
}

.management-item {
  border-top: 1px solid var(--line);
  padding: 10px 11px;
}

.management-item:first-child {
  border-top: 0;
}

.management-item.is-editing {
  background: #ffffff06;
}

.management-item-top {
  grid-template-columns: minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 9px;
  min-height: 40px;
  display: grid;
}

.management-item.category-item .management-item-top {
  grid-template-columns: minmax(0, 1fr) auto;
}

.management-item-copy {
  min-width: 0;
}

.management-item-copy strong, .management-item-copy small {
  text-overflow: ellipsis;
  white-space: nowrap;
  display: block;
  overflow: hidden;
}

.management-item-copy strong {
  font-size: 13.5px;
}

.management-item-copy small {
  color: var(--muted);
  margin-top: 2px;
  font-size: 10.5px;
}

.management-item-top > b {
  white-space: nowrap;
  font-size: 12px;
  font-weight: 650;
}

.management-item-actions {
  align-items: center;
  gap: 5px;
  display: flex;
}

.management-icon-action {
  width: 44px;
  min-width: 44px;
  height: 44px;
  min-height: 44px;
  color: var(--muted);
  background: #ffffff0b;
  border: 1px solid #ffffff13;
  border-radius: 12px;
  place-items: center;
  padding: 0;
  display: grid;
}

.management-icon-action.save {
  color: var(--accent);
  background: #70c5ce21;
  border-color: #70c5ce2e;
}

.management-inline-editor {
  border-top: 1px solid var(--line);
  gap: 9px;
  margin-top: 10px;
  padding-top: 10px;
  display: grid;
}

.management-edit-actions {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px;
  display: grid;
}

.management-edit-actions button {
  min-height: 44px;
  color: var(--muted);
  background: #ffffff0a;
  border: 1px solid #ffffff13;
  border-radius: 12px;
  justify-content: center;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  display: inline-flex;
}

.management-edit-actions button.save {
  color: var(--accent);
  background: #70c5ce1f;
  border-color: #70c5ce29;
}

.management-archived-card {
  background: #ffffff05;
  border: 1px solid #ffffff13;
  border-radius: 16px;
  overflow: hidden;
}

.management-archived-card summary {
  min-height: 48px;
  color: var(--muted);
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  padding: 0 12px;
  font-size: 12px;
  list-style: none;
  display: flex;
}

.management-archived-card summary::-webkit-details-marker {
  display: none;
}

.management-archived-card summary span {
  align-items: center;
  gap: 7px;
  display: inline-flex;
}

.management-archived-card summary b {
  font-size: 11px;
}

.management-archived-card[open] summary {
  border-bottom: 1px solid var(--line);
}

.luna-settings-card {
  padding: 0;
}

.luna-setting-row {
  border-top: 1px solid var(--line);
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  min-height: 54px;
  padding: 8px 11px;
  display: grid;
}

.luna-setting-row:first-child {
  border-top: 0;
}

.luna-setting-row > span, .luna-setting-row > div > span {
  color: var(--muted);
  font-size: 11.5px;
}

.luna-setting-row > strong, .luna-setting-value > strong {
  white-space: nowrap;
  font-size: 12.5px;
}

.luna-float-setting > div:first-child small {
  color: var(--muted);
  margin-top: 2px;
  font-size: 10px;
  display: block;
}

.luna-setting-value, .luna-float-editor {
  justify-content: flex-end;
  align-items: center;
  gap: 6px;
  display: flex;
}

.luna-float-editor input {
  text-align: right;
  width: 126px;
  height: 44px;
  min-height: 44px;
}

.finance-management .luna-management-actions {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin: 0;
  display: grid;
}

.finance-management .luna-management-actions button {
  text-align: left;
  background: #ffffff09;
  border: 1px solid #ffffff17;
  border-radius: 16px;
  grid-template-columns: 32px minmax(0, 1fr);
  align-items: center;
  gap: 9px;
  min-width: 0;
  min-height: 62px;
  padding: 9px 10px;
  display: grid;
}

.finance-management .luna-management-actions strong, .finance-management .luna-management-actions small {
  text-overflow: ellipsis;
  display: block;
  overflow: hidden;
}

.finance-management .luna-management-actions strong {
  white-space: nowrap;
  font-size: 13px;
}

.finance-management .luna-management-actions small {
  color: var(--muted);
  white-space: normal;
  margin-top: 3px;
  font-size: 10.5px;
  line-height: 1.25;
}

.finance-management .config-row {
  grid-template-columns: minmax(0, 1fr) auto;
}

.finance-management .config-row strong {
  text-align: right;
  color: var(--accent);
  justify-self: end;
}

.luna-status-card {
  background: #70c5ce1a;
  border-radius: 15px;
  gap: 4px;
  padding: 13px;
  display: grid;
}

.luna-status-card span, .luna-status-card small {
  color: var(--muted);
  font-size: .7rem;
}

.luna-status-card strong {
  color: var(--accent);
  font-size: .95rem;
}

.management-history {
  gap: 6px;
  display: grid;
}

.management-history h3 {
  margin-bottom: 0;
}

.management-history-row {
  border-top: 1px solid var(--line);
  grid-template-columns: 1fr auto;
  gap: 3px 10px;
  padding: 9px 0;
  display: grid;
}

.management-history-row span, .management-history-row strong {
  font-size: .76rem;
}

.management-history-row small {
  color: var(--muted);
  grid-column: 1 / -1;
  font-size: .68rem;
}

@media (max-width: 390px) {
  .asset-link strong {
    font-size: 25px;
  }

  .flow-summary strong {
    font-size: 14px;
  }

  .calendar-grid {
    gap: 4px;
  }

  .management-control-grid {
    gap: 7px;
  }

  .management-control > span {
    font-size: 10.5px;
  }

  .management-item {
    padding-left: 9px;
    padding-right: 9px;
  }

  .management-item-top {
    gap: 7px;
  }

  .management-icon-action {
    border-radius: 11px;
    width: 44px;
    min-width: 44px;
    height: 44px;
    min-height: 44px;
  }

  .management-item-top > b {
    font-size: 11px;
  }

  .luna-float-editor input {
    width: 112px;
  }
}

@media (max-width: 340px) {
  .overview-topline {
    flex-direction: column;
    align-items: stretch;
    gap: 8px;
  }

  .month-control {
    justify-content: space-between;
    align-self: stretch;
    margin-top: 0;
  }

  .month-control span {
    max-width: none;
  }

  .calendar-weekdays, .calendar-grid {
    gap: 0;
  }

  .context-sheet .luna-reconcile-row.nested {
    gap: 5px;
    width: calc(50% - 5px);
    padding-left: 7px;
    padding-right: 7px;
  }

  .context-sheet .luna-reconcile-row.nested + .luna-reconcile-row.nested {
    margin-left: 6px;
  }

  .context-sheet .luna-reconcile-row.nested strong {
    font-size: 12px;
  }
}

/* [project]/app/styles/finance-charts.css [app-client] (css) */
.sheet-section .plain-list > button {
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  min-height: 58px;
  padding: 9px 12px;
}

.sheet-section .plain-list > button > span {
  min-width: 0;
}

.sheet-section .plain-list > button strong, .sheet-section .plain-list > button small {
  text-overflow: clip;
  white-space: normal;
  display: block;
  overflow: visible;
}

.sheet-section .plain-list > button strong {
  font-size: 14.5px;
  line-height: 1.3;
}

.sheet-section .plain-list > button small {
  color: var(--muted);
  margin-top: 3px;
  font-size: 11px;
  line-height: 1.35;
}

.sheet-section .plain-list > button > b {
  white-space: nowrap;
  align-items: center;
  gap: 4px;
  font-size: 14px;
  display: inline-flex;
}

.finance-chart-card {
  border: 1px solid var(--line);
  background: var(--surface-row);
  border-radius: 18px;
  margin: 0 0 14px;
  padding: 13px;
}

.finance-chart-loading {
  color: var(--muted);
  text-align: center;
  font-size: 12.5px;
}

.finance-chart-header {
  justify-content: space-between;
  align-items: flex-end;
  gap: 14px;
  margin-bottom: 10px;
  display: flex;
}

.finance-chart-header span, .finance-chart-header strong {
  display: block;
}

.finance-chart-header span {
  color: var(--muted);
  font-size: 11.5px;
}

.finance-chart-header strong {
  margin-top: 3px;
  font-size: 22px;
  line-height: 1.15;
}

.finance-chart-header small {
  color: var(--muted);
  text-align: right;
  font-size: 10.5px;
}

.finance-line-chart {
  width: 100%;
  height: 125px;
  overflow: visible;
}

.finance-line-chart polyline {
  fill: none;
  stroke: var(--accent);
  stroke-width: 3px;
  stroke-linecap: round;
  stroke-linejoin: round;
  vector-effect: non-scaling-stroke;
}

.finance-line-chart circle {
  fill: var(--accent);
}

.finance-line-labels {
  grid-template-columns: repeat(6, 1fr);
  display: grid;
}

.finance-line-labels span {
  color: var(--muted);
  text-align: center;
  font-size: 10px;
}

.finance-chart-backdrop {
  z-index: 115;
}

.finance-cashflow-sheet {
  background: var(--surface-sheet);
}

.finance-bar-chart {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  align-items: end;
  gap: 10px;
  height: 150px;
  padding-top: 4px;
  display: grid;
}

.finance-bar-column {
  grid-template-rows: 1fr auto;
  gap: 6px;
  min-width: 0;
  height: 100%;
  display: grid;
}

.finance-bar-pair {
  grid-template-columns: 1fr 1fr;
  align-items: end;
  gap: 5px;
  height: 100%;
  display: grid;
}

.finance-bar {
  border-radius: 8px 8px 4px 4px;
  width: 100%;
  min-height: 2px;
  display: block;
}

.finance-bar.income-bar {
  background: var(--green);
}

.finance-bar.expense-bar {
  background: var(--red);
}

.finance-bar-column > small {
  color: var(--muted);
  text-align: center;
  font-size: 10px;
}

.finance-breakdown-list {
  background: var(--surface-raised);
  border-radius: 15px;
  overflow: hidden;
}

.finance-breakdown-row {
  border-top: 1px solid var(--line);
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  min-height: 54px;
  padding: 9px 12px;
  display: grid;
}

.finance-breakdown-row:first-child {
  border-top: 0;
}

.finance-breakdown-row span {
  min-width: 0;
  font-size: 14px;
}

.finance-breakdown-row strong {
  white-space: nowrap;
  font-size: 14px;
}

.finance-breakdown-row.is-button {
  width: 100%;
  color: inherit;
  text-align: left;
  background: none;
  border-bottom: 0;
  border-left: 0;
  border-right: 0;
}

.finance-breakdown-row.is-button > span strong, .finance-breakdown-row.is-button > span small {
  display: block;
}

.finance-breakdown-row.is-button > span strong {
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 14px;
  overflow: hidden;
}

.finance-breakdown-row.is-button > span small {
  color: var(--muted);
  margin-top: 2px;
  font-size: 10.5px;
}

.finance-breakdown-row.is-button > b {
  white-space: nowrap;
  align-items: center;
  gap: 6px;
  display: inline-flex;
}

.account-balance-chart {
  margin-top: 12px;
}

.account-chart-modes {
  background: var(--surface-soft);
  border-radius: 16px;
  gap: 3px;
  margin: 0 0 10px;
  padding: 3px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.account-chart-modes button {
  min-height: 44px;
  color: var(--muted);
  background: none;
  border: 0;
  border-radius: 13px;
  font-size: 11.5px;
}

.account-chart-modes button.is-active {
  background: var(--surface-selected);
  color: var(--text);
}

.account-chart-labels {
  grid-template-columns: repeat(3, 1fr);
  display: grid;
}

.account-chart-labels span {
  color: var(--muted);
  text-align: center;
  font-size: 10px;
}

.account-chart-labels span:first-child {
  text-align: left;
}

.account-chart-labels span:last-child {
  text-align: right;
}

.finance-daily-flow-chart {
  align-items: stretch;
  gap: 2px;
  min-width: 0;
  height: 146px;
  padding-top: 4px;
  display: grid;
}

.finance-daily-flow-column {
  grid-template-rows: 1fr 14px;
  gap: 4px;
  min-width: 0;
  height: 100%;
  display: grid;
}

.finance-daily-flow-track {
  justify-content: center;
  align-items: flex-end;
  min-width: 0;
  height: 100%;
  display: flex;
}

.finance-daily-flow-bar {
  background: var(--green);
  border-radius: 5px 5px 2px 2px;
  width: min(100%, 7px);
  min-width: 2px;
  min-height: 2px;
  display: block;
}

.finance-daily-flow-chart.expense .finance-daily-flow-bar {
  background: var(--red);
}

.finance-daily-flow-column > small {
  color: var(--muted);
  text-align: center;
  font-size: 8.5px;
  line-height: 14px;
  overflow: visible;
}

.finance-category-history-list {
  border: 1px solid var(--line);
  background: var(--surface-row);
  border-radius: 17px;
  overflow: hidden;
}

.finance-category-history-row {
  border: 0;
  border-top: 1px solid var(--line);
  width: 100%;
  min-height: 58px;
  color: inherit;
  text-align: left;
  background: none;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  padding: 9px 11px;
  display: grid;
}

.finance-category-history-row:first-child {
  border-top: 0;
}

.finance-category-history-row > span {
  min-width: 0;
}

.finance-category-history-row strong, .finance-category-history-row small {
  display: block;
}

.finance-category-history-row > span > strong {
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 13.5px;
  overflow: hidden;
}

.finance-category-history-row small {
  color: var(--muted);
  text-overflow: ellipsis;
  white-space: nowrap;
  margin-top: 3px;
  font-size: 10.5px;
  line-height: 1.3;
  overflow: hidden;
}

.finance-category-history-row > b {
  white-space: nowrap;
  font-size: 12.5px;
}

.compact-flow-total {
  margin-bottom: 12px;
}

.finance-category-day-list, .luna-context-history {
  gap: 12px;
  display: grid;
}

.finance-category-day-block, .luna-context-day {
  border: 1px solid var(--line);
  background: var(--surface-row);
  border-radius: 17px;
  overflow: hidden;
}

.finance-category-day-heading, .luna-context-day > header {
  border-bottom: 1px solid var(--line);
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  min-height: 46px;
  padding: 8px 11px;
  display: flex;
}

.finance-category-day-heading > div strong, .finance-category-day-heading > div small, .luna-context-day > header strong, .luna-context-day > header small {
  display: block;
}

.finance-category-day-heading > div strong, .luna-context-day > header strong {
  text-transform: capitalize;
  font-size: 13px;
}

.finance-category-day-heading > div small, .luna-context-day > header small {
  color: var(--muted);
  margin-top: 2px;
  font-size: 10.5px;
}

.finance-category-day-heading > b {
  white-space: nowrap;
  font-size: 12.5px;
}

.finance-category-day-block .finance-category-history-list, .luna-context-day .activity-list {
  background: none;
  border: 0;
  border-radius: 0;
}

.luna-context-day .activity-row {
  border-radius: 0;
}

@media (max-width: 390px) {
  .finance-chart-card {
    padding-left: 11px;
    padding-right: 11px;
  }

  .finance-chart-header strong {
    font-size: 20px;
  }

  .finance-bar-chart {
    gap: 7px;
  }

  .finance-daily-flow-chart {
    gap: 1px;
  }

  .finance-daily-flow-bar {
    width: min(100%, 6px);
  }

  .finance-daily-flow-column > small {
    font-size: 8px;
  }
}

/* [project]/app/styles/editor.css [app-client] (css) */
.editor-sheet {
  overflow: auto;
}

.editor-sheet .form-stack {
  gap: 12px;
}

.editor-topbar {
  grid-template-columns: 44px minmax(0, 1fr) 44px;
  align-items: center;
  gap: 9px;
  padding: 10px 12px 12px;
  display: grid;
}

.kind-switch {
  border: 1px solid var(--line);
  background: var(--surface-row);
  border-radius: 22px;
  grid-template-columns: repeat(3, 1fr);
  gap: 3px;
  padding: 3px;
  display: grid;
}

.kind-switch button {
  min-height: 44px;
  color: var(--text);
  background: none;
  border: 0;
  border-radius: 21px;
  font-size: 1.18rem;
}

.kind-switch button:is(:active, .is-active) {
  background: var(--surface-selected);
}

.editor-sheet .editor-topbar > .icon-button[aria-label="Quay lại"] svg {
  display: none;
}

.editor-sheet .editor-topbar > .icon-button[aria-label="Quay lại"]:after {
  content: "×";
  font-size: 31px;
  font-weight: 300;
  line-height: 1;
}

.editor-sheet .money-editor-field {
  border: 1px solid var(--line);
  background: var(--surface-row);
  border-radius: 20px;
  grid-template-columns: 108px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  min-height: 58px;
  margin: 0;
  padding: 0 13px;
  display: grid;
  overflow: hidden;
}

.editor-sheet .money-editor-field > span {
  color: var(--text);
  font-size: 16px;
  font-weight: 500;
}

.editor-sheet .money-editor-field > div {
  align-items: center;
  gap: 5px;
  min-width: 0;
  display: flex;
}

.editor-sheet .money-editor-field input {
  width: 100%;
  min-width: 0;
  min-height: 56px;
  color: var(--text);
  text-align: left;
  background: none;
  border: 0;
  border-radius: 0;
  outline: 0;
  padding: 0;
  font-size: 18px;
  font-weight: 500;
}

.editor-sheet .money-editor-field input::placeholder {
  color: var(--muted);
  opacity: 1;
}

.editor-sheet .money-editor-field input:focus {
  box-shadow: none;
}

.editor-sheet .money-editor-field b {
  color: var(--muted);
  font-size: 12px;
}

.editor-sheet .money-editor-field small {
  display: none;
}

.editor-sheet .form-stack > .field {
  border: 1px solid var(--line);
  background: var(--surface-row);
  border-radius: 20px;
  grid-template-columns: 108px minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  min-height: 58px;
  margin: 0;
  padding: 0 13px;
  display: grid;
  position: relative;
}

.editor-sheet .form-stack > .field > span {
  color: var(--text);
  font-size: 16px;
  font-weight: 500;
}

.editor-sheet .form-stack > .field input, .editor-sheet .form-stack > .field select {
  width: 100%;
  min-width: 0;
  min-height: 56px;
  color: var(--text);
  text-align: left;
  background: none;
  border: 0;
  border-radius: 0;
  outline: 0;
  grid-column: 2 / -1;
  padding: 0 28px 0 0;
  font-size: 16px;
}

.editor-sheet .form-stack > .field input::placeholder {
  color: var(--muted);
  opacity: 1;
}

.editor-sheet .form-stack > .field input:focus, .editor-sheet .form-stack > .field select:focus {
  box-shadow: none;
}

.editor-sheet .editor-form-card {
  border: 1px solid var(--line);
  background: var(--surface-row);
  border-radius: 20px;
  overflow: hidden;
}

.editor-sheet .editor-form-card > .editor-picker-field, .editor-sheet .editor-form-card > .editor-row-field {
  min-height: 58px;
  color: var(--text);
  text-align: left;
  background: none;
  border: 0;
  border-radius: 0;
  align-items: center;
  gap: 10px;
  margin: 0;
  padding: 0 13px;
  display: grid;
  position: relative;
  border-top: 1px solid var(--line) !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
}

.editor-sheet .editor-form-card > :first-child {
  border-top: 0 !important;
}

.editor-sheet .editor-form-card > .editor-picker-field {
  grid-template-columns: 92px minmax(0, 1fr) 18px !important;
}

.editor-sheet .editor-form-card > .editor-row-field {
  grid-template-columns: 92px minmax(0, 1fr) !important;
}

.editor-sheet .editor-row-field > span, .editor-sheet .editor-picker-field > span {
  color: var(--text);
  font-size: 16px;
  font-weight: 500;
}

.editor-sheet .editor-picker-field strong {
  min-width: 0;
  color: var(--text);
  text-overflow: ellipsis;
  white-space: nowrap;
  padding-right: 4px;
  font-size: 16px;
  font-weight: 450;
  overflow: hidden;
  text-align: right !important;
  justify-self: stretch !important;
  width: 100% !important;
}

.editor-sheet .editor-picker-field > svg {
  color: var(--blue);
  justify-self: end;
}

.editor-sheet .editor-form-card .editor-row-field input {
  min-height: 56px;
  color: var(--text);
  text-align: left;
  background: none;
  border: 0;
  border-radius: 0;
  outline: 0;
  padding: 0 28px 0 0;
  font-size: 16px;
  grid-column: 2 !important;
  width: 100% !important;
  min-width: 0 !important;
}

.editor-sheet .editor-form-card .editor-row-field input::placeholder {
  color: var(--muted);
  opacity: 1;
}

.editor-sheet .editor-form-card .editor-row-field input:focus {
  box-shadow: none;
}

.editor-sheet .editor-form-card > .editor-picker-field:active {
  background: var(--surface-row-pressed);
}

.editor-sheet .editor-date-row {
  border: 1px solid var(--line);
  background: var(--surface-row);
  border-radius: 20px;
  align-items: center;
  gap: 8px;
  min-height: 58px;
  margin: 0;
  padding: 8px 13px;
  display: grid;
  overflow: hidden;
  grid-template-columns: 76px minmax(0, 1fr) !important;
  width: 100% !important;
}

.editor-sheet .editor-date-row > span {
  color: var(--text);
  font-size: 16px;
  font-weight: 500;
}

.editor-sheet .editor-date-controls {
  align-items: center;
  gap: 6px !important;
  width: 100% !important;
  min-width: 0 !important;
  display: flex !important;
}

.editor-sheet .editor-date-controls input {
  background: var(--surface-control);
  min-height: 44px;
  color: var(--text);
  text-align: center;
  color-scheme: normal;
  border: 0;
  border-radius: 15px;
  outline: 0;
  font-size: 14px;
}

.editor-sheet .editor-date-controls input[type="date"] {
  overflow: hidden;
  flex: 1 1 0 !important;
  width: 0 !important;
  min-width: 0 !important;
  max-width: 100% !important;
  padding-left: 6px !important;
  padding-right: 6px !important;
}

.editor-sheet .editor-date-controls input[type="time"] {
  flex: 0 0 88px !important;
  width: 88px !important;
  min-width: 88px !important;
  max-width: 88px !important;
  padding-left: 4px !important;
  padding-right: 4px !important;
}

.editor-sheet input:focus, .editor-sheet input:focus-visible, .editor-sheet select:focus, .editor-sheet select:focus-visible {
  box-shadow: none !important;
  outline: 0 !important;
}

.editor-sheet .money-editor-field:focus-within, .editor-sheet .editor-row-field:focus-within, .editor-sheet .form-stack > .field:focus-within {
  box-shadow: none !important;
}

.editor-picker-sheet .plain-list > button {
  width: 100%;
  min-height: 58px;
  padding-left: 14px;
  padding-right: 14px;
  grid-template-columns: minmax(0, 1fr) 26px !important;
}

.editor-picker-sheet .plain-list > button > span {
  min-width: 0;
}

.editor-picker-sheet .plain-list > button strong {
  white-space: normal;
  line-height: 1.3;
  overflow: visible;
}

.editor-picker-sheet .plain-list > button.is-selected strong, .editor-picker-sheet .plain-list > button.is-selected svg {
  color: var(--blue);
}

.editor-picker-sheet .plain-list > button > svg, .editor-picker-sheet .plain-list > button > .check-glyph {
  justify-self: end;
}

.delete-button {
  border: 1px solid color-mix(in srgb, var(--red) 20%, transparent);
  background: var(--surface-danger);
  min-height: 50px;
  color: var(--red);
  border-radius: 15px;
  justify-content: center;
  align-items: center;
  gap: 7px;
  display: inline-flex;
}

.confirm-layer {
  z-index: 8;
  background: var(--surface-scrim);
  place-items: end center;
  padding: 14px;
  display: grid;
  position: absolute;
  inset: 0;
}

.confirm-card {
  border: 1px solid var(--line-strong);
  background: var(--surface-sheet);
  width: min(100%, 480px);
  box-shadow: var(--shadow);
  text-align: center;
  border-radius: 21px;
  padding: 18px;
}

.confirm-card h3 {
  margin: 0;
  font-size: 1.05rem;
}

.confirm-card p {
  color: var(--muted);
  margin: 6px 0 14px;
  font-size: .78rem;
}

.confirm-card button {
  width: 100%;
  margin-top: 8px;
  display: flex;
}

.balance-actual-field .balance-actual-control {
  grid-column: 2 / -1;
  grid-template-columns: minmax(0, 1fr) 44px;
  align-items: center;
  gap: 7px;
  width: 100%;
  display: grid;
}

.balance-actual-field input {
  font-weight: 650;
  text-align: right !important;
  grid-column: auto !important;
  padding: 0 !important;
}

.balance-sign-toggle {
  background: var(--surface-control);
  width: 44px;
  height: 44px;
  color: var(--text);
  border: 0;
  border-radius: 22px;
  font-weight: 700;
}

.balance-sign-toggle:active {
  background: var(--surface-control-pressed);
}

.luna-gom-preview strong, .luna-gom-preview p, .luna-gom-preview small {
  display: block;
}

.luna-gom-preview p {
  margin: 5px 0 2px;
}

.luna-gom-preview small {
  color: var(--muted);
  font-size: 12px;
}

.luna-gom-preview.is-warning {
  background: color-mix(in srgb, var(--warning) 10%, transparent);
  color: var(--warning);
}

@media (max-width: 390px) {
  .editor-sheet .money-editor-field, .editor-sheet .form-stack > .field {
    grid-template-columns: 96px minmax(0, 1fr) auto;
  }

  .editor-sheet .editor-form-card > .editor-picker-field {
    grid-template-columns: 84px minmax(0, 1fr) 18px !important;
  }

  .editor-sheet .editor-form-card > .editor-row-field {
    grid-template-columns: 84px minmax(0, 1fr) !important;
  }

  .editor-sheet .editor-date-row {
    grid-template-columns: 70px minmax(0, 1fr) !important;
  }

  .editor-sheet .editor-date-controls input[type="time"] {
    flex-basis: 82px !important;
    width: 82px !important;
    min-width: 82px !important;
    max-width: 82px !important;
  }
}

/* [project]/app/styles/chat.css [app-client] (css) */
.chat-backdrop {
  z-index: 69;
  background: var(--canvas);
  pointer-events: none;
  position: fixed;
  inset: 0;
}

.app-shell:has(.chat-workspace) {
  --chat-composer-reserve: 104px;
}

.app-shell:has(.chat-workspace):has( > .composer-card.has-meta-rail) {
  --chat-composer-reserve: 142px;
}

.app-shell:has(.chat-workspace):has( > .composer-card textarea:focus) {
  --chat-composer-reserve: 214px;
}

.chat-workspace {
  top: var(--visual-viewport-top, 0px);
  z-index: 70;
  width: min(100%, 760px);
  height: var(--visual-viewport-height, 100dvh);
  padding: calc(env(safe-area-inset-top) + 4px) 12px 0;
  background: var(--canvas);
  color: var(--text);
  grid-template-rows: auto minmax(0, 1fr);
  display: grid;
  position: fixed;
  bottom: auto;
  left: 50%;
  right: 0;
  overflow: hidden;
  transform: translateX(-50%);
}

.chat-workspace.is-panel {
  padding: calc(env(safe-area-inset-top) + 4px) 12px 0;
  background: var(--canvas);
  box-shadow: none;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  border: 0;
  border-radius: 0;
  grid-template-rows: auto minmax(0, 1fr);
}

.chat-panel-handle {
  background: var(--line-strong);
  border-radius: 999px;
  place-self: center;
  width: 38px;
  height: 4px;
}

.chat-toolbar {
  background: linear-gradient(180deg, color-mix(in srgb, var(--canvas) 99%, transparent) 60%, transparent);
  justify-content: space-between;
  align-items: center;
  min-height: 58px;
  padding: 5px 1px 11px;
  display: flex;
  position: relative;
}

.chat-workspace.is-panel .chat-toolbar {
  min-height: 58px;
  padding: 5px 1px 11px;
}

.chat-workspace.is-panel .chat-panel-handle, .chat-workspace.is-panel .chat-panel-title {
  display: none;
}

.chat-dashboard-button, .chat-toolbar-actions {
  border: 1px solid var(--line);
  background: var(--surface-control);
  box-shadow: inset 0 1px 0 color-mix(in srgb, var(--surface) 55%, transparent);
  -webkit-backdrop-filter: blur(20px);
  backdrop-filter: blur(20px);
}

.chat-dashboard-button {
  width: 44px;
  height: 44px;
  color: var(--text);
  border-radius: 22px;
  flex: none;
  place-items: center;
  padding: 0;
  display: grid;
}

.chat-dashboard-button:active {
  background: var(--surface-control-pressed);
}

.chat-dashboard-button svg, .chat-toolbar-actions svg {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9px;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.chat-dashboard-button svg {
  width: 20px;
  height: 20px;
}

.chat-toolbar-actions {
  border-radius: 24px;
  flex: none;
  justify-content: center;
  align-items: center;
  gap: 2px;
  width: auto;
  height: 48px;
  padding: 2px;
  display: flex;
}

.chat-toolbar-actions button {
  width: 44px;
  height: 44px;
  color: var(--text);
  background: none;
  border: 0;
  border-radius: 22px;
  flex: 0 0 44px;
  place-items: center;
  padding: 0;
  display: grid;
}

.chat-toolbar-actions button:active {
  background: var(--surface-control-pressed);
}

.chat-toolbar-actions svg {
  width: 19px;
  height: 19px;
}

.chat-thread {
  min-height: 0;
  padding: 3px 1px calc(var(--chat-composer-reserve, 104px) + env(safe-area-inset-bottom));
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  flex-direction: column;
  gap: 12px;
  display: flex;
  overflow: hidden auto;
}

.chat-workspace.is-panel .chat-thread {
  padding-top: 4px;
}

.chat-thread .chat-message {
  background: none;
  border: 0;
  border-radius: 18px;
  margin: 0;
  padding: 11px 12px;
}

.chat-thread .chat-message.is-user {
  background: var(--accent-soft);
  align-self: flex-end;
  width: auto;
  max-width: 88%;
}

.chat-thread .chat-message.is-assistant {
  align-self: flex-start;
  width: auto;
  max-width: 96%;
  padding-left: 2px;
}

.chat-thread .chat-message p, .chat-empty-state p, .chat-workspace .clarify-card p {
  color: var(--text);
  overflow-wrap: anywhere;
  margin: 0;
  font-size: 15px;
  line-height: 1.48;
}

.chat-thread .chat-message small {
  color: var(--muted);
  margin-top: 4px;
  font-size: 13px;
  display: block;
}

.chat-empty-state {
  width: 100%;
  max-width: 520px;
  color: var(--muted);
  text-align: center;
  gap: 5px;
  margin: auto;
  padding: 0 16px;
  display: grid;
}

.chat-empty-state small, .chat-workspace .clarify-card small {
  color: var(--muted);
  font-size: 13px;
  line-height: 1.4;
}

.chat-workspace .clarify-card {
  border: 1px solid var(--line);
  background: var(--surface-row);
  border-radius: 18px;
  gap: 5px;
  width: min(96%, 620px);
  padding: 12px;
  display: grid;
}

.chat-error {
  background: var(--surface-danger);
  color: var(--red);
  border-radius: 13px;
  margin: 0;
  padding: 10px 12px;
}

.chat-history-backdrop {
  z-index: 110;
  background: var(--surface-scrim);
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
  overscroll-behavior: none;
  justify-content: center;
  align-items: flex-end;
  display: flex;
  position: fixed;
  inset: 0;
}

.chat-history-sheet {
  border: 1px solid var(--line);
  background: var(--surface-sheet);
  width: min(100%, 760px);
  max-height: 72dvh;
  box-shadow: var(--shadow);
  -webkit-backdrop-filter: blur(30px) saturate(150%);
  backdrop-filter: blur(30px) saturate(150%);
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  border-bottom: 0;
  border-radius: 26px 26px 0 0;
  overflow: auto;
}

.chat-history-sheet .sheet-header {
  grid-template-columns: 44px minmax(0, 1fr) 44px;
}

.chat-history-sheet .sheet-header h2 {
  text-align: center;
  margin: 0;
  font-size: 19px;
}

.chat-history-list {
  padding: 0 12px calc(env(safe-area-inset-bottom) + 14px);
}

.chat-history-item {
  border: 0;
  border-top: 1px solid var(--line);
  width: 100%;
  min-height: 62px;
  color: var(--text);
  text-align: left;
  background: none;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  padding: 10px 4px;
  display: grid;
}

.chat-history-item:first-child {
  border-top: 0;
}

.chat-history-item:active {
  background: var(--surface-row-pressed);
}

.chat-history-item > span {
  min-width: 0;
}

.chat-history-item strong, .chat-history-item small {
  display: block;
}

.chat-history-item strong {
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 14.5px;
  overflow: hidden;
}

.chat-history-item small {
  color: var(--muted);
  margin-top: 3px;
  font-size: 13px;
}

.chat-history-item em {
  color: var(--muted);
  white-space: nowrap;
  font-size: 13px;
  font-style: normal;
}

.chat-message.is-assistant .chat-message-content {
  gap: 11px;
  min-width: 0;
  display: grid;
}

.chat-message.is-assistant .chat-message-content p, .chat-message.is-assistant .chat-message-content ul, .chat-message.is-assistant .chat-message-content ol {
  margin: 0;
  line-height: 1.58;
}

.chat-message.is-assistant .chat-message-content ul, .chat-message.is-assistant .chat-message-content ol {
  gap: 5px;
  padding-left: 1.25rem;
  display: grid;
}

.chat-message.is-assistant .chat-message-content li {
  padding-left: 2px;
}

.chat-message.is-assistant .chat-message-content strong {
  color: var(--text);
  font-weight: 650;
}

.chat-message.is-assistant .chat-line {
  display: block;
}

.chat-message.is-assistant .chat-line + .chat-line {
  margin-top: 4px;
}

.chat-message.is-user > p {
  white-space: pre-wrap;
}

@media (max-width: 390px) {
  .chat-workspace {
    padding-left: 12px;
    padding-right: 12px;
  }
}

/* [project]/app/styles/product-ui.css [app-client] (css) */
.inbox-workspace, .tasks-workspace, .vault-workspace {
  padding-top: 12px;
}

.app-shell .inbox-workspace > .inbox-heading h1, .app-shell .tasks-workspace > .tasks-heading h1 {
  clip: auto;
  clip-path: none;
  white-space: normal;
  width: auto;
  height: auto;
  position: static;
  overflow: visible;
}

.inbox-heading, .tasks-heading {
  align-items: baseline !important;
  min-height: 0 !important;
  padding: 0 5px 14px !important;
}

.inbox-heading h1, .tasks-heading h1 {
  line-height: 1.15;
  color: var(--text) !important;
  letter-spacing: -.03em !important;
  font-size: 22px !important;
  font-weight: 700 !important;
}

.inbox-heading p, .tasks-heading p, .vault-root-toolbar > span {
  color: var(--muted) !important;
  font-size: 13px !important;
}

.tasks-heading-mark, .inbox-assistant-row {
  display: none !important;
}

.inbox-heading-actions {
  gap: 6px;
}

.inbox-search-button, .inbox-icon-button, .vault-search-button, .vault-icon-button, .tasks-icon-button {
  box-shadow: inset 0 1px 0 color-mix(in srgb, var(--surface) 55%, transparent);
  border-color: var(--ui-control-border) !important;
  background: var(--ui-control-surface) !important;
  color: var(--text) !important;
}

.inbox-search-button:active, .inbox-icon-button:active, .vault-search-button:active, .vault-icon-button:active, .tasks-icon-button:active {
  background: var(--surface-control-pressed) !important;
}

.inbox-list, .tasks-list-card, .tasks-nav-list, .tasks-project-list, .vault-note-list, .activity-list {
  background: var(--ui-row-surface) !important;
  box-shadow: none !important;
  border: 0 !important;
  border-radius: 16px !important;
}

.tasks-doing-card {
  background: var(--surface-raised) !important;
}

.inbox-item, .task-list-row, .tasks-nav-list > button, .tasks-project-list:not(.is-managing) > button, .vault-note-row, .activity-row {
  color: var(--text);
  transition: background-color .12s, transform .12s;
}

.inbox-item:active, .task-list-row:active, .tasks-nav-list > button:active, .tasks-project-list:not(.is-managing) > button:active, .vault-note-row:active, .activity-row:active {
  background: var(--ui-row-surface-active) !important;
}

.inbox-item + .inbox-item:before, .task-list-row + .task-list-row:before, .tasks-nav-list > button + button:before, .tasks-project-list:not(.is-managing) > button + button:before, .vault-note-row-wrap + .vault-note-row-wrap:before {
  border-color: #0000;
  background: var(--ui-separator) !important;
}

.activity-row {
  border-top-color: var(--ui-separator) !important;
}

.inbox-item, .vault-note-row {
  min-height: 66px !important;
  padding-top: 10px !important;
  padding-bottom: 10px !important;
}

.task-list-row {
  min-height: 64px !important;
}

.inbox-timeline {
  gap: 24px !important;
}

.inbox-day-heading, .tasks-section-header, .vault-root-section > header, .vault-connections-section > header {
  padding-left: 5px !important;
  padding-right: 5px !important;
}

.inbox-day-heading strong, .tasks-section-header h2, .vault-root-section h2, .vault-connections-section h2 {
  letter-spacing: -.008em;
  color: var(--muted) !important;
  font-size: 13px !important;
  font-weight: 620 !important;
}

.inbox-empty, .inbox-search-empty, .tasks-empty-state, .task-empty-card, .vault-empty-line, .empty-state {
  box-shadow: none !important;
  background: none !important;
  border-color: #0000 !important;
}

.vault-root-toolbar {
  min-height: 44px !important;
  padding: 0 5px 10px !important;
}

.vault-root-section {
  margin-top: 24px !important;
}

.vault-pinned-grid {
  gap: 8px !important;
}

.vault-pinned-grid > button {
  border-color: var(--line) !important;
  background: var(--surface-row) !important;
  min-height: 94px !important;
  color: var(--text) !important;
  border-radius: 17px !important;
}

.vault-pinned-grid > button:active {
  background: var(--surface-row-pressed) !important;
}

.vault-all-notes-row, .tasks-missed-row {
  border-color: var(--line) !important;
  background: var(--surface-row) !important;
}

.vault-all-notes-row:active, .tasks-missed-row:active {
  background: var(--surface-row-pressed) !important;
}

.tasks-home-section {
  margin-top: 22px !important;
}

.tasks-home-section:first-of-type {
  margin-top: 2px !important;
}

.tasks-nav-list {
  margin-top: 22px;
}

.finance-overview-card {
  border-bottom-color: var(--ui-separator) !important;
  padding-top: 8px !important;
}

.asset-link strong {
  font-weight: 700;
  font-size: 25px !important;
}

.month-control, .calendar-controls button {
  -webkit-backdrop-filter: blur(18px) saturate(140%);
  backdrop-filter: blur(18px) saturate(140%);
  border-color: var(--ui-control-border) !important;
  background: var(--ui-control-surface) !important;
}

.month-control:active, .calendar-controls button:active {
  background: var(--surface-control-pressed) !important;
}

.calendar-card {
  border-bottom-color: var(--ui-separator) !important;
}

.luna-action-pair .luna-main-action {
  border: 1px solid var(--line) !important;
  background: var(--surface-row) !important;
  border-radius: 16px !important;
}

.activity-section {
  margin-top: 10px !important;
}

.activity-section .section-heading h2 {
  font-size: 18px !important;
}

.bottom-nav, .root-action-dock, .composer-card {
  border-color: var(--line) !important;
  background: var(--surface-glass) !important;
  box-shadow: var(--shadow-float) !important;
  -webkit-backdrop-filter: blur(30px) saturate(165%) !important;
  backdrop-filter: blur(30px) saturate(165%) !important;
}

.root-action-dock .root-domain-action {
  color: var(--accent) !important;
}

.root-action-dock .root-assistant-action {
  background: var(--surface-selected) !important;
  color: var(--text) !important;
}

.focus-assistant-button {
  border-color: var(--line) !important;
  background: var(--surface-glass) !important;
  color: var(--text) !important;
  box-shadow: var(--shadow-float) !important;
}

.bottom-sheet, .finance-management, .app-settings-sheet, .luna-account-sheet {
  border-color: var(--line) !important;
  background: var(--surface-sheet) !important;
}

.primary-button, .secondary-button, .danger-button, .small-primary {
  border-radius: 16px !important;
}

@media (max-width: 390px) {
  .inbox-heading, .tasks-heading {
    flex-direction: column;
    gap: 3px;
    align-items: flex-start !important;
  }
}

/* [project]/app/styles/composer.css [app-client] (css) */
.composer-card {
  bottom: calc(env(safe-area-inset-bottom) + 82px);
}

.app-shell:has(.home-workspace) > .composer-card {
  border-radius: 26px;
  width: min(100% - 24px, 720px);
}

.app-shell:has(.home-workspace) > .composer-card textarea {
  font-size: 16px;
}

.app-shell:has(.chat-workspace) > .composer-card {
  bottom: calc(env(safe-area-inset-bottom) + 10px);
  display: grid !important;
}

.composer-meta-rail {
  overscroll-behavior-x: contain;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
  grid-column: 1 / -1;
  align-items: center;
  gap: 6px;
  min-width: 0;
  padding: 1px 4px 0;
  display: flex;
  overflow-x: auto;
}

.composer-meta-rail::-webkit-scrollbar {
  display: none;
}

.composer-context-chip, .composer-recognition {
  border: 1px solid var(--line);
  white-space: nowrap;
  border-radius: 999px;
  align-items: center;
  gap: 5px;
  min-width: 0;
  min-height: 26px;
  margin: 0;
  padding: 4px 9px;
  font-size: 12px;
  line-height: 1.2;
  display: inline-flex;
}

.composer-context-chip {
  background: var(--accent-soft);
  max-width: min(64vw, 430px);
  color: var(--text);
  flex: 0 auto;
}

.composer-context-chip > span {
  text-overflow: ellipsis;
  min-width: 0;
  overflow: hidden;
}

.composer-recognition {
  background: var(--surface-soft);
  color: var(--muted);
  flex: none;
}

:is(.app-shell:has(.composer-card textarea:focus) > .bottom-nav, .app-shell:has(.composer-card textarea:focus) > .root-action-dock) {
  display: none !important;
}

.app-shell:has(.composer-card textarea:focus) > .composer-card {
  bottom: calc(env(safe-area-inset-bottom) + 8px + var(--visual-keyboard-inset, 0px)) !important;
}

@media (max-width: 390px) {
  .app-shell:has(.home-workspace) > .composer-card {
    width: calc(100% - 16px);
  }

  .composer-context-chip {
    max-width: 68vw;
  }
}

/* [project]/app/styles/detail-ui.css [app-client] (css) */
.app-shell:has([data-shell-surface="focus"]) {
  padding-top: calc(env(safe-area-inset-top) + 4px) !important;
  padding-left: 12px !important;
  padding-right: 12px !important;
}

.tasks-surface-header, .vault-surface-header, .inbox-surface-header, .sheet-header, .editor-topbar {
  -webkit-backdrop-filter: blur(24px) saturate(150%);
  backdrop-filter: blur(24px) saturate(150%);
}

.tasks-surface-header, .vault-surface-header, .inbox-surface-header {
  min-height: 50px !important;
  padding: 2px 2px 12px !important;
}

.tasks-surface-header h1, .vault-surface-header h1, .inbox-surface-header h1 {
  color: var(--text) !important;
  letter-spacing: -.025em !important;
  font-size: 20px !important;
  font-weight: 680 !important;
}

.tasks-surface-header p, .vault-surface-header p, .inbox-surface-header p {
  color: var(--muted) !important;
  margin-top: 2px !important;
  font-size: 12px !important;
}

.tasks-icon-button, .vault-icon-button, .inbox-icon-button, .sheet-header .icon-button, .editor-topbar .icon-button {
  border-color: var(--line) !important;
  background: var(--surface-control) !important;
  width: 44px !important;
  height: 44px !important;
  color: var(--text) !important;
}

.tasks-icon-button:active, .vault-icon-button:active, .inbox-icon-button:active, .sheet-header .icon-button:active, .editor-topbar .icon-button:active {
  background: var(--surface-control-pressed) !important;
}

.task-detail-title {
  padding: 10px 5px 16px !important;
}

.task-detail-title textarea, .task-title-field textarea {
  color: var(--text) !important;
  letter-spacing: -.028em !important;
  font-size: 23px !important;
  font-weight: 680 !important;
  line-height: 1.24 !important;
}

.task-detail-title small {
  color: var(--muted) !important;
  margin-top: 6px !important;
  font-size: 12px !important;
}

.task-state-switch {
  border: 1px solid var(--line) !important;
  background: var(--surface-row) !important;
  border-radius: 15px !important;
  gap: 3px !important;
  margin: 0 2px 18px !important;
  padding: 3px !important;
}

.task-state-switch button {
  min-height: 44px !important;
  color: var(--muted) !important;
  background: none !important;
  border-radius: 12px !important;
  font-size: 12px !important;
}

.task-state-switch button:is(:active, .is-active) {
  box-shadow: inset 0 0 0 1px var(--line);
  background: var(--surface-selected) !important;
  color: var(--text) !important;
}

.task-detail-section {
  margin-top: 25px !important;
}

.task-detail-section > .tasks-section-header, .project-task-section > .tasks-section-header {
  padding: 0 4px 8px !important;
}

.task-meta-list, .task-checklist, .task-working-context, .task-editor-card {
  overflow: hidden;
  border: 1px solid var(--line) !important;
  background: var(--surface-row) !important;
  box-shadow: none !important;
  border-radius: 16px !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.task-meta-row {
  min-height: 54px !important;
  padding: 9px 12px !important;
}

.task-meta-row:active, .task-checklist button:active {
  background: var(--surface-row-pressed) !important;
}

.task-meta-row + .task-meta-row:before, .task-checklist button + button:before {
  background: var(--ui-separator) !important;
}

.task-meta-label {
  color: var(--muted) !important;
  font-size: 13px !important;
  font-weight: 560 !important;
}

.task-meta-value {
  font-weight: 520;
  color: var(--text) !important;
  font-size: 14px !important;
}

.task-checklist button {
  min-height: 54px !important;
  color: var(--text) !important;
  padding: 9px 12px !important;
  font-size: 14px !important;
}

.task-working-context label {
  min-height: 58px;
  grid-template-columns: 84px minmax(0, 1fr) !important;
  gap: 12px !important;
  padding: 11px 12px !important;
}

.task-working-context label + label {
  border-top-color: var(--ui-separator) !important;
}

.task-working-context span {
  color: var(--muted) !important;
  font-size: 11.5px !important;
}

.task-working-context textarea, .task-note-field, .task-waiting-editor input, .task-editor-card input, .task-editor-card select {
  line-height: 1.45;
  color: var(--text) !important;
  font-size: 15px !important;
}

.task-note-field, .task-waiting-editor {
  border: 1px solid var(--line) !important;
  background: var(--surface-row) !important;
  border-radius: 16px !important;
}

.task-note-field {
  min-height: 100px !important;
  padding: 13px 12px !important;
}

.task-waiting-editor {
  min-height: 52px;
  padding: 8px 10px 8px 12px !important;
}

.task-inline-add {
  min-height: 48px !important;
  color: var(--muted) !important;
  padding: 0 12px !important;
  font-size: 13px !important;
}

.task-inline-add:active {
  background: var(--surface-control-pressed) !important;
}

.task-editor-card > label, .task-editor-grid > label {
  min-height: 56px;
  padding: 10px 12px !important;
}

.task-editor-card > label + label, .task-editor-grid > label + label {
  border-top: 1px solid var(--ui-separator);
}

.task-editor-card label > span {
  color: var(--muted) !important;
  font-size: 11.5px !important;
}

.task-cancel-action {
  justify-content: center;
  align-items: center;
  width: 100%;
  border: 1px solid color-mix(in srgb, var(--red) 20%, var(--line)) !important;
  background: var(--surface-danger) !important;
  min-height: 54px !important;
  color: var(--red) !important;
  box-shadow: none !important;
  border-radius: 16px !important;
  margin-top: 30px !important;
  padding: 0 16px !important;
  font-size: 14px !important;
  font-weight: 620 !important;
  display: flex !important;
}

.task-cancel-action:active {
  transform: scale(.99);
  background: color-mix(in srgb, var(--surface-danger) 76%, var(--red) 24%) !important;
}

.project-detail-surface .tasks-list-card, .project-task-section .tasks-list-card {
  border: 1px solid var(--line) !important;
  background: var(--surface-row) !important;
}

.vault-search-field {
  border: 1px solid var(--line) !important;
  background: var(--surface-row) !important;
  border-radius: 15px !important;
  min-height: 50px !important;
  margin: 4px 0 14px !important;
}

.vault-search-summary {
  color: var(--muted) !important;
  padding: 0 5px 9px !important;
}

.sheet-backdrop {
  background: var(--surface-scrim) !important;
}

.bottom-sheet, .finance-management {
  width: min(100%, 760px) !important;
  max-height: calc(100dvh - env(safe-area-inset-top) - 10px) !important;
  border-width: 1px 1px 0 !important;
  border-color: var(--line) !important;
  background: var(--surface-sheet) !important;
  box-shadow: var(--shadow) !important;
  border-radius: 28px 28px 0 0 !important;
}

.compact-sheet {
  max-height: min(82dvh, 720px) !important;
}

.sheet-header, .editor-topbar {
  border-bottom: 1px solid var(--line) !important;
  background: color-mix(in srgb, var(--surface-sheet) 88%, transparent) !important;
  min-height: 58px !important;
  padding: 8px 11px 9px !important;
}

.sheet-header > div:nth-child(2) {
  min-width: 0;
}

.sheet-header .eyebrow {
  letter-spacing: .01em;
  color: var(--muted) !important;
  font-size: 10.5px !important;
  font-weight: 600 !important;
}

.sheet-header h2 {
  color: var(--text) !important;
  letter-spacing: -.02em !important;
  margin-top: 1px !important;
  font-size: 18px !important;
  font-weight: 660 !important;
}

.sheet-body {
  padding: 14px 12px calc(env(safe-area-inset-bottom) + 22px) !important;
}

.sheet-total {
  background: none !important;
  border: 0 !important;
  padding: 10px 2px 18px !important;
}

.sheet-total > span {
  color: var(--muted) !important;
  font-size: 12px !important;
}

.sheet-total > strong {
  color: var(--text) !important;
  letter-spacing: -.038em !important;
  margin-top: 3px !important;
  font-size: 29px !important;
  font-weight: 700 !important;
}

.sheet-total > small {
  line-height: 1.4;
  color: var(--muted) !important;
  margin-top: 6px !important;
  font-size: 12px !important;
}

.sheet-section {
  margin-top: 24px !important;
}

.sheet-section > h3 {
  letter-spacing: -.005em;
  color: var(--muted) !important;
  margin: 0 4px 8px !important;
  font-size: 12.5px !important;
  font-weight: 620 !important;
}

.plain-list, .context-flow, .editor-form-card, .money-editor-field, .editor-date-row, .form-stack > .field, .data-row, .info-box {
  box-shadow: none !important;
}

.plain-list, .editor-form-card {
  overflow: hidden;
  border: 1px solid var(--line) !important;
  background: var(--surface-row) !important;
  border-radius: 16px !important;
}

.plain-list > button, .plain-list > .data-row, .editor-form-card > .editor-picker-field, .editor-form-card > .editor-row-field {
  min-height: 56px !important;
}

.plain-list > button + button, .plain-list > .data-row + .data-row, .editor-form-card > * + * {
  border-top-color: var(--ui-separator) !important;
}

.plain-list > button:active {
  background: var(--surface-row-pressed) !important;
}

.data-row {
  background: none !important;
  border-color: #0000 !important;
  min-height: 52px !important;
  padding: 9px 12px !important;
}

.data-row > span {
  color: var(--muted) !important;
}

.editor-sheet .form-stack {
  gap: 10px !important;
}

.kind-switch {
  border: 1px solid var(--line) !important;
  background: var(--surface-row) !important;
  border-radius: 17px !important;
  gap: 2px !important;
  padding: 3px !important;
}

.kind-switch button {
  border-radius: 14px !important;
  min-height: 44px !important;
}

.kind-switch button:is(:active, .is-active) {
  background: var(--surface-selected) !important;
}

.editor-sheet .money-editor-field, .editor-sheet .form-stack > .field, .editor-sheet .editor-date-row {
  border: 1px solid var(--line) !important;
  background: var(--surface-row) !important;
  border-radius: 16px !important;
}

.editor-sheet .money-editor-field {
  min-height: 62px !important;
}

.editor-sheet .money-editor-field input {
  color: var(--text) !important;
  font-size: 20px !important;
  font-weight: 600 !important;
}

.editor-sheet .editor-form-card > .editor-picker-field, .editor-sheet .editor-form-card > .editor-row-field {
  border-top-color: var(--ui-separator) !important;
}

.editor-sheet .editor-date-controls input {
  background: var(--surface-control) !important;
  border-radius: 13px !important;
  min-height: 44px !important;
}

.editor-picker-sheet .plain-list > button.is-selected {
  background: var(--accent-soft) !important;
}

.info-box {
  background: var(--surface-soft) !important;
  color: var(--muted) !important;
  border: 0 !important;
  border-radius: 15px !important;
}

.delete-button {
  background: var(--surface-danger) !important;
  min-height: 48px !important;
  color: var(--red) !important;
  border: 0 !important;
  border-radius: 15px !important;
}

.confirm-card {
  border-color: var(--line) !important;
  background: var(--surface-sheet) !important;
  border-radius: 22px !important;
}

.context-flow {
  border: 1px solid var(--line) !important;
  background: var(--surface-row) !important;
  border-radius: 16px !important;
  margin-bottom: 22px !important;
}

.context-sheet .luna-reconcile-row.nested, .bottom-sheet .luna-reconcile-row.nested {
  border: 1px solid var(--line) !important;
  background: var(--surface-row) !important;
  border-radius: 15px !important;
}

.luna-context-day {
  margin-top: 18px;
}

.luna-context-day > header {
  padding: 0 4px 7px !important;
}

.luna-context-day > header strong, .luna-context-day > header small {
  color: var(--muted) !important;
}

.finance-management .management-card-list, .management-create-card, .luna-settings-card {
  border-color: var(--line) !important;
  background: var(--surface-row) !important;
  box-shadow: none !important;
}

.finance-management .management-control input, .finance-management .management-control select, .luna-float-editor input {
  border-color: var(--line) !important;
  background: var(--surface-control) !important;
}

@media (max-width: 600px) {
  .bottom-sheet:not(.compact-sheet), .finance-management {
    min-height: min(88dvh, 760px);
  }

  .sheet-body {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }

  .task-detail-title {
    padding-top: 8px !important;
  }

  .task-working-context label {
    grid-template-columns: 76px minmax(0, 1fr) !important;
  }
}

/* [project]/app/styles/task-draft.css [app-client] (css) */
.task-draft-surface {
  padding-top: 8px;
}

.task-draft-surface .tasks-surface-header {
  margin-bottom: 2px;
}

.task-draft-surface .tasks-icon-button {
  box-shadow: none !important;
  background: none !important;
  border-color: #0000 !important;
}

.task-draft-surface .tasks-icon-button:active {
  background: var(--surface-control-pressed) !important;
}

.task-draft-surface .task-editor-card {
  box-shadow: none !important;
  background: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  margin: 4px 2px 0 !important;
  overflow: visible !important;
}

.task-draft-surface .task-title-field {
  margin: 0 2px 18px;
  border: 0 !important;
  border-bottom: 1px solid var(--line) !important;
  background: none !important;
  min-height: 0 !important;
  padding: 8px 4px 17px !important;
}

.task-draft-surface .task-title-field > span {
  margin-bottom: 3px;
  color: var(--muted) !important;
  font-size: 12px !important;
  font-weight: 560 !important;
}

.task-draft-surface .task-title-field textarea {
  min-height: 54px;
  color: var(--text) !important;
  letter-spacing: -.028em !important;
  padding: 0 !important;
  font-size: 24px !important;
  font-weight: 650 !important;
  line-height: 1.22 !important;
}

.task-draft-surface .task-title-field textarea::placeholder {
  color: color-mix(in srgb, var(--muted) 62%, transparent);
  opacity: 1;
}

.task-draft-surface .task-editor-grid {
  overflow: hidden;
  border: 1px solid var(--line) !important;
  background: var(--surface-row) !important;
  border-bottom: 0 !important;
  border-radius: 16px 16px 0 0 !important;
  margin: 0 !important;
  display: block !important;
}

.task-draft-surface .task-editor-grid > label, .task-draft-surface .task-select-field {
  grid-template-columns: minmax(0, 1fr) minmax(118px, auto);
  align-items: center;
  gap: 12px;
  position: relative;
  background: none !important;
  min-height: 56px !important;
  padding: 0 14px !important;
  display: grid !important;
}

.task-draft-surface .task-editor-grid > label {
  border: 0 !important;
}

.task-draft-surface .task-editor-grid > label + label {
  border-top: 1px solid var(--ui-separator) !important;
  border-left: 0 !important;
}

.task-draft-surface .task-select-field {
  border: 1px solid var(--line) !important;
  border-top-color: var(--ui-separator) !important;
  background: var(--surface-row) !important;
  border-radius: 0 0 16px 16px !important;
}

.task-draft-surface .task-editor-grid > label > span, .task-draft-surface .task-select-field > span {
  color: var(--muted) !important;
  font-size: 15px !important;
  font-weight: 520 !important;
}

.task-draft-surface .task-editor-grid input[type="date"], .task-draft-surface .task-select-field select {
  text-align: right;
  justify-self: end;
  max-width: 190px;
  font-weight: 480;
  width: auto !important;
  min-height: 44px !important;
  color: var(--text) !important;
  background: none !important;
  border: 0 !important;
  outline: 0 !important;
  padding: 0 !important;
  font-size: 16px !important;
}

.task-draft-surface .task-select-field select {
  text-align-last: right;
}

.task-draft-surface .tasks-header-action {
  min-width: 56px;
  color: var(--blue);
  font-size: 16px;
  font-weight: 620;
}

.task-draft-surface .tasks-header-action:disabled {
  color: var(--muted);
  opacity: .42;
}

@media (max-width: 390px) {
  .task-draft-surface .task-title-field textarea {
    font-size: 23px !important;
  }

  .task-draft-surface .task-editor-grid > label, .task-draft-surface .task-select-field {
    grid-template-columns: minmax(0, 1fr) minmax(108px, auto);
    padding-left: 12px !important;
    padding-right: 12px !important;
  }
}

/* [project]/app/styles/note.css [app-client] (css) */
.vault-note-shell {
  padding: 0 !important;
}

.vault-note-shell > .inbox-note-editor, .inbox-note-editor {
  width: 100%;
  padding-bottom: calc(env(safe-area-inset-bottom) + 72px);
  padding-top: 4px !important;
}

.inbox-note-topbar {
  top: calc(env(safe-area-inset-top) + 2px);
  z-index: 36;
  -webkit-backdrop-filter: blur(24px) saturate(150%);
  backdrop-filter: blur(24px) saturate(150%);
  grid-template-columns: 92px minmax(0, 1fr) 92px;
  align-items: center;
  border: 0 !important;
  border-bottom: 1px solid var(--line) !important;
  background: color-mix(in srgb, var(--canvas) 88%, transparent) !important;
  min-height: 52px !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  gap: 0 !important;
  margin: 0 0 14px !important;
  padding: 2px 0 6px !important;
  display: grid !important;
  position: sticky !important;
}

.inbox-note-back-button {
  width: 44px;
  height: 44px;
  color: var(--text);
  background: none;
  border: 0;
  border-radius: 13px;
  justify-self: start;
  place-items: center;
  padding: 0;
  display: grid;
}

.inbox-note-title-button, .inbox-note-title {
  min-width: 0;
  color: var(--text);
  letter-spacing: -.018em;
  text-align: center;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 16px;
  font-weight: 680;
  line-height: 1.2;
  overflow: hidden;
}

.inbox-note-title-button {
  background: none;
  border: 0;
  border-radius: 12px;
  min-height: 44px;
  padding: 0 6px;
}

.inbox-note-actions {
  justify-content: flex-end;
  align-items: center;
  gap: 2px;
  min-width: 92px;
  display: flex;
}

.inbox-note-edit-button {
  min-width: 44px;
  min-height: 44px;
  color: var(--blue);
  background: none;
  border: 0;
  border-radius: 12px;
  padding: 0 4px;
  font-size: 15.5px;
  font-weight: 650;
}

.inbox-note-topbar .inbox-icon-button {
  width: 44px !important;
  height: 44px !important;
  color: var(--text) !important;
  box-shadow: none !important;
  background: none !important;
  border: 0 !important;
}

.inbox-note-back-button:active, .inbox-note-title-button:active, .inbox-note-edit-button:active, .inbox-note-topbar .inbox-icon-button:active {
  background: var(--surface-control-pressed) !important;
}

.vault-note-shell .inbox-note-topbar > .inbox-note-back > button:last-child {
  position: static !important;
  transform: none !important;
}

.inbox-note-meta {
  color: var(--muted);
  flex-wrap: wrap;
  gap: 8px;
  padding: 0 5px;
  font-size: 13px;
  display: flex;
}

.inbox-note-meta span + span:before {
  content: "·";
  margin-right: 8px;
}

.inbox-note-breadcrumb {
  min-width: 0;
  color: var(--muted);
  scrollbar-width: none;
  align-items: center;
  gap: 3px;
  margin: 10px 5px 2px;
  font-size: 12px;
  display: flex;
  overflow-x: auto;
}

.inbox-note-breadcrumb::-webkit-scrollbar {
  display: none;
}

.inbox-note-breadcrumb span {
  flex: none;
  align-items: center;
  gap: 3px;
  display: inline-flex;
}

.inbox-note-breadcrumb button {
  max-width: 180px;
  color: var(--muted);
  text-overflow: ellipsis;
  white-space: nowrap;
  background: none;
  border: 0;
  border-radius: 8px;
  padding: 4px 5px;
  overflow: hidden;
}

.inbox-note-breadcrumb button:active {
  background: var(--surface-control-pressed);
  color: var(--text);
}

.inbox-note-menu {
  top: calc(env(safe-area-inset-top) + 62px);
  z-index: 115;
  -webkit-backdrop-filter: blur(28px) saturate(150%);
  backdrop-filter: blur(28px) saturate(150%);
  width: min(270px, 100vw - 24px);
  padding: 6px;
  position: absolute;
  right: 12px;
  overflow: hidden;
  border: 1px solid var(--line) !important;
  background: var(--surface-menu) !important;
  color: var(--text) !important;
  box-shadow: var(--shadow) !important;
  border-radius: 18px !important;
}

.inbox-note-menu button {
  text-align: left;
  border: 0;
  border-radius: 12px;
  align-items: center;
  gap: 9px;
  width: 100%;
  min-height: 44px;
  padding: 8px 9px;
  font-size: 14px;
  display: flex;
  color: var(--text) !important;
  background: none !important;
}

.inbox-note-menu button:is(:hover, :focus-visible, :active) {
  background: var(--surface-control-pressed) !important;
}

.inbox-note-menu button.is-danger {
  color: var(--red) !important;
}

.outline-editor-canvas {
  min-height: 260px;
  margin-top: 14px;
  padding: 0 3px 24px;
}

.outline-document-list {
  display: grid;
}

.outline-branch {
  position: relative;
}

.outline-branch + .outline-branch {
  margin-top: 3px !important;
}

.outline-swipe-shell {
  border-radius: 10px;
  position: relative;
  overflow: hidden;
}

.outline-delete-action {
  z-index: 0;
  background: var(--red);
  color: #fff;
  border: 0;
  width: 76px;
  font-size: 14px;
  font-weight: 650;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
}

.outline-node-row {
  z-index: 1;
  grid-template-columns: 44px minmax(0, 1fr) 44px;
  align-items: start;
  min-height: 44px;
  transition: transform .16s;
  display: grid;
  position: relative;
  background: var(--canvas) !important;
  color: var(--text) !important;
  box-shadow: none !important;
  border: 0 !important;
  border-radius: 0 !important;
}

.outline-node-input, .outline-node-view {
  text-align: left;
  border: 0;
  outline: 0;
  width: 100%;
  min-width: 0;
  min-height: 44px;
  margin: 0;
  padding: 8px 2px;
  color: var(--text) !important;
  -webkit-text-fill-color: var(--text) !important;
  background: none !important;
  font-size: 16px !important;
  line-height: 1.48 !important;
}

.outline-node-view {
  border-radius: 8px;
}

.outline-node-input {
  resize: none;
  caret-color: var(--blue);
}

.outline-node-input:focus, .outline-node-input:focus-visible {
  box-shadow: none !important;
  background: none !important;
  border: 0 !important;
  outline: 0 !important;
}

.outline-node-input.is-prominent, .outline-node-view.is-prominent {
  letter-spacing: normal !important;
  font-size: 16px !important;
  font-weight: 450 !important;
  line-height: 1.48 !important;
}

.outline-node-input.is-bold, .outline-node-view.is-bold {
  font-weight: 700;
}

.outline-node-input.is-italic, .outline-node-view.is-italic {
  font-style: italic;
}

.outline-node-view:active {
  background: var(--surface-control-pressed) !important;
}

.outline-bullet, .outline-trailing-action {
  background: none;
  border: 0;
  border-radius: 10px;
  place-items: center;
  width: 44px;
  min-height: 44px;
  padding: 0;
  display: grid;
  color: var(--muted) !important;
}

.outline-bullet span {
  border-radius: 50%;
  width: 7px;
  height: 7px;
  background: var(--muted) !important;
}

.outline-bullet.is-prominent span {
  width: 7px;
  height: 7px;
}

.outline-trailing-action {
  width: 44px;
}

.outline-bullet:active, .outline-trailing-action:active {
  background: var(--surface-control-pressed) !important;
  color: var(--text) !important;
}

.outline-children {
  border-left: 1px solid var(--outline-guide) !important;
  margin-left: 12px !important;
  padding-left: 12px !important;
}

.outline-add-child, .outline-add-top-level {
  background: none;
  border: 0;
  border-radius: 10px;
  align-items: center;
  gap: 6px;
  min-height: 44px;
  padding: 0 8px;
  font-size: 13px;
  display: flex;
  color: var(--muted) !important;
}

.outline-add-child:active, .outline-add-top-level:active {
  background: var(--surface-control-pressed);
  color: var(--text) !important;
}

.outline-editor-toolbar {
  right: 50%;
  bottom: calc(env(safe-area-inset-bottom) + 8px);
  z-index: 95;
  -webkit-backdrop-filter: blur(24px) saturate(150%);
  backdrop-filter: blur(24px) saturate(150%);
  border-radius: 18px;
  grid-template-columns: repeat(2, 44px) minmax(0, 1fr) repeat(2, 44px);
  align-items: center;
  gap: 4px;
  width: min(100% - 20px, 720px);
  min-height: 54px;
  padding: 4px 7px;
  display: grid;
  position: fixed;
  transform: translateX(50%);
  border: 1px solid var(--line) !important;
  background: var(--surface-glass) !important;
  box-shadow: var(--shadow-float) !important;
}

.outline-editor-toolbar button {
  border: 0;
  border-radius: 12px;
  place-items: center;
  width: 44px;
  height: 44px;
  padding: 0;
  display: grid;
  color: var(--text) !important;
  background: none !important;
}

.outline-editor-toolbar button:active {
  background: var(--surface-control-pressed) !important;
}

.outline-editor-toolbar button:disabled {
  cursor: default;
  opacity: .28;
}

.vault-note-extras {
  gap: 8px !important;
  margin: 20px 2px 0 !important;
}

.vault-note-utility-row {
  gap: 6px !important;
}

.vault-note-utility-row > button, .vault-snapshot-row {
  border: 1px solid var(--line) !important;
  background: var(--surface-row) !important;
  min-height: 48px !important;
  color: var(--text) !important;
  border-radius: 14px !important;
}

.vault-note-utility-row > button:active, .vault-snapshot-row:active {
  background: var(--surface-row-pressed) !important;
}

.vault-snapshot-row {
  padding: 9px 11px !important;
}

.vault-link-suggest {
  border: 1px solid var(--line) !important;
  background: var(--surface-menu) !important;
  color: var(--text) !important;
  box-shadow: var(--shadow) !important;
  border-radius: 18px !important;
}

.vault-link-suggest > button {
  color: var(--text) !important;
  background: none !important;
}

.vault-link-suggest > button:active {
  background: var(--surface-control-pressed) !important;
}

.vault-snapshot-source-card, .vault-snapshot-content {
  border-color: var(--line) !important;
  background: var(--surface-row) !important;
  box-shadow: none !important;
}

.inbox-note-dialog-backdrop {
  z-index: 125;
  justify-content: center;
  align-items: flex-end;
  display: flex;
  position: fixed;
  inset: 0;
  background: var(--surface-scrim) !important;
}

.inbox-original-sheet {
  border-bottom: 0;
  border-radius: 24px 24px 0 0;
  width: min(100%, 620px);
  max-height: 54dvh;
}

.inbox-original-sheet .sheet-header {
  grid-template-columns: 44px minmax(0, 1fr) 44px;
}

.inbox-original-sheet .sheet-header h2 {
  text-align: center;
  margin: 0;
  font-size: 17px;
}

.inbox-original-copy {
  padding: 8px 16px calc(env(safe-area-inset-bottom) + 20px);
}

.inbox-original-copy p {
  color: var(--text);
  white-space: pre-wrap;
  margin: 0;
  font-size: 16px;
  line-height: 1.55;
}

.inbox-original-copy small {
  color: var(--muted);
  margin-top: 12px;
  font-size: 13px;
  display: block;
}

@media (max-width: 390px) {
  .inbox-note-topbar {
    grid-template-columns: 88px minmax(0, 1fr) 88px;
  }

  .inbox-note-actions {
    min-width: 88px;
  }

  .inbox-note-edit-button {
    min-width: 44px;
    padding: 0 2px;
  }

  .inbox-note-topbar .inbox-icon-button {
    width: 44px !important;
  }
}

/* [project]/app/styles/feedback.css [app-client] (css) */
.toast, .home-toast, .tasks-toast, .vault-toast, .inbox-toast, .finance-toast {
  -webkit-backdrop-filter: blur(24px) saturate(150%);
  backdrop-filter: blur(24px) saturate(150%);
  border-color: var(--line-strong) !important;
  background: var(--surface-menu) !important;
  color: var(--text) !important;
  box-shadow: var(--shadow-float) !important;
}

/*# sourceMappingURL=app_styles_053r_qq._.css.map*/