/* Feature layouts. Shared primitives live in ui.css; tokens in tokens.css. */
.account-options { max-height: 27rem; overflow-y: auto; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 var(--space-4); scrollbar-color: var(--scroll-thumb) var(--subtle); }
.account-choice { display: grid; grid-template-columns: minmax(0,1fr) 5.5rem; gap: var(--space-3); padding: var(--space-3) var(--space-2); border-bottom: 1px solid var(--line); align-items: center; }
.account-choice label { font-weight: 500; }
.account-choice .cell-note { font-weight: 400; }
.account-choice input[type=checkbox] { margin-top: .25rem; }
.account-choice input[type=number] { padding-inline: var(--space-2); }
.campaign-create > summary { font-size: var(--text-section); }
.campaign-create form > h2 { margin-top: var(--space-6); }
.overview-list article { display: flex; align-items: center; justify-content: space-between; gap: var(--space-4); padding-block: var(--space-4); border-top: 1px solid var(--line); }
.overview-list h3, .overview-list p { margin: 0; }
.overview-columns { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: var(--space-5); }
.inbox-filters { grid-template-columns: repeat(3,minmax(0,1fr)); padding: var(--space-5); background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius-panel); margin-bottom: var(--space-5); }
.inbox-list { padding: 0; list-style: none; border: 1px solid var(--line); border-radius: var(--radius-panel); background: var(--surface); }
.inbox-list > li + li { border-top: 1px solid var(--line); }
.inbox-row { display: grid; grid-template-columns: minmax(0,1fr) 13rem; align-items: center; gap: var(--space-5); padding: var(--space-4) var(--space-5); }
.inbox-row:hover { background: var(--row-hover-bg); }
.inbox-row p { margin: var(--space-1) 0 0; }
.message-title { font-weight: 650; color: var(--ink); text-decoration: none; }
.message-title:hover { color: var(--accent); text-decoration: underline; }
.message-state { display: grid; justify-items: start; gap: var(--space-1); }
.message-layout { display: grid; grid-template-columns: minmax(0,1fr) minmax(17rem,.55fr); gap: var(--space-5); }
.message-meta { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: var(--space-4); padding: var(--space-5); background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius-panel); }
.message-meta dd { font-size: .875rem; }
.message-content { min-height: 14rem; }
.message-content pre { margin-bottom: var(--space-5); }
.message-tools h2 { font-size: 1rem; }
.message-tools .stack { margin-block: var(--space-4); }
.attachment-list, .candidate-list, .thread-list { list-style: none; padding: 0; }
.attachment-list li, .candidate-list li, .thread-list li { padding-block: var(--space-3); border-bottom: 1px solid var(--line); }
.offer-formula { display: flex; flex-wrap: wrap; gap: var(--space-3); align-items: baseline; margin-block: var(--space-5); }
.offer-formula strong { font-size: 1.5rem; font-variant-numeric: tabular-nums; }
.offer-formula span { color: var(--muted); font-size: var(--text-small); }
.mailbox-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: var(--space-5); }
.mailbox-row { margin: 0; }
.mailbox-row h3 { margin-bottom: var(--space-2); }
.mailbox-row .inline { display: grid; grid-template-columns: 6rem minmax(0,1fr); }
.mailbox-row .inline label { grid-column: 1/-1; }
.mailbox-row .inline input { width: 100%; }
.mailbox-row .actions { gap: var(--space-2); }
.mailbox-row details { font-size: var(--text-small); }
.mailbox-rights { display: flex; gap: var(--space-2); flex-wrap: wrap; margin-bottom: var(--space-4); }
.capacity-note { margin-block: var(--space-4); }
.legacy-section { margin-top: var(--space-6); }
@media(max-width: 1100px) { .mailbox-grid, .account-options { grid-template-columns: minmax(0,1fr); } }
@media(max-width: 900px) { .message-layout { grid-template-columns: minmax(0,1fr); } .inbox-filters { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media(max-width: 760px) {
  .overview-columns, .inbox-filters { grid-template-columns: minmax(0,1fr); }
  .inbox-row { grid-template-columns: minmax(0,1fr); padding: var(--space-4); gap: var(--space-3); }
  .message-state { display: flex; flex-wrap: wrap; gap: var(--space-2); }
  .message-meta { grid-template-columns: minmax(0,1fr); padding: var(--space-4); }
  .account-choice { padding-inline: 0; grid-template-columns: minmax(0,1fr) 4.5rem; }
  .account-choice .cell-note { font-size: .75rem; }
  .inbox-filters { padding: var(--space-4); }
}

.campaign-mobile-list { display: none; }
.direct-access { font-size: var(--text-small); color: var(--muted); }
.direct-access p { margin-bottom: var(--space-3); }
@media(max-width: 760px) {
  .campaign-table { display: none; }
  .campaign-mobile-list { display: block; }
  .campaign-mobile-list article { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius-panel); padding: var(--space-4); margin-bottom: var(--space-3); }
  .campaign-mobile-list .section-heading { display: block; }
  .campaign-mobile-list h2 { font-size: 1rem; margin-bottom: var(--space-2); }
}

/* Separate the code-entry and resend forms without changing shared UI tokens. */
.login-panel form + form { margin-block-start: var(--space-4); }
.login-panel form + p { margin-block-start: var(--space-3); }
