.expense-form > label:nth-child(3),.form-message { grid-column:1 / -1; }
.expense-form > label:nth-child(4),.expense-form > label:nth-child(5) { grid-column:auto; }

.expense-date-field {
  display:flex;
  grid-column:1 / -1;
  flex-direction:column;
  gap:6px;
  min-width:0;
}
.field-label-row {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  color:var(--muted);
  font:500 .75rem/1.4 'DM Mono',monospace;
  letter-spacing:.06em;
}
.field-label-row button {
  min-width:56px;
  min-height:44px;
  border:1px solid var(--line);
  border-radius:999px;
  background:transparent;
  color:var(--ink);
  cursor:pointer;
  font-size:.75rem;
  font-weight:800;
}
.expense-date-field > input {
  width:100%;
  min-height:48px;
  padding:12px 10px;
  border:1px solid var(--line);
  border-radius:0;
  background:rgba(255,255,255,.45);
  color:var(--ink);
  font:500 1rem/1.4 Manrope,system-ui,sans-serif;
}
.expense-date-field small,.expense-participants > small {
  color:var(--muted);
  font-size:.75rem;
  line-height:1.5;
}
.form-submit {
  min-height:52px;
  margin-top:4px;
}
.form-submit:disabled {
  cursor:wait;
  opacity:.62;
}
.expense-notice {
  min-height:24px;
  margin:0 0 8px;
  color:var(--muted);
  font-size:.8125rem;
  line-height:1.5;
}
.expense-notice:empty { display:none; }
.expense-notice button,.empty-expenses button {
  min-height:44px;
  margin-left:8px;
  padding-inline:12px;
  border:1px solid var(--ink);
  border-radius:999px;
  background:transparent;
  color:var(--ink);
  cursor:pointer;
  font-size:.75rem;
  font-weight:800;
}
.empty-expenses {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:4px;
}
.empty-expenses b { color:var(--ink); }
.empty-expenses button { margin:8px 0 0; }
.expense-item-main { overflow-wrap:anywhere; }
.expense-actions button:disabled { cursor:wait; opacity:.5; }

.expense-participants {
  display:block;
  grid-column:1 / -1;
  min-width:0;
  margin:0;
  padding:0;
  border:0;
}
.expense-participants legend {
  margin:0 0 6px;
  padding:0;
  color:var(--muted);
  font:500 .75rem/1.4 'DM Mono',monospace;
  letter-spacing:.06em;
}
.participant-toolbar {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-height:44px;
  padding:0 0 8px;
}
.participant-toolbar span {
  color:var(--ink);
  font-size:.8125rem;
  font-weight:800;
}
.participant-toolbar button,.expense-cancel {
  min-height:44px;
  padding:8px 14px;
  border:1px solid var(--ink);
  border-radius:999px;
  background:transparent;
  color:var(--ink);
  cursor:pointer;
  font-size:.75rem;
  font-weight:800;
}
.participant-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  border-top:1px solid var(--line);
  border-left:1px solid var(--line);
}
.expense-form .participant-grid .participant-option {
  display:flex;
  grid-column:auto;
  flex-direction:row;
  align-items:center;
  gap:10px;
  min-height:48px;
  padding:9px 10px;
  border-right:1px solid var(--line);
  border-bottom:1px solid var(--line);
  background:rgba(255,255,255,.28);
  color:var(--ink);
  cursor:pointer;
  font:700 .875rem/1.35 Manrope,system-ui,sans-serif;
  letter-spacing:0;
}
.expense-form .participant-grid .participant-option:last-child { grid-column:1 / -1; }
.expense-form .participant-grid .participant-option:has(input:checked) { background:rgba(255,211,78,.42); }
.expense-form .participant-option input {
  flex:0 0 auto;
  width:20px;
  height:20px;
  min-height:0;
  margin:0;
  padding:0;
  accent-color:var(--coral);
}
.expense-participants > small {
  display:block;
  margin-top:6px;
}
.expense-form-actions {
  display:grid;
  grid-column:1 / -1;
  grid-template-columns:minmax(0,1fr) auto;
  gap:8px;
}
.expense-form-actions .form-submit {
  grid-column:auto;
  margin:0;
}
.expense-cancel { min-width:92px; }
.expense-cancel[hidden] { display:none; }
.expense-participant-summary { color:var(--ink) !important; font-weight:700; }
.expense-totals { grid-template-columns:repeat(3,minmax(0,1fr)); }
.expense-totals > div { min-width:0; }
.expense-totals strong {
  overflow:hidden;
  font-size:clamp(.875rem,4.5vw,1.25rem);
  text-overflow:ellipsis;
  white-space:nowrap;
}
