.admin-dashboard-container:has(.aw-workspace) { min-width: 0; min-height: 0; width: 100%; height: auto; padding: 0; overflow: auto; background: #f7f7f8 !important; }
.aw-workspace { box-sizing: border-box; width: min(1500px, 100%); min-width: 0; padding: clamp(20px, 3vw, 42px); margin: 0 auto; color: #202127; animation: aw-enter .22s ease-out; }
.aw-workspace *, .aw-dialog * { box-sizing: border-box; }
.aw-header, .aw-panel > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; flex-wrap: wrap; }
.aw-header { margin-bottom: 28px; }
.aw-eyebrow { font-size: 10px; font-weight: 750; letter-spacing: .15em; color: #757781; }
.aw-agency-signature { display: flex; align-items: center; gap: 18px; margin-bottom: 16px; }
.aw-agency-signature img { display: block; width: 156px; height: auto; filter: brightness(0); }
.aw-receipt-brand img { display: block; width: 210px; max-width: 100%; height: auto; filter: brightness(0); }
.aw-header h1 { font-size: clamp(25px, 2.5vw, 38px); letter-spacing: -.045em; margin: 8px 0; line-height: 1.15; }
.aw-header p, .aw-panel p, .aw-dialog p { font-size: 13px; line-height: 1.6; color: #747680; margin: 6px 0; max-width: 75ch; }
.aw-actions, .aw-row-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.aw-button { display: inline-flex; align-items: center; justify-content: center; padding: 9px 13px; border-radius: 7px; border: 1px solid #dedee3; background: #fff; color: #282a31; font: inherit; font-size: 12px; font-weight: 650; cursor: pointer; text-decoration: none; white-space: nowrap; transition: background .14s ease, border-color .14s ease; }
.aw-button:hover { background: #f1f1f3; border-color: #bbbbc3; }
.aw-button[data-primary="true"] { background: #212127; border-color: #212127; color: #fff; }
.aw-button[data-primary="true"]:hover { background: #3c3c47; }
.aw-button:disabled { cursor: wait; opacity: .55; }
.aw-button:focus-visible, .aw-due-row:focus-visible, .aw-workload button:focus-visible, .aw-dialog input:focus-visible, .aw-dialog textarea:focus-visible, .aw-dialog select:focus-visible, .aw-close:focus-visible { outline: 3px solid #8982ec; outline-offset: 3px; }
.aw-metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin: 0 0 20px; }
.aw-metrics article { min-width: 0; padding: 22px; border: 1px solid #e7e7ea; border-radius: 12px; background: white; display: flex; flex-direction: column; gap: 13px; }
.aw-metrics article > span { font-size: 12px; color: #73757e; }
.aw-metrics strong { font-size: 34px; letter-spacing: -.04em; line-height: 1.15; }
.aw-metrics small { font-size: 11px; color: #83858d; line-height: 1.5; }
.aw-money { display: flex; flex-direction: column; gap: 6px; overflow-wrap: anywhere; }
.aw-metrics .aw-money { font-size: clamp(17px, 1.45vw, 23px); letter-spacing: -.02em; }
.aw-small-money { font-size: 17px; font-weight: 750; }
.aw-warning { color: #b04a29 !important; }
.aw-grid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 20px; }
.aw-panel { min-width: 0; border: 1px solid #e7e7ea; border-radius: 12px; background: white; margin-bottom: 20px; overflow: hidden; }
.aw-panel > header { padding: 21px 24px; align-items: center; }
.aw-panel h2 { margin: 0; font-size: 16px; letter-spacing: -.02em; line-height: 1.3; }
.aw-panel > header > span { color: #878993; font-size: 11px; }
.aw-panel > header p { font-size: 12px; }
.aw-due-list, .aw-workload { padding: 0 24px 10px; }
.aw-due-row, .aw-workload button { width: 100%; min-width: 0; background: none; border: 0; border-top: 1px solid #f0f0f3; padding: 15px 0; display: flex; align-items: center; justify-content: space-between; gap: 18px; text-align: left; cursor: pointer; color: inherit; font-family: inherit; }
.aw-due-row:hover, .aw-workload button:hover { background: #fbfbfc; }
.aw-due-row b, .aw-workload b { font-size: 13px; font-weight: 600; overflow-wrap: anywhere; display: block; }
.aw-due-row > span:last-child { text-align: right; font-size: 12px; flex-shrink: 0; }
.aw-due-row small, .aw-workload small, .aw-workspace td small { display: block; margin-top: 5px; font-size: 11px; font-weight: 400; line-height: 1.5; color: #848690; }
.aw-workload strong { display: inline-grid; place-items: center; min-width: 28px; height: 28px; border-radius: 6px; background: #f4f4f6; font-size: 13px; }
.aw-empty { padding: 24px !important; color: #83858d; text-align: center; font-size: 13px; }
.aw-table-scroll { overflow: auto; width: 100%; -webkit-overflow-scrolling: touch; }
.aw-workspace table, .aw-dialog table { border-collapse: collapse; width: 100%; font-size: 12px; text-align: left; }
.aw-workspace th, .aw-dialog th { padding: 11px 20px; font-size: 10px; font-weight: 650; color: #858791; background: #fafafb; border-block: 1px solid #ededf0; text-transform: uppercase; letter-spacing: .03em; white-space: nowrap; }
.aw-workspace td, .aw-dialog td { padding: 16px 20px; border-bottom: 1px solid #f0f0f3; max-width: 340px; overflow-wrap: anywhere; vertical-align: middle; line-height: 1.5; }
.aw-dialog td small { display: block; color: #868893; margin-top: 4px; font-size: 10px; }
.aw-workspace tr:last-child td, .aw-dialog tr:last-child td { border-bottom: 0; }
.aw-nowrap { white-space: nowrap; }
.aw-progress { display: block; width: 110px; height: 4px; border-radius: 4px; background: #ededf0; overflow: hidden; }
.aw-progress i { display: block; height: 100%; background: #79728e; border-radius: inherit; transition: width .3s ease; }
.aw-status { display: inline-flex; padding: 3px 7px; background: #f3f3f5; color: #686a75; border-radius: 4px; font-size: 11px; white-space: nowrap; }
.aw-issued { color: #906127; background: #fbf5e9; }.aw-paid { color: #3b765b; background: #edf6f1; }.aw-cancelled { color: #875960; background: #f6edef; }
.aw-row-actions .aw-button { padding: 5px 8px; font-size: 11px; }
.aw-filter { display: flex; align-items: center; gap: 8px; font-size: 12px; color: #7a7c85; }
.aw-filter select { font: inherit; color: #343640; border: 1px solid #dfdfe4; border-radius: 6px; padding: 6px 10px; background: white; }
.aw-notice { padding: 14px 18px; border: 1px solid #efdfbd; color: #816a45; background: #fffaf0; border-radius: 7px; font-size: 12px; margin-bottom: 18px; overflow-wrap: anywhere; }
.aw-legacy { padding: 20px 24px; }.aw-legacy summary { font-size: 13px; cursor: pointer; font-weight: 600; }.aw-legacy p { font-size: 12px; margin-top: 12px; }
.aw-dialog { border: 1px solid #e4e4ea; border-radius: 14px; padding: 28px; width: min(640px, calc(100vw - 32px)); max-width: calc(100vw - 32px); max-height: calc(100dvh - 32px); overflow: auto; background: #fff; color: #25262c; box-shadow: 0 20px 70px #16142425; font-family: inherit; }
.aw-dialog::backdrop { background: #1e1d2866; backdrop-filter: blur(4px); }
.aw-dialog > header, .aw-dialog form > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; margin-bottom: 14px; }
.aw-dialog h2 { margin: 0; font-size: 22px; letter-spacing: -.03em; line-height: 1.3; }.aw-dialog h3 { font-size: 13px; }
.aw-close { border: none; background: none; color: #777983; font: inherit; font-size: 25px; padding: 0 4px; cursor: pointer; }
.aw-dialog label { display: flex; flex-direction: column; gap: 7px; margin: 18px 0 0; font-size: 12px; font-weight: 600; }
.aw-dialog input, .aw-dialog select, .aw-dialog textarea { width: 100%; min-width: 0; padding: 11px 12px; border: 1px solid #dedee5; border-radius: 7px; color: #2b2c33; background: #fff; font: inherit; font-size: 14px; font-weight: 400; }
.aw-dialog textarea { resize: vertical; }.aw-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 16px; }
.aw-dialog .aw-confirm-check { flex-direction: row; font-weight: 400; line-height: 1.6; align-items: flex-start; }.aw-confirm-check input { width: 16px; height: 16px; flex: 0 0 16px; margin-top: 3px; }
.aw-dialog form > footer { margin-top: 22px; display: flex; justify-content: flex-end; gap: 10px; }.aw-dialog .aw-error { color: #ab3b36; min-height: 20px; }
#awMemberDialog { width: min(980px, calc(100vw - 32px)); }
#awReceiptDialog { width: min(800px, calc(100vw - 32px)); }
.aw-receipt { padding: 28px 10px 10px; color: #24252a; font-size: 13px; }
.aw-receipt-brand { font-size: 26px; font-weight: 850; letter-spacing: -.05em; border-bottom: 3px solid #24252a; padding-bottom: 22px; }.aw-receipt-brand span { display: block; font-size: 10px; letter-spacing: .18em; margin-top: 3px; font-weight: 500; }
.aw-receipt h1 { font-size: 27px; margin: 26px 0 8px; letter-spacing: -.03em; }.aw-receipt-folio { font-family: monospace; }
.aw-receipt dl { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin: 28px 0; }.aw-receipt dt { color: #777983; font-size: 11px; margin-bottom: 6px; }.aw-receipt dd { margin: 0; overflow-wrap: anywhere; line-height: 1.6; }
.aw-receipt-total { display: block; border-top: 1px solid #dddddf; padding-top: 22px; font-size: 29px; letter-spacing: -.03em; }.aw-receipt footer { border-top: 1px solid #dddddf; padding-top: 14px; margin-top: 30px; font-size: 10px; color: #767881; line-height: 1.7; }.aw-receipt li { font-size: 11px; line-height: 1.8; }
.aw-print-root { display: none; }
@keyframes aw-enter { from { opacity: .5; transform: translateY(4px); } to { opacity: 1; transform: translateY(0); } }
@media (max-width: 1150px) { .aw-metrics { grid-template-columns: repeat(2, minmax(0,1fr)); }.aw-grid { grid-template-columns: 1fr; }.aw-metrics .aw-money { font-size: 22px; } }
@media (max-width: 600px) { .aw-workspace { padding: 18px 12px; }.aw-header { gap: 18px; }.aw-header h1 { font-size: 27px; }.aw-header .aw-actions { width: 100%; }.aw-header .aw-button { flex: 1; }.aw-metrics { gap: 8px; }.aw-metrics article { padding: 16px 12px; }.aw-metrics strong { font-size: 29px; }.aw-metrics .aw-money { font-size: 17px; }.aw-panel > header { padding: 18px; }.aw-due-list, .aw-workload { padding-inline: 18px; }.aw-dialog { padding: 22px 18px; }.aw-form-grid { grid-template-columns: 1fr; gap: 0; }.aw-receipt dl { grid-template-columns: 1fr; }.aw-dialog > header { flex-direction: column; }.aw-due-row { gap: 10px; } }
@media (prefers-reduced-motion: reduce) { .aw-workspace { animation: none; }.aw-progress i, .aw-button { transition: none; } }
@media print {
  body.aw-printing > * { display: none !important; }
  body.aw-printing > .aw-print-root { display: block !important; }
  body.aw-printing { overflow: visible !important; height: auto !important; background: #fff !important; }
  body.aw-printing dialog, body.aw-printing dialog::backdrop { display: none !important; }
  .aw-print-root .aw-receipt { padding: 0; font-family: Arial, sans-serif; }
  .aw-print-root .aw-receipt dl { grid-template-columns: 1fr 1fr; }
  .aw-print-root .aw-receipt a::after { content: " (" attr(href) ")"; font-size: 9px; overflow-wrap: anywhere; }
  .aw-print-root .aw-receipt dl > div, .aw-print-root .aw-receipt-total, .aw-print-root .aw-receipt footer { break-inside: avoid; }
  @page { margin: 20mm; }
}
