textarea {
  width: 100%;
  min-height: 5.5rem;
  resize: vertical;
  border: 1px solid #d4dbe4;
  border-radius: 10px;
  background: #fff;
  color: #142033;
  font: inherit;
  padding: .75rem .85rem;
}

textarea:focus {
  border-color: #3a82f7;
  box-shadow: 0 0 0 3px rgba(58, 130, 247, .14);
  outline: 0;
}

.modal-head-action {
  position: absolute;
  right: 2.8rem;
  top: .1rem;
}

@media (max-width: 780px) {
  .modal-head-action {
    margin-top: .75rem;
    position: static;
  }
}

.portal-link {
  color: #19745f;
  display: block;
  font-size: .82rem;
  font-weight: 800;
  margin: 1rem 0;
  text-align: center;
  text-decoration: none;
}

.member-portal-chip {
  background: rgba(255, 255, 255, .08);
  border-radius: 10px;
  color: #d9e5e1;
  font-size: .78rem;
  font-weight: 750;
  padding: .65rem .75rem;
  text-decoration: none;
}

.head-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .6rem;
}

.engagement-grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: minmax(0, 2fr) minmax(280px, 1fr);
}

.utilization-list > div {
  align-items: center;
  border-top: 1px solid #e6ebef;
  display: grid;
  gap: .8rem;
  grid-template-columns: minmax(180px, 1fr) minmax(120px, 1fr) 3.5rem;
  padding: .8rem 0;
}

.utilization-list > div > span {
  display: flex;
  flex-direction: column;
}

.utilization-list small {
  color: #75808c;
  font-size: .72rem;
  margin-top: .2rem;
}

.utilization-list i {
  background: #e8edf1;
  border-radius: 999px;
  height: .45rem;
  overflow: hidden;
}

.utilization-list em {
  background: #24a47f;
  display: block;
  height: 100%;
  width: var(--w);
}

.credential-reveal {
  display: grid;
  gap: .35rem;
  padding: 1rem 0;
}

.credential-reveal small {
  color: #77818c;
  margin-top: .7rem;
}

.credential-reveal strong {
  font-size: 2.2rem;
  letter-spacing: .16em;
}

.credential-reveal p {
  color: #67727d;
}

