.offer-month {
  margin-block:0 clamp(24px,3vw,38px);
  color:var(--ink);
}
.offer-month-head { display:flex; gap:10px; align-items:center; margin:0 0 10px; }
.offer-month-head h2 { margin:0; font-size:var(--type-section); line-height:1.3; letter-spacing:var(--tracking-section); }
.offer-month-count {
  font-size:var(--type-small); color:var(--secondary); background:var(--surface); border-radius:var(--pill-radius);
  min-width:26px; padding:2px 8px; text-align:center; font-variant-numeric:tabular-nums;
}
.offer-table {
  width:100%; table-layout:fixed; border-collapse:separate; border-spacing:0;
  border:1px solid var(--line); border-radius:var(--radius); background:var(--panel);
  font-size:var(--type-control); line-height:1.4;
}
.offer-table th,.offer-table td { text-align:left; vertical-align:middle; padding:14px clamp(8px,1.15vw,17px); }
.offer-table th {
  font-size:var(--type-small); font-weight:var(--weight-control); color:var(--secondary);
  background:var(--surface); border-bottom:1px solid var(--line); white-space:nowrap;
}
.offer-table th:first-child { width:16%; border-top-left-radius:var(--radius); }
.offer-table th:nth-child(2) { width:23%; }
.offer-table th:nth-child(3) { width:16%; }
.offer-table th:nth-child(4) { width:14%; }
.offer-table th:nth-child(5) { width:14%; }
.offer-table th:last-child { width:17%; border-top-right-radius:var(--radius); }
.offer-table th:nth-child(3),.offer-table td:nth-child(3),.offer-table th:last-child,.offer-table td:last-child { text-align:right; }
.offer-table tbody tr+tr td { border-top:1px solid var(--line); }
.offer-table td { overflow-wrap:anywhere; }
.offer-table td:nth-child(3) { font-weight:var(--weight-control); font-variant-numeric:tabular-nums; }
.offer-table td:nth-child(4),.offer-table td:nth-child(5) { font-variant-numeric:tabular-nums; color:var(--secondary); }
.offer-table tr:last-child td:first-child { border-bottom-left-radius:var(--radius); }
.offer-table tr:last-child td:last-child { border-bottom-right-radius:var(--radius); }
.offer-number {
  color:var(--ink); font-weight:var(--weight-title); text-decoration:underline;
  text-decoration-color:var(--line); text-underline-offset:4px; text-decoration-thickness:1px;
}
.offer-status {
  display:inline-flex; align-items:center; justify-content:center; gap:6px;
  min-height:34px; max-width:100%; padding:5px 10px; border:1px solid var(--line); border-radius:var(--pill-radius);
  background:#fff; color:var(--ink); font:inherit; font-size:var(--type-small); font-weight:var(--weight-control); cursor:pointer;
}
.offer-status::before,.offer-menu-action::before,.offer-business-state::before {
  content:""; width:8px; height:8px; flex:0 0 8px; border-radius:50%; background:var(--state-dot);
}
.offer-status::after { content:""; width:5px; height:5px; margin-inline:2px; margin-top:-3px; border:solid var(--secondary); border-width:0 1.5px 1.5px 0; transform:rotate(45deg); }
[data-state=new]:is(.offer-status,.offer-business-state),.offer-menu-action[data-action=open] { --state-dot:#ffcf03; }
[data-state=sent]:is(.offer-status,.offer-business-state),.offer-menu-action[data-action=send] { --state-dot:#68c7ec; }
.offer-status[data-state=paid],.offer-menu-action[data-action=paid] { --state-dot:#a9bf15; }
.offer-menu-action[data-action=duplicate] { --state-dot:#cee4a3; }
[data-state=dispatched]:is(.offer-status,.offer-business-state),.offer-menu-action[data-action=dispatched] { --state-dot:#deedc2; }
[data-state=discarded]:is(.offer-status,.offer-business-state),.offer-menu-action[data-action=discarded] { --state-dot:#ccc; }
.offer-menu-action[data-action=hub] { --state-dot:#f15d2f; }
.offer-business-state { display:flex; align-items:center; justify-content:flex-end; gap:6px; margin-top:4px; color:var(--secondary); font-size:var(--type-small); }
.offer-status[aria-expanded=true] { border-color:var(--orange-ink); background:var(--orange-wash); }
.offer-status:disabled { cursor:wait; }
.offer-menu {
  position:fixed; z-index:300; width:min(178px,calc(100vw - 16px)); overflow:auto; overscroll-behavior:contain;
  padding:5px; border:1px solid var(--line); border-radius:13px; background:var(--panel);
  box-shadow:0 8px 28px rgb(30 22 15 / 15%); animation:offer-appear .12s ease-out;
}
.offer-menu-action {
  display:flex; align-items:center; gap:10px; width:100%; border:0; border-radius:8px; text-align:left; padding:9px 12px;
  background:transparent; font:inherit; font-size:var(--type-small); font-weight:var(--weight-control); color:var(--ink); cursor:pointer;
}
.offer-menu-action { transition:background-color .12s ease-out; }
.offer-menu-action:focus-visible,.offer-dialog :is(a,button):focus-visible { outline:2px solid var(--focus); outline-offset:-2px; }
.offer-menu-action:focus-visible { background:var(--orange-wash); }
.offer-menu-action[data-action=hub] { border-top:1px solid var(--line); margin-top:3px; border-top-left-radius:0; border-top-right-radius:0; }
.offer-dialog {
  box-sizing:border-box; width:min(440px,calc(100vw - 24px)); max-height:calc(100dvh - 32px);
  margin:auto; padding:clamp(18px,3vw,28px); background:#fff; color:var(--ink);
  border:1px solid var(--line); border-radius:var(--radius); box-shadow:var(--header-shadow);
}
.offer-dialog::backdrop { background:rgb(25 20 15 / 38%); }
.offer-dialog-head,.offer-dialog-actions { display:flex; justify-content:space-between; gap:12px; align-items:center; }
.offer-dialog-head h2 { margin:0; font-size:var(--type-section); }
.offer-dialog-close { background:none; border:0; padding:8px; cursor:pointer; color:var(--secondary); text-decoration:underline; }
.offer-dialog-sub { overflow-wrap:anywhere; color:var(--secondary); font-weight:var(--weight-control); }
.offer-dialog-actions { justify-content:flex-start; flex-wrap:wrap; margin:16px 0; }
.offer-dialog-actions a { text-decoration:none; }
.offer-cell-label,.offer-mobile-help { display:none; }
@keyframes offer-appear { from {opacity:0;transform:translateY(-2px)} to {opacity:1;transform:none} }
@media (hover:hover) and (min-width:801px) {
  .offer-table tbody tr:hover td { background:var(--surface); }
}
@media (hover:hover) {
  .offer-number:hover { color:var(--orange-ink); text-decoration-color:currentColor; }
  .offer-status:hover { border-color:var(--edge); }
  .offer-menu-action:hover { background:var(--orange-wash); }
}
@media (min-width:801px) and (max-width:1050px) {
  .offer-table th,.offer-table td { padding-inline:8px; }
  .offer-table th:nth-child(2) { width:19%; }
  .offer-table th:nth-child(5) { width:18%; }
}
@media (max-width:800px) {
  .offer-mobile-help { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:14px; color:var(--secondary); font-size:var(--type-small); margin-block:0 12px; }
  .offer-mobile-help > span { display:inline-flex; align-items:center; }
  .offer-table,.offer-table tbody { display:block; }
  .offer-table { background:transparent; border:0; }
  .offer-table thead { display:none; }
  .offer-table tbody { display:grid; gap:10px; }
  .offer-table tbody tr {
    display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.9fr); align-items:center; gap:8px 14px;
    padding:13px 15px; background:var(--panel); border:1px solid var(--line); border-radius:var(--radius);
  }
  .offer-table tbody tr td { display:block; min-width:0; padding:0; text-align:left; border:0; background:none; }
  .offer-table tbody tr+tr td { border-top:0; }
  .offer-table td:first-child { grid-area:1 / 1; font-size:var(--type-subtitle); }
  .offer-table td:nth-child(2) { grid-area:2 / 1; }
  .offer-table td:nth-child(3) { grid-area:2 / 2; text-align:right; }
  .offer-table td:nth-child(4) { grid-area:3 / 1; }
  .offer-table td:nth-child(5) { grid-area:3 / 2; text-align:right; }
  .offer-table td:nth-child(6) { grid-area:1 / 2; text-align:right; }
  .offer-table td:nth-child(4),.offer-table td:nth-child(5) { padding-top:9px; border-top:1px solid var(--line); }
  .offer-cell-label { display:block; color:var(--muted); font-size:var(--type-small); margin-bottom:2px; }
  .offer-status { min-height:38px; }
  .offer-menu-action { min-height:40px; }
}
@media (prefers-reduced-motion:reduce) {
  .offer-menu { animation:none; }
  .offer-menu-action { transition:none; }
}