/* Operational polish: schedule rosters and register-style checkout */
.pos-mast {
  align-items: center;
  background: linear-gradient(125deg, #071827 0%, #102e46 64%, #164a57 100%);
  border-radius: 18px;
  box-shadow: 0 18px 45px rgba(11, 31, 49, .16);
  color: #fff;
  display: flex;
  justify-content: space-between;
  margin-bottom: 1rem;
  overflow: hidden;
  padding: 1.45rem 1.6rem;
  position: relative;
}

.pos-mast::after {
  border: 1px solid rgba(255, 255, 255, .08);
  border-radius: 50%;
  content: "";
  height: 220px;
  position: absolute;
  right: -65px;
  top: -85px;
  width: 220px;
}

.pos-mast h1 { color: #fff; font-size: 2rem; margin: .08rem 0 .3rem; }
.pos-mast p:last-child { color: #aec2d1; font-size: .74rem; }
.pos-mast .eyebrow { color: #5bd4c1; }
.register-status { align-items: center; display: flex; gap: .7rem; position: relative; z-index: 1; }
.register-status i { background: #4ce0b3; border-radius: 50%; box-shadow: 0 0 0 6px rgba(76, 224, 179, .12); height: 8px; width: 8px; }
.register-status small,.register-status b { display: block; }
.register-status small { color: #8ca5b7; font-size: .58rem; letter-spacing: .08em; text-transform: uppercase; }
.register-status b { font-size: .72rem; margin-top: .15rem; }
.pos-mast-actions { align-items: center; display: flex; gap: 1rem; position: relative; z-index: 1; }
.past-due-button { align-items: center; background: linear-gradient(135deg,#fffbf2,#fff2d8); border: 1px solid rgba(239,174,63,.58); border-radius: 12px; color: #704412; display: grid; gap: .05rem .55rem; grid-template-columns: 32px 1fr; padding: .55rem .7rem; text-align: left; }
.past-due-button:hover { background: #fff; box-shadow: 0 8px 22px rgba(4,15,25,.22); transform: translateY(-1px); }
.past-due-button > span { align-items: center; background: #e49b26; border-radius: 8px; color: #fff; display: flex; font-size: .8rem; font-weight: 900; grid-row: 1 / 3; height: 30px; justify-content: center; width: 30px; }
.past-due-button b { font-size: .65rem; }
.past-due-button small { color: #9a6c2e; font-size: .5rem; }
.catalog-panel { min-width: 0; }
.pos-search { min-width: 100%; }
.category-strip { display: flex; gap: .4rem; margin: -.1rem 0 .8rem; overflow-x: auto; padding: .15rem 0 .25rem; }
.category-strip button { background: #fff; border: 1px solid #dce3e9; border-radius: 999px; color: #5d6d7a; flex: 0 0 auto; font-size: .63rem; font-weight: 750; padding: .48rem .75rem; }
.category-strip button.active { background: #153d5b; border-color: #153d5b; color: #fff; box-shadow: 0 5px 14px rgba(17, 51, 77, .16); }
.product-card { min-height: 108px; position: relative; }
.product-card > div { min-width: 0; padding-right: 1.35rem; }
.product-card h3 { overflow-wrap: anywhere; }
.product-card .add-product { align-items: center; background: #edf4f8; border-radius: 8px; color: #204f71; display: flex; font-size: .9rem; height: 26px; justify-content: center; position: absolute; right: .7rem; top: .7rem; width: 26px; }
.product-card:hover .add-product { background: #173f5c; color: #fff; }
.cart-panel { border: 0; box-shadow: 0 15px 40px rgba(20, 42, 61, .1); min-height: 520px; }
.cart-items > div { grid-template-columns: 24px minmax(0, 1fr) auto auto; }
.quantity-stepper { align-items: center; background: #f1f4f6; border-radius: 8px; display: flex; gap: .1rem; padding: 2px; }
.quantity-stepper button { background: transparent; color: #3d5263; height: 24px; width: 24px; }
.quantity-stepper b { min-width: 18px; text-align: center; }
.member-attach > span { align-items: baseline; display: flex; justify-content: space-between; }
.member-attach > span small { color: #8a97a2; font-size: .55rem; font-weight: 500; }
.attached-member { align-items: center; background: linear-gradient(130deg, #eaf6f3, #eff7fb); border: 1px solid #cfe7e1; border-radius: 11px; display: grid; gap: .55rem; grid-template-columns: 34px 1fr auto; margin-top: .65rem; padding: .65rem; }
.attached-member > span { align-items: center; background: #177b69; border-radius: 9px; color: #fff; display: flex; font-size: .65rem; font-weight: 850; height: 34px; justify-content: center; }
.attached-member b,.attached-member small { display: block; }
.attached-member b { font-size: .68rem; }
.attached-member small { color: #667b7a; font-size: .57rem; margin-top: .15rem; }
.attached-member em { background: #fff; border-radius: 999px; color: #177b69; font-size: .55rem; font-style: normal; font-weight: 800; padding: .28rem .45rem; }
.cart-total .savings { color: #158269; }
.tender-label { align-items: baseline; display: flex; justify-content: space-between; margin: .75rem 0 .5rem; }
.tender-label span { font-size: .67rem; font-weight: 800; }
.tender-label small { color: #8a97a2; font-size: .52rem; }
.tender-grid { display: grid; gap: .42rem; grid-template-columns: repeat(3, 1fr); }
.tender-grid button { background: #f7f9fb; border: 1px solid #dce3e9; border-radius: 11px; color: #2e4151; display: grid; gap: .15rem; justify-items: center; min-width: 0; padding: .65rem .25rem; transition: .15s; }
.tender-grid button:hover:not(:disabled) { background: #102f47; border-color: #102f47; color: #fff; transform: translateY(-1px); }
.tender-grid button:disabled { cursor: not-allowed; opacity: .4; }
.tender-grid button > span { font-size: 1rem; }
.tender-grid b { font-size: .63rem; }
.tender-grid small { color: #87949f; font-size: .5rem; }
.tender-grid button:hover small { color: #b8c9d6; }

.cash-register,.paybotx-terminal,.sale-complete { position: relative; }
.register-head { align-items: center; display: flex; gap: .8rem; margin-bottom: 1rem; padding-right: 2rem; }
.register-head h2 { font-size: 1.35rem; margin: .12rem 0 0; }
.drawer-icon { align-items: center; background: #e9f4f2; border-radius: 12px; color: #16816c; display: flex; font-size: 1.25rem; height: 48px; justify-content: center; width: 48px; }
.cash-display { background: #0b2031; border-radius: 14px; color: #fff; padding: 1rem 1.15rem; }
.cash-display small { color: #8ca6b9; display: block; font-size: .62rem; text-transform: uppercase; }
.cash-display > strong { display: block; font-size: 2.2rem; letter-spacing: -.04em; margin: .2rem 0 .45rem; }
.cash-display span { border-top: 1px solid rgba(255,255,255,.1); color: #a7bdcc; display: flex; font-size: .68rem; justify-content: space-between; padding-top: .55rem; }
.cash-display span b { color: #5ce0bd; font-size: .85rem; }
.quick-cash { display: grid; gap: .4rem; grid-template-columns: repeat(4,1fr); margin: .7rem 0; }
.quick-cash button { background: #eef4f7; border: 0; border-radius: 9px; color: #294a61; font-size: .65rem; font-weight: 800; padding: .65rem .3rem; }
.cash-pad { display: grid; gap: .4rem; grid-template-columns: repeat(3,1fr); margin-bottom: .75rem; }
.cash-pad button { background: #fff; border: 1px solid #dce3e8; border-radius: 10px; color: #203747; font-size: .9rem; font-weight: 750; padding: .7rem; }
.cash-pad button:hover,.quick-cash button:hover { background: #dfecef; }
.register-note { color: #7a8791; font-size: .59rem; line-height: 1.5; margin: .7rem auto 0; text-align: center; }

.lookup-search { display: grid; gap: .65rem; grid-template-columns: 1fr auto; }
.lookup-search .search { min-width: 0; }
.lookup-security { align-items: center; background: #f3f7f9; border: 1px solid #e0e8ec; border-radius: 11px; display: flex; gap: .65rem; margin: .8rem 0 1rem; padding: .65rem .75rem; }
.lookup-security > span { align-items: center; background: #dcebed; border-radius: 8px; color: #226275; display: flex; height: 32px; justify-content: center; width: 32px; }
.lookup-security p,.lookup-security b,.lookup-security small { display: block; margin: 0; }
.lookup-security b { font-size: .63rem; }
.lookup-security small { color: #788894; font-size: .55rem; margin-top: .15rem; }
.lookup-results { border: 1px solid #e1e7eb; border-radius: 12px; overflow: hidden; }
.lookup-results-head { align-items: baseline; background: #f7f9fa; display: flex; justify-content: space-between; padding: .65rem .8rem; }
.lookup-results-head span { font-size: .62rem; font-weight: 800; }
.lookup-results-head small { color: #85919a; font-size: .54rem; }
.lookup-results > button { align-items: center; background: #fff; border: 0; border-top: 1px solid #e8ecef; color: #243746; display: grid; gap: .7rem; grid-template-columns: 38px 1fr auto 18px; padding: .72rem .8rem; text-align: left; width: 100%; }
.lookup-results > button:hover { background: #f1f8f7; }
.lookup-avatar { align-items: center; background: #e4f1f3; border-radius: 10px; color: #235f70; display: flex; font-size: .62rem; font-weight: 850; height: 36px; justify-content: center; width: 36px; }
.lookup-results > button b,.lookup-results > button small { display: block; }
.lookup-results > button b { font-size: .68rem; }
.lookup-results > button small { color: #7d8992; font-size: .55rem; margin-top: .18rem; }
.lookup-balance { text-align: right; }
.lookup-balance small { text-transform: capitalize; }
.lookup-balance b { color: #93491e; font-size: .8rem !important; margin-top: .2rem; }
.past-due-member { align-items: center; background: linear-gradient(130deg,#edf6f6,#f2f6fa); border: 1px solid #d8e6e7; border-radius: 12px; display: grid; gap: .7rem; grid-template-columns: 42px 1fr auto; padding: .75rem; }
.past-due-member > span { align-items: center; background: #176f70; border-radius: 10px; color: #fff; display: flex; font-size: .7rem; font-weight: 850; height: 40px; justify-content: center; }
.past-due-member b,.past-due-member small { display: block; }
.past-due-member b { font-size: .68rem; }
.past-due-member small { color: #738487; font-size: .56rem; margin-top: .18rem; }
.past-due-total { background: #0d283c; border-radius: 12px; color: #fff; display: grid; grid-template-columns: 1.5fr 1fr 1fr; margin: .8rem 0; }
.past-due-total > span { border-right: 1px solid rgba(255,255,255,.1); padding: .8rem 1rem; }
.past-due-total > span:last-child { border: 0; }
.past-due-total small,.past-due-total b { display: block; }
.past-due-total small { color: #8ca5b7; font-size: .54rem; margin-bottom: .25rem; text-transform: uppercase; }
.past-due-total b { font-size: .9rem; }
.past-due-total > span:first-child b { color: #ffd17e; font-size: 1.25rem; }
.past-due-invoices { border: 1px solid #e1e7eb; border-radius: 11px; max-height: 220px; overflow: auto; }
.past-due-invoices > div { align-items: center; border-top: 1px solid #e8ecef; display: grid; gap: .65rem; grid-template-columns: 1.35fr 1fr .7fr .65fr; padding: .6rem .7rem; }
.past-due-invoices > div:first-child { background: #f7f9fa; border: 0; color: #82909a; font-size: .53rem; text-transform: uppercase; }
.past-due-invoices span,.past-due-invoices small { display: block; }
.past-due-invoices span,.past-due-invoices > div > b { font-size: .62rem; }
.past-due-invoices small { color: #84909a; font-size: .52rem; margin-top: .15rem; }
.past-due-alert { border-radius: 10px; display: grid; gap: .12rem; margin: .75rem 0; padding: .65rem .75rem; }
.past-due-alert.blocked { background: #fff0ed; border: 1px solid #f3c8bd; color: #833c2c; }
.past-due-alert.warning { background: #fff8e9; border: 1px solid #eedaa8; color: #79581c; }
.past-due-alert b { font-size: .65rem; }
.past-due-alert span { font-size: .56rem; }
.past-due-tenders { display: grid; gap: .6rem; grid-template-columns: 1fr 1fr; }
.past-due-tenders button { align-items: center; background: #f7f9fa; border: 1px solid #dce3e8; border-radius: 11px; color: #263d4d; display: grid; gap: .1rem .6rem; grid-template-columns: 36px 1fr; padding: .7rem .8rem; text-align: left; }
.past-due-tenders button:hover { background: #0f354d; color: #fff; }
.past-due-tenders button > span { align-items: center; background: #e7eff3; border-radius: 8px; color: #285b73; display: flex; font-size: 1rem; grid-row: 1 / 3; height: 34px; justify-content: center; }
.past-due-tenders b { font-size: .65rem; }
.past-due-tenders small { color: #84919a; font-size: .52rem; }
.past-due-tenders button:hover small { color: #b7c7d1; }
.lookup-back { display: block; margin: .8rem auto 0; }
.change-callout { align-items: center; background: #fff2d7; border: 1px solid #ecd39b; border-radius: 10px; display: flex; justify-content: space-between; margin: -.3rem 0 .8rem; padding: .7rem .8rem; text-align: left; }
.change-callout small { color: #84642e; font-size: .6rem; font-weight: 800; text-transform: uppercase; }
.change-callout b { color: #6f4911; font-size: 1.05rem; }

.paybotx-terminal { background: linear-gradient(145deg, #071824, #0c3044); border-radius: 14px; color: #fff; margin: -1.3rem; min-height: 490px; overflow: hidden; padding: 1.5rem; }
.paybotx-terminal::after { background: radial-gradient(circle, rgba(51,209,184,.12), transparent 68%); content: ""; height: 340px; pointer-events: none; position: absolute; right: -130px; top: -130px; width: 340px; }
.terminal-brand span,.terminal-brand small { display: block; }
.terminal-brand span { font-size: .83rem; font-weight: 900; letter-spacing: .16em; }
.terminal-brand small { color: #7894a5; font-size: .53rem; margin-top: .15rem; text-transform: uppercase; }
.terminal-close { background: rgba(255,255,255,.08); color: #c5d5df; right: 0; }
.terminal-card { background: linear-gradient(130deg, #257466, #31a897); border: 1px solid rgba(255,255,255,.14); border-radius: 15px; box-shadow: 0 18px 35px rgba(0,0,0,.22); display: grid; margin: 1.3rem 0; min-height: 112px; padding: 1rem; position: relative; transform: rotate(-1deg); }
.terminal-card i { background: linear-gradient(135deg,#f0d98d,#ba9f51); border-radius: 5px; height: 23px; width: 31px; }
.terminal-card b { align-self: end; letter-spacing: .12em; }
.terminal-card span { align-self: end; color: #d8fff7; font-size: .54rem; justify-self: end; }
.terminal-progress { align-items: center; display: grid; gap: 1rem; grid-template-columns: 66px 1fr; }
.countdown-ring { align-items: center; border: 3px solid #38c7ae; border-radius: 50%; display: flex; flex-direction: column; height: 62px; justify-content: center; width: 62px; }
.countdown-ring strong { font-size: 1.25rem; }
.countdown-ring span { color: #7e9baa; font-size: .5rem; }
.terminal-progress .eyebrow { color: #48d7bd; }
.terminal-progress h2 { font-size: 1.3rem; margin: .15rem 0; }
.terminal-progress p:last-child { color: #8fa6b4; font-size: .63rem; }
.terminal-total { align-items: baseline; border-bottom: 1px solid rgba(255,255,255,.1); border-top: 1px solid rgba(255,255,255,.1); display: flex; justify-content: space-between; margin: 1.25rem 0 .8rem; padding: .75rem 0; }
.terminal-total span { color: #8fa6b4; font-size: .64rem; }
.terminal-total b { font-size: 1.4rem; }
.terminal-dots { display: flex; gap: .35rem; justify-content: center; }
.terminal-dots i { background: rgba(255,255,255,.13); border-radius: 50%; height: 6px; width: 6px; }
.terminal-dots i.active { background: #42d4ba; box-shadow: 0 0 8px rgba(66,212,186,.7); }
.secure-foot { bottom: 1rem; color: #607d8e; font-size: .53rem; left: 0; position: absolute; text-align: center; width: 100%; }

.account-charge-card { align-items: center; background: linear-gradient(130deg,#eaf6f3,#edf5fb); border: 1px solid #cfe4e2; border-radius: 13px; display: grid; gap: .7rem; grid-template-columns: 42px 1fr; padding: .8rem; }
.account-charge-card > span { align-items: center; background: #167965; border-radius: 11px; color: #fff; display: flex; font-size: .7rem; font-weight: 850; height: 42px; justify-content: center; }
.account-charge-card b,.account-charge-card small { display: block; }
.account-charge-card small { color: #6f8281; font-size: .6rem; margin-top: .2rem; }
.account-balance-preview { align-items: center; display: grid; gap: .35rem; grid-template-columns: 1fr auto 1fr auto 1fr; margin: 1rem 0; }
.account-balance-preview > span { background: #f4f6f8; border-radius: 10px; padding: .75rem; }
.account-balance-preview > span.projected { background: #e7f5f1; }
.account-balance-preview small,.account-balance-preview b { display: block; }
.account-balance-preview small { color: #778591; font-size: .55rem; margin-bottom: .25rem; }
.account-balance-preview b { font-size: .85rem; }
.account-balance-preview i { color: #84929d; font-style: normal; }
.sale-complete { padding: .7rem; text-align: center; }
.complete-mark { align-items: center; background: #19a37d; border-radius: 50%; box-shadow: 0 0 0 8px #e8f7f2; color: #fff; display: flex; font-size: 1.5rem; height: 54px; justify-content: center; margin: .5rem auto 1.2rem; width: 54px; }
.sale-complete h2 { font-size: 2.3rem; letter-spacing: -.05em; margin: .2rem 0; }
.sale-complete > p:not(.eyebrow) { color: #71808c; font-size: .68rem; }
.receipt-detail { background: #f4f7f9; border-radius: 11px; display: grid; gap: .3rem; margin: 1rem 0; padding: .85rem; }
.receipt-detail span { font-size: .7rem; font-weight: 800; }
.receipt-detail small { color: #7b8994; font-size: .57rem; }

.schedule-key { align-items: center; display: flex; gap: 1rem; margin: -.2rem 0 .7rem; }
.schedule-key span { align-items: center; color: #667684; display: flex; font-size: .6rem; gap: .35rem; }
.schedule-key i { background: #26a88c; border-radius: 50%; height: 7px; width: 7px; }
.schedule-key .key-wait { background: #d79a32; }
.schedule-key small { color: #8b97a1; font-size: .58rem; margin-left: auto; }
.schedule-days > article.session-row { cursor: pointer; grid-template-columns: 105px minmax(210px,1fr) 180px 155px; transition: border-color .16s,box-shadow .16s,transform .16s; }
.schedule-days > article.session-row:hover,.schedule-days > article.session-row:focus { border-color: #a8c7d6; box-shadow: 0 10px 25px rgba(26,59,79,.08); outline: 0; transform: translateY(-1px); }
.session-actions { align-items: flex-end; display: flex; flex-direction: column; gap: .45rem; }
.roster-link { color: #247257; font-size: .62rem; font-weight: 800; }
.roster-link b { font-size: .8rem; margin-left: .2rem; }
.roster-head { align-items: center; display: flex; gap: 1rem; justify-content: space-between; margin-bottom: 1rem; padding-right: 2.3rem; position: relative; }
.roster-head h2 { font-size: 1.7rem; margin: .15rem 0 .3rem; }
.roster-head p:last-child { color: #73818c; font-size: .68rem; }
.roster-summary { background: #f4f7f9; border-radius: 12px; display: grid; grid-template-columns: repeat(4,1fr); margin-bottom: 1rem; }
.roster-summary span { border-right: 1px solid #e0e6ea; padding: .8rem 1rem; }
.roster-summary span:last-child { border: 0; }
.roster-summary small,.roster-summary b { display: block; }
.roster-summary small { color: #7a8791; font-size: .57rem; margin-bottom: .25rem; text-transform: uppercase; }
.roster-summary b { font-size: .9rem; }
.roster-list { border: 1px solid #e1e7eb; border-radius: 12px; overflow: hidden; }
.roster-list-head,.roster-person { align-items: center; display: grid; gap: .7rem; grid-template-columns: 1.25fr 1.1fr 1.15fr .9fr auto; padding: .7rem .8rem; }
.roster-list-head { background: #f7f9fa; color: #82909b; font-size: .54rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.roster-person { border-top: 1px solid #e8ecef; }
.roster-person > span b,.roster-person > span small { display: block; }
.roster-person > span b { font-size: .64rem; }
.roster-person > span small { color: #84909a; font-size: .54rem; margin-top: .18rem; }
.roster-person .person > i { align-items: center; background: #e7f1f5; border-radius: 9px; color: #245c76; display: flex; font-size: .6rem; font-style: normal; font-weight: 850; height: 34px; justify-content: center; width: 34px; }

@media (max-width: 900px) {
  .engagement-grid {
    grid-template-columns: 1fr;
  }

  .schedule-days > article.session-row { grid-template-columns: 85px 1fr auto; }
  .schedule-days > article.session-row .capacity { display: none; }
  .roster-list-head { display: none; }
  .roster-person { grid-template-columns: 1fr 1fr; }
  .roster-person > span:last-child { justify-self: end; }
}

@media (max-width: 620px) {
  .head-actions {
    width: 100%;
  }

  .head-actions .button {
    flex: 1;
  }

  .utilization-list > div {
    grid-template-columns: 1fr 3rem;
  }

  .utilization-list i {
    grid-column: 1 / 3;
    grid-row: 2;
  }

  .pos-mast { align-items: flex-start; padding: 1.2rem; }
  .register-status { display: none; }
  .pos-mast-actions { align-items: flex-end; }
  .tender-grid { grid-template-columns: 1fr; }
  .tender-grid button { grid-template-columns: 26px 1fr; justify-items: start; padding: .65rem .75rem; text-align: left; }
  .tender-grid button small { grid-column: 2; }
  .cart-items > div { grid-template-columns: 22px 1fr auto; }
  .cart-items > div > strong { grid-column: 3; }
  .quantity-stepper { grid-column: 2; width: max-content; }
  .quick-cash { grid-template-columns: repeat(2,1fr); }
  .account-balance-preview { grid-template-columns: 1fr; }
  .account-balance-preview > i { display: none; }
  .roster-head { align-items: flex-start; flex-direction: column; }
  .roster-summary { grid-template-columns: 1fr 1fr; }
  .roster-summary span:nth-child(2) { border-right: 0; }
  .roster-summary span:nth-child(-n+2) { border-bottom: 1px solid #e0e6ea; }
  .roster-person { grid-template-columns: 1fr; }
  .roster-person > span:last-child { justify-self: start; }
  .lookup-search { grid-template-columns: 1fr; }
  .lookup-results > button { grid-template-columns: 36px 1fr auto; }
  .lookup-results > button > strong { display: none; }
  .past-due-total { grid-template-columns: 1fr 1fr; }
  .past-due-total > span:first-child { grid-column: 1 / 3; }
  .past-due-total > span:nth-child(2) { border-top: 1px solid rgba(255,255,255,.1); }
  .past-due-total > span:nth-child(3) { border-top: 1px solid rgba(255,255,255,.1); }
  .past-due-invoices > div { grid-template-columns: 1.2fr 1fr .65fr; }
  .past-due-invoices > div > :nth-child(3) { display: none; }
  .past-due-tenders { grid-template-columns: 1fr; }
}
