/* =========================================================
   Restaurant Weekly Manager (RWM) - Weekly Manager Styles
   Used on the Weekly Manager page (wages, purchases, fixed, income)
   ========================================================= */

.rwm-wrap { max-width: 980px; margin: 0 auto; font-family: inherit; }

.rwm-top-row { margin-bottom: 16px; border: 1px solid #ddd; padding: 10px; background: #fdfdfd; }

.rwm-top-row label { display: block; font-size: 12px; margin-bottom: 4px; }

.rwm-top-row input[type="date"] { padding: 4px 6px; font-size: 13px; max-width: 200px; width: 100%; }

.rwm-main-panels { margin-top: 8px; }

.rwm-main-panel { display: none; }

.rwm-main-panel.rwm-main-active { display: block; }

.rwm-tabs-nav { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 16px; }

.rwm-worker-card { border: 1px solid #ddd; padding: 16px; background: #fff; display: none; }

.rwm-worker-card.rwm-active { display: block; }

.rwm-section-title { margin: 20px 0 8px; padding: 8px 10px; background: #356ECC; color: #fff; font-weight: 600; text-align: left; font-size:16px!important; font-family:arial !important; }

.rwm-field-row { display: flex; flex-wrap: wrap; gap: 8px;}

.rwm-field { flex: 1 1 150px; border: 1px solid #ddd; padding: 8px; }

.rwm-field label { display: block; font-size: 11px; margin-bottom: 4px; }

.rwm-field input, .rwm-field select, .rwm-field textarea { width: 100%; box-sizing: border-box; padding: 4px 6px; font-size: 13px; }

.rwm-inline-input-btn{
  display: flex;
  gap: 10px;
  align-items: center;
}

.rwm-inline-input-btn input{
  flex: 1 1 auto;
  width: auto; /* override 100% so button can sit beside */
}

.rwm-full-action-btn{
  background: #3bb54a;
  color: #fff;
  border: 0;
  padding: 6px 12px;
  border-radius: 4px;
  font-size: 13px;
  line-height: 1;
  cursor: pointer;
  white-space: nowrap;
}

.rwm-full-action-btn:hover{ filter: brightness(0.95); }

.rwm-full-action-btn:active{ filter: brightness(0.9); }

.rwm-full-action-btn:disabled{ opacity: 0.6; cursor: not-allowed; }

.rwm-weekly-hours { display: flex; flex-wrap: wrap; gap: 10px; }

.rwm-day-box { min-width: 80px; border: 1px solid #ddd; padding: 6px; text-align: center; }

.rwm-day-box strong { display: block; margin-bottom: 4px; font-size: 12px; }

.rwm-day-hm { display: flex; gap: 6px; justify-content: center; margin-top: 4px; }

.rwm-day-col { display: flex; flex-direction: column; align-items: center; font-size: 11px; }

.rwm-day-col select { width: 60px; margin-top: 2px; }

.rwm-notes textarea { min-height: 120px; resize: vertical; }

.rwm-save-wrap { margin-top: 20px; text-align: left; }

.rwm-save-btn { padding: 8px 24px; border: 1px solid #ccc; background: #f5f5f5; cursor: pointer; font-size: 14px; }

#rwm-save-message { margin-top: 10px; font-size: 13px; }

.rwm-purchases-list { display: flex; flex-direction: column; gap: 16px; }

.rwm-purchase-card { border: 1px solid #ddd; background: #fff; }

.rwm-purchase-inner { padding: 10px 10px 14px; }

.rwm-purchase-remove-wrap { display: flex; align-items: flex-end; justify-content: flex-end; margin-bottom:8px; }

.rwm-remove-purchase-card{
  padding:5px 10px;
  border-radius:16px;
  border:1px solid rgba(0,0,0,0.25);
  background:#fff;
  cursor:pointer;
}

.rwm-remove-purchase-card.rwm-remove-disabled{ opacity:0.4; cursor:not-allowed; }

.rwm-purchases-total-wrap { margin-top: 12px; max-width: 260px; }

.rwm-fixed-list { display: flex; flex-direction: column; gap: 10px; }

.rwm-fixed-card { border: 1px solid #ddd; background: #fff; }

.rwm-fixed-inner { padding: 8px 10px; }

.rwm-fixed-row { display: flex; flex-wrap: wrap; align-items: flex-end; gap:8px; }


.rwm-fixed-row-1 .rwm-fixed-desc { flex: 1 1 240px; max-width: none; }

.rwm-fixed-row-2 { align-items: flex-end; }

.rwm-fixed-row-2 .rwm-fixed-receipt { flex: 1 1 320px; max-width: none; }

.rwm-fixed-row-2 .rwm-fixed-monthly { flex: 0 0 240px; }

.rwm-fixed-row-2 .rwm-fixed-paid { flex: 0 0 120px; }

.rwm-fixed-date   { max-width: 150px; }

.rwm-fixed-amount { max-width: 160px; }

.rwm-fixed-receipt{ max-width: 100%; }

.rwm-fixed-remove-wrap { max-width: 100px; display: flex; justify-content: flex-end; }

.rwm-remove-fixed-card{
  padding:5px 10px;
  border-radius:16px;
  border:1px solid rgba(0,0,0,0.25);
  background:#fff;
  cursor:pointer;
}

.rwm-remove-fixed-card.rwm-remove-disabled{ opacity:0.4; cursor:not-allowed; }

.rwm-fixed-total-wrap { margin-top: 12px; max-width: 260px; }

.rwm-income-tabs-nav { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 12px; }

.rwm-income-panel { display: none; }

.rwm-income-panel.rwm-income-active { display: block; }

.rwm-income-epos { margin-top: 8px; }

.rwm-income-online-list { display: flex; flex-direction: column; gap: 10px; }

.rwm-income-online-card { border: 1px solid #ddd; background: #fff; }

.rwm-income-online-remove { max-width: 100px; display: flex; justify-content: flex-end; }

.rwm-remove-income-online-card { border: 1px solid #ccc; background: #f5f5f5; padding: 4px 10px; cursor: pointer; font-size: 12px; }

.rwm-remove-income-online-card.rwm-remove-disabled { opacity: 0.4; cursor: not-allowed; }

.rwm-view-only input[disabled],
.rwm-view-only select[disabled],
.rwm-view-only textarea[disabled] {
    border: none;
    background: transparent;
    color: #000;
    box-shadow: none;
}

.rwm-view-only .rwm-save-wrap { display: none; }

.rwm-top-row label {
                    font-size: 13px;
                    margin-right: 15px;
                }

.rwm-top-controls {
                    display: flex;
                    flex-wrap: wrap;
                    gap: 16px;
                    align-items: center;
                }

.rwm-section-title {
                    margin: 20px 0 8px;
                    padding: 8px 10px;
                    background: #356ECC;
                    color: #fff;
                    font-weight: 600;
                    text-align: left;
                }

.rwm-field {
                    flex: 1 1 150px;
                    border: 1px solid #ddd;
                    padding: 8px;
                    background: #fff;
                }

.rwm-weekly-hours {
                    display: flex;
                    flex-wrap: wrap;
                    gap:.9%;
                }

.rwm-day-box {
                    min-width: 80px;
                    border: 1px solid #ddd;
                    padding: 6px;
                    text-align: center;
                    background: #fff;
                }

.rwm-day-box select {
                    margin: 2px 0;
                    width: 100%;
                }

.rwm-remove-purchase-card {
                    border: 1px solid #ccc;
                    background: #f5f5f5;
                    padding: 4px 10px;
                    cursor: pointer;
                    font-size: 12px;
                }

.rwm-remove-purchase-card.rwm-remove-disabled {
                    opacity: 0.4;
                    cursor: not-allowed;
                }

.rwm-remove-fixed-card {
                    border: 1px solid #ccc;
                    background: #f5f5f5;
                    padding: 4px 10px;
                    cursor: pointer;
                    font-size: 12px;
                }

.rwm-remove-fixed-card.rwm-remove-disabled {
                    opacity: 0.4;
                    cursor: not-allowed;
                }

.rwm-admin-summary-groups {
                    margin-top: 10px;
                }

.rwm-admin-summary-header {
                    padding: 8px 10px;
                    background: #356ECC;
                    color: #fff;
                    font-weight: 600;
                    margin-top: 10px;
                }

.rwm-admin-summary-row {
                    display: flex;
                    flex-wrap: wrap;
                    gap: 12px;
                    margin-bottom: 10px;
                }

.rwm-admin-summary-box {
                    flex: 1 1 160px;
                    border: 1px solid #ddd;
                    background: #fff;
                    padding: 8px 10px;
                    min-height: 70px;
                }

.rwm-admin-summary-box-title {
                    font-size: 12px;
                    margin-bottom: 4px;
                }

.rwm-admin-summary-box-value {
                    font-size: 18px;
                    font-weight: 600;
                    margin-top: 4px;
                }

@media (max-width: 768px){
  .rwm-purchases-top-summary{
    grid-template-columns: 1fr !important;
  }
  
  .rwm-fixed-top-summary{
    grid-template-columns: 1fr !important;
  }


  
}

.rwm-fixed-card > .rwm-fixed-inner > .rwm-section-title {
    font-size: 14px;
    padding: 6px 10px;
    margin-bottom: 10px;
}

.rwm-fixed-inner > .rwm-section-title{
  margin-left: -10px !important;
  margin-right: -10px !important;
  margin-top: 0 !important;
  width: calc(100% + 20px) !important;
}

.rwm-fixed-row {
    flex-wrap: wrap;
}


.rwm-fixed-row .rwm-fixed-receipt,
.rwm-fixed-row .rwm-fixed-remove-wrap {
    align-self: stretch;
}


.rwm-fixed-row .rwm-fixed-remove-wrap {
    flex: 0 0 100px;
    display: flex;
    align-items: flex-end;
    justify-content: flex-end;
}

.rwm-fixed-row .rwm-fixed-remove-wrap {
  border: 1px solid #ddd !important;
  padding: 8px !important;
  background: #fff !important;
}

.rwm-fixed-row .rwm-fixed-remove-wrap .rwm-remove-fixed-card {
  margin-top: auto !important;
}

.rwm-fixed-row .rwm-fixed-date,
.rwm-fixed-row .rwm-fixed-desc,
.rwm-fixed-row .rwm-fixed-amount {
    flex: 1 1 0 !important;
    max-width: none !important;
}

.rwm-day-box strong{
  font-size: 16px !important;
}

.rwm-day-col select{
  width: 48px !important;
  padding: 2px 4px !important;
  font-size: 12px !important;
}

.rwm-day-box{
  min-width: 70px !important;
  padding: 4px !important;
}

.rwm-wrap .rwm-field label{
  color: #000 !important;
  font-size: 16px !important;
  font-weight: 600 !important;
}

.rwm-admin-summary-box-title, .rwm-workers-tabs label, .rwm-wrap, #rwm-main-purchases label, #rwm-main-fixed label, #rwm-income-epos label, #rwm-income-online label, #rwm-main-wages label, #rwm-main-income label{
  font-size:16px;
  color:#000;
  font-weight:600;
}

.rwm-workers-tabs select{
  font-size:15px;
  color:#636363;
}

.rwm-workers-tabs textarea{
  font-size:16px;
  color:#636363;
}

#rwm-income-epos .rwm-weekly-hours{
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 10px;
}

#rwm-income-epos .rwm-day-box{
  flex: 1 1 0 !important;
  min-width: 0 !important;
}

#rwm-income-epos .rwm-weekly-hours{
  align-items: stretch !important;
}

#rwm-income-epos .rwm-day-box{
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  padding: 6px !important;
}

#rwm-income-epos .rwm-day-box strong{
  margin-bottom: 4px !important;
  text-align: center;
}

#rwm-income-epos .rwm-day-box input{
  width: 100%;
}

/* Income day cards (Actual Cash / Expected Cash / Card Payment)
   Added by JS: .rwm-income-filled / .rwm-income-empty */
#rwm-income-epos .rwm-day-box.rwm-income-filled{
  background: #e9f9ec !important;
  border-color: #b7e3c1 !important;
}

#rwm-income-epos .rwm-day-box.rwm-income-empty{
  background: #fff !important;
}

.rwm-main-panels{
  border: 1px solid #19526e !important;
  padding: 16px !important;
  background: #fff;
}

.rwm-section-title{
  background: #75839b !important;
}

.rwm-admin-summary-header{
  background: #75839b !important;
}

.rwm-add-purchase-card, .rwm-remove-purchase-card, .rwm-add-fixed-card, .rwm-remove-fixed-card, .rwm-add-income-online-card{
  background:#808080;
  color:#fff;
}

.rwm-save-btn{
  background:#356ECC;
  font-size:18px;
  color:#fff;
}

.rwm-fixed-card .rwm-section-title.rwm-attn-fixed{
  background:#8b0000 !important;
  color:#fff !important;
}

.rwm-purchase-card .rwm-section-title.rwm-attn-purchase{
  background:#8b0000 !important;
  color:#fff !important;
}

.rwm-fixed-paid input[type="checkbox"]{
  transform: scale(1.2);
  width:auto !important;
}

.rwm-purchase-paid input[type="checkbox"]{
  transform: scale(1.2);
  width:auto !important;
}


.rwm-purchase-tabs-nav,
.rwm-fixed-tabs-nav{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
  margin:10px 0 12px;
}

.rwm-purchases-top-summary{
  display:grid;
  grid-template-columns: repeat(3, minmax(220px, 1fr));
  gap:14px;
  margin: 10px 0 12px;
  align-items:end;
}

.rwm-fixed-top-summary{
  display:grid;
  grid-template-columns: repeat(2, minmax(220px, 1fr));
  gap:14px;
  margin: 10px 0 12px;
  align-items:end;
}

.rwm-fixed-top-summary .rwm-field{
  margin:0;
}

.rwm-purchases-top-summary .rwm-field{
  margin:0;
}

.rwm-purchases-list .rwm-purchase-panel,
.rwm-fixed-list .rwm-fixed-panel{
  display:none;
}

.rwm-purchases-list .rwm-purchase-panel.rwm-active,
.rwm-fixed-list .rwm-fixed-panel.rwm-active{
  display:block;
}

.rwm-purchase-title{ display:none; }

.rwm-purchase-card .rwm-field{ position:relative; }

/* Supplies: Payment method radio group */
#rwm-main-purchases .rwm-method-radios{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:6px;
}
#rwm-main-purchases .rwm-method-radio{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:6px 10px;
  border:1px solid #d7d7d7;
  border-radius:10px;
  background:#fff;
  cursor:pointer;
  font-weight:700;
}
#rwm-main-purchases .rwm-method-radio input[type="radio"]{
  margin:0;
}

/* Toggle-button style for Supplies payment method */
#rwm-main-purchases .rwm-method-radio{
  position:relative;
  padding:0;
  border:0;
  background:transparent;
}
#rwm-main-purchases .rwm-method-radio input[type="radio"]{
  position:absolute;
  opacity:0;
  width:1px;
  height:1px;
  pointer-events:none;
}
#rwm-main-purchases .rwm-method-radio span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:10px 16px;
  border:1px solid #d7d7d7;
  border-radius:10px;
  background:#fff;
  font-weight:700;
  min-width:74px;
}
#rwm-main-purchases .rwm-method-radio input[type="radio"]:checked + span{
  background:#4177A6;
  border-color:#4177A6;
  color:#fff;
}
#rwm-main-purchases .rwm-method-radio input[type="radio"]:focus-visible + span{
  outline:2px solid #356ECC;
  outline-offset:2px;
}

.rwm-purchase-card input.rwm-purchase-tab-radio{
  position:absolute;
  right:10px;
  top:38px;
  width:18px;
  height:18px;
  margin:0;
  cursor:pointer;
  accent-color:#356ECC;
}

.rwm-wages-summary-wrap{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin:10px 0 14px;
}

.rwm-wages-summary-wrap .rwm-field{
  flex:1 1 180px;
  min-width:180px;
}

.rwm-fixed-total-wrap, .rwm-purchases-total-wrap{display:flex;gap:12px;flex-wrap:wrap;}

.rwm-fixed-total-wrap .rwm-field, .rwm-purchases-total-wrap .rwm-field{flex:1 1 220px;min-width:220px;}

@media (max-width: 768px){
}

@media (max-width: 768px){
  .rwm-online-row{
    flex-direction: column !important;
    align-items: stretch !important;
  }

  .rwm-online-row .rwm-field{
    flex: 0 0 auto !important;
    height: auto !important;
    min-height: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
  }
}

.rwm-calc-readonly{
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
  outline: none !important;
  pointer-events: none !important; /* not clickable */
  padding: 0 !important;
}

.rwm-calc-readonly:focus{
  outline: none !important;
  box-shadow: none !important;
}

.rwm-calc-readonly.rwm-alert-positive{
  background: #ffafaf !important;
  padding: 6px 8px !important;
  border-radius: 6px !important;
  color: #000 !important;
  font-weight: 600 !important;
  display:inline-block;
}

.rwm-modal-overlay{
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.55);
  z-index: 999999;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding: 70px 12px 24px;
  box-sizing: border-box;
}


/* =========================================================
   Modal - Short Height Scroll Fix
   Makes the overlay scrollable on short screens (e.g. mobile landscape)
   so the whole popup can be reached.
   ========================================================= */
@media (max-height: 520px){
  .rwm-modal-overlay{
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    padding: 12px 12px 12px !important;
  }

  .rwm-modal-box{
    margin-bottom: 12px !important;
  }

  .rwm-compare-scroll{
    max-height: none !important;
  }
}


.rwm-modal-box{
  background:#fff;
  border-radius:12px;
  box-shadow:0 12px 40px rgba(0,0,0,0.25);
  padding:16px;
  width:100%;
  box-sizing:border-box;
}

.rwm-modal-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}

.rwm-modal-x{
  border:0;
  background:#eee;
  border-radius:8px;
  padding:6px 10px;
  cursor:pointer;
}

.rwm-modal-section{
  margin-top:10px;
  border-top:1px solid #eee;
  padding-top:10px;
}

.rwm-modal-section-title{
  font-weight:600;
  margin-bottom:6px;
}

.rwm-inline{
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin-right:14px;
}

.rwm-check{
  display:flex;
  align-items:center;
  gap:8px;
  margin:6px 0;
}

.rwm-modal-actions{
  margin-top:14px;
  display:flex;
  justify-content:flex-end;
  gap:10px;
}

.rwm-btn{
  border-radius:8px;
  padding:7px 14px;
  cursor:pointer;
}

.rwm-btn-ghost{
  border:1px solid #cfd3d8;
  background:#fff;
}

.rwm-btn-primary{
  border:0;
  background:#356ECC;
  color:#fff;
  font-weight:600;
}

.rwm-print-box{
  max-width:520px;
}

/* =========================================================
   Supplies Quick Add (Saved Library)
   ========================================================= */
.rwm-btn-quickadd{
  background:#1f6feb;
  color:#fff;
  border:0;
}

.rwm-qa-box{
  max-width:820px;
}

.rwm-qa-hint{
  margin-top:10px;
  color:#555;
  font-size:13px;
}

.rwm-qa-grid{
  margin-top:12px;
  /* Responsive grid: gives cards enough width so names stay readable */
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(260px, 1fr));
  gap:10px;
  max-height:54vh;
  overflow:auto;
  padding:4px;
}

@media (max-width: 640px){
  .rwm-qa-grid{ grid-template-columns:repeat(auto-fill, minmax(220px, 1fr)); }
}

.rwm-qa-card{
  border:1px solid #e2e8f0;
  border-radius:10px;
  padding:10px;
  background:#fffdf0;
  cursor:pointer;
  display:block;
  position:relative;
  min-height:72px;
  box-sizing:border-box;
}

.rwm-qa-card:hover{
  border-color:#cbd5e1;
}

.rwm-qa-card.rwm-qa-selected{
  border-color:#1f6feb;
  box-shadow:0 0 0 2px rgba(31,111,235,0.15);
  background:#eef6ff;
}

.rwm-qa-name{
  font-weight:600;
  line-height:1.25;
  /* Full readable names */
  flex:1 1 auto;
  min-width:0;
  white-space:normal;
  overflow:visible;
  text-overflow:clip;
  word-break:break-word;
}

.rwm-qa-price-wrap{
  display:flex;
  align-items:center;
  gap:6px;
}


.rwm-qa-qty-row{
  display:flex;
  align-items:center;
  gap:10px;
  margin-top:10px;
}

.rwm-qa-qty-label{
  font-weight:600;
}


.rwm-qa-in-tabs-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:34px;
  height:26px;
  padding:0 8px;
  border-radius:8px;
  font-weight:700;
  font-size:12px;
  background:#eef2f7;
  color:#111827;
  border:1px solid #dbe3ee;
  box-sizing:border-box;
}

.rwm-qa-card.rwm-qa-in-tabs{
  /* Intentionally no forced background here.
     Use this class to style "already in tabs" cards as you like. */
}


.rwm-qa-qty-stepper{
  padding:4px 6px;
  margin-left:auto;
}

.rwm-qa-qty-stepper input[data-qa-qty]{
  width:44px;
  text-align:center;
  margin:0;
  border:0;
  background:transparent;
}

.rwm-qa-qty-btn{
  width:30px;
  height:30px;
  border-radius:10px;
}


.rwm-qa-pound{
  font-weight:700;
}

.rwm-qa-price{
  width:76px;
  padding:6px 8px;
  border:1px solid #d0d7de;
  border-radius:8px;
  font-size:13px;
  box-sizing:border-box;
  background:#fff;
}

.rwm-qa-price:disabled{
  background:#f3f4f6;
  color:#6b7280;
  cursor:not-allowed;
}

.rwm-qa-loading,
.rwm-qa-empty{
  column-span:all;
  width:100%;
  padding:12px;
  color:#555;
}

/* Quick Add card: single-line row (name + price + edit) */
.rwm-qa-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}

.rwm-qa-price-wrap{
  flex:0 0 auto;
  white-space:nowrap;
}

.rwm-qa-editbtn{
  border:1px solid #cfcfcf;
  background:#f3f3f3;
  color:#333;
  padding:6px 10px;
  border-radius:8px;
  font-size:12px;
  line-height:1;
}

.rwm-qa-editbtn:hover{
  background:#e9e9e9;
}

.rwm-qa-name-input{
  flex:1 1 auto;
  min-width:0;
  padding:6px 8px;
  border:1px solid #d0d7de;
  border-radius:8px;
  font-size:13px;
}

/* Corner checkbox indicator */
.rwm-qa-check{
  position:absolute;
  top:8px;
  right:8px;
  width:18px;
  height:18px;
  border-radius:4px;
  border:1px solid #cbd5e1;
  background:#fff;
  color:#1f6feb;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:12px;
  opacity:0;
}

.rwm-qa-card.rwm-qa-selected .rwm-qa-check{
  opacity:1;
}

.rwm-login-wrap{
  max-width:420px;
  margin:20px 0;
  padding:14px;
  border:1px solid #e5e7eb;
  border-radius:10px;
  background:#fff;
}

.rwm-login-title{
  font-weight:700;
  margin-bottom:10px;
}

.rwm-login-wrap .login-username,
.rwm-login-wrap .login-password{
  margin-bottom:10px;
}

.rwm-login-links{
  margin-top:10px;
}

.rwm-logout-bar{
  display:flex;
  justify-content:flex-end;
  margin:10px 10px 10px 0;
}

.rwm-login-wrap{
  margin:auto;
  margin-top:10%;

}

.rwm-fixed-monthly{
  min-width: 160px;
}

.rwm-fixed-monthly .rwm-monthly-radio{
  display: flex;
  gap: 10px;
  align-items: center;
  flex-wrap: nowrap;
}

.rwm-fixed-monthly .rwm-monthly-radio label{
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  margin: 0;
}

.rwm-admin-summary-row-fixed{flex-wrap:wrap;}

.rwm-col-monthly { max-width: 200px; }

th.rwm-col-monthly{ text-align: center; }

.rwm-week-search{
  display:flex;
  align-items:center;
  gap:6px;
  margin-right:auto;
}

#rwm-week-search{
  width:260px;
  max-width:60vw;
  padding:6px 10px;
  border:1px solid #ddd;
  border-radius:6px;
  font-size:13px;
}

#rwm-week-search-clear{
  width:28px;
  height:28px;
  line-height:26px;
  border-radius:6px;
  border:1px solid #ddd;
  background:#fff;
  cursor:pointer;
  font-size:18px;
  padding:0;
}

#rwm-week-search-count{
  font-size:12px;
  color:#555;
  padding:2px 8px;
  border:1px solid #ddd;
  border-radius:999px;
  background:#fff;
}

@media (max-width: 640px){
  #rwm-week-search{ width: 100%; max-width: 100%; }
  .rwm-week-search{ width:100%; }
}

:root{ --rwm-ac-font-size: 16px; }

.rwm-ac-dropdown{
  position: absolute;
  z-index: 999999;
  background: #fff;
  border: 1px solid #cfd7e3;
  border-radius: 8px;
  box-shadow: 0 10px 30px rgba(0,0,0,0.12);
  overflow: hidden;
}

.rwm-ac-dropdown .rwm-ac-list{
  list-style: none;
  margin: 0;
  padding: 4px 0;
  max-height: 220px;
  overflow: auto;
}

.rwm-ac-dropdown .rwm-ac-item{
  padding: 8px 10px;
  font-size: var(--rwm-ac-font-size);
  line-height: 1.2;
  cursor: pointer;
  user-select: none;
  white-space: nowrap;
}

.rwm-ac-dropdown .rwm-ac-item:hover,
.rwm-ac-dropdown .rwm-ac-item.is-active{
  background: #e9f0ff;
}

body.rwm-ac-font-15{ --rwm-ac-font-size: 15px; }

body.rwm-ac-font-16{ --rwm-ac-font-size: 16px; }

body.rwm-ac-font-18{ --rwm-ac-font-size: 18px; }

@media (max-width: 768px){
  .rwm-ac-dropdown .rwm-ac-item{ padding: 10px 12px; }
  .rwm-ac-dropdown .rwm-ac-list{ max-height: 240px; }
}

.rwm-date-manager .rwm-date-input,
.rwm-date-manager input[type="text"].rwm-date-input {
  padding-right: 34px !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23666'%3E%3Cpath d='M7 2a1 1 0 0 1 1 1v1h8V3a1 1 0 1 1 2 0v1h1.5A2.5 2.5 0 0 1 22 6.5v13A2.5 2.5 0 0 1 19.5 22h-15A2.5 2.5 0 0 1 2 19.5v-13A2.5 2.5 0 0 1 4.5 4H6V3a1 1 0 0 1 1-1Zm12.5 8H4.5v9.5c0 .28.22.5.5.5h14c.28 0 .5-.22.5-.5V10ZM19.5 8V6.5c0-.28-.22-.5-.5-.5H18v1a1 1 0 1 1-2 0V6H8v1a1 1 0 1 1-2 0V6H5c-.28 0-.5.22-.5.5V8h15Z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 10px center;
  background-size: 16px 16px;
}

#rwm-new-week-date.rwm-date-input {
  background-image: none !important;
  padding-right: 10px !important;
}

input[type="date"]::-webkit-calendar-picker-indicator {
  display: none;
  -webkit-appearance: none;
}

.rwm-wages-toolbar{
  background:#75839b;
  color:#fff;
  padding:10px 12px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  border-radius:3px;
  margin:10px 0 10px;
}

.rwm-wages-toolbar-title{
  font-weight:700;
  font-size:18px;
}

.rwm-wages-toolbar-actions{
  display:flex;
  gap:10px;
  align-items:center;
}

.rwm-wage-copy-btn,
.rwm-wages-copy-btn{
  background:#2ea44f;
  border:1px solid rgba(0,0,0,0.25);
  color:#fff;
  padding:5px 12px;
  border-radius:16px;
  font-weight:700;
  cursor:pointer;
  line-height:1.1;
}

.rwm-wage-copy-btn:hover,
.rwm-wages-copy-btn:hover{
  filter:brightness(0.95);
}

.rwm-wage-copy-btn:disabled,
.rwm-wage-copy-btn.rwm-btn-disabled,
.rwm-wages-copy-btn:disabled,
.rwm-wages-copy-btn.rwm-btn-disabled{
  opacity:0.45;
  cursor:not-allowed;
  filter:none;
  background:#e6e6e6 !important;
  border-color:#cfcfcf !important;
  color:#333 !important;
}

.rwm-worker-name-row{
  display:flex;
  gap:12px;
  align-items:flex-end;
}

.rwm-worker-name-field{
  flex:0 0 70%;
}

.rwm-worker-remove-field{
  flex:0 0 30%;
}

.rwm-worker-remove-btn{
  width:100%;
  max-width:180px;
  padding:5px 10px;
  border-radius:16px;
  border:1px solid rgba(0,0,0,0.25);
  background:#fff;
  cursor:pointer;
}

.rwm-worker-remove-btn:hover{
  filter:brightness(0.98);
}

.rwm-wages-titlebar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}

.rwm-wages-titlebar .rwm-wages-title-text{
  display:inline-block;
}

.rwm-wages-copy-actions{
  display:flex;
  align-items:center;
  gap:10px;
}

.rwm-worker-remove-btn:disabled{
  opacity:0.55;
  cursor:not-allowed;
}

#rwm-main-wages .rwm-day-box.rwm-has-hours{
  background:#eaf7ea !important;
}

#rwm-main-wages .rwm-weekly-hours .rwm-day-box.rwm-hours-filled{
  background: #e9f9ec !important;
  border-color: #b7e3c1 !important;
}

#rwm-main-wages .rwm-total-hours-under{
  margin: 10px 0 0 0;
  text-align: center;
  font-size: 28px;
  font-weight: 700;
  line-height: 1.2;
}

#rwm-main-wages .rwm-total-hours-under .rwm-total-hours-label{
  margin-right: 6px;
}

#rwm-main-wages .rwm-total-hours-under input[data-field="total_hours"]{
  width: auto;
  display: inline-block;
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
  outline: none !important;
  padding: 0 !important;
  margin: 0 !important;
  font-size: inherit;
  font-weight: inherit;
  color: inherit;
}

@media (max-width: 768px){
  #rwm-main-wages .rwm-total-hours-under{ font-size: 22px; }
}

#rwm-main-wages #rwm-wages-inline-msg.rwm-inline-warn{
  color:#c00;
  font-weight:700;
  margin:8px 0 12px;
}

.rwm-wages-inline-msg{
  margin: 8px 0 10px;
  color: #c00;
  font-weight: 700;
  font-size: 13px;
}


/* ===============================
   Wages: Pay type toggle (Hourly / Fixed)
   =============================== */
.rwm-hidden-field{
  display:none !important;
}

.rwm-wage-rate-field .rwm-paytype-line{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:6px;
}

.rwm-wage-rate-field .rwm-paytype-label{
  font-weight:700;
  margin:0;
  white-space:nowrap;
}

.rwm-pay-toggle{
  display:flex;
  align-items:center;
  border:1px solid #c4cbd3;
  border-radius:18px;
  overflow:hidden;
  background:#f3f4f6;
}

.rwm-pay-toggle .rwm-pay-opt{
  border:0;
  background:transparent;
  padding:6px 12px;
  cursor:pointer;
  font-weight:700;
  line-height:1.1;
}

.rwm-pay-toggle .rwm-pay-opt.rwm-pay-active{
  background:#0f6a77;
  color:#fff;
}

.rwm-pay-toggle .rwm-pay-opt:not(.rwm-pay-active){
  color:#333;
}

.rwm-rate-label{
  margin-top:2px;
}


/* ===============================
   Wages: Pay type toggle (Hourly / Fixed)
   =============================== */
.rwm-hidden-field{
  display:none !important;
}

.rwm-wage-rate-field .rwm-paytype-line{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:6px;
}

.rwm-wage-rate-field .rwm-paytype-label{
  font-weight:700;
  margin:0;
  white-space:nowrap;
}

.rwm-pay-toggle{
  display:flex;
  align-items:center;
  border:1px solid #c4cbd3;
  border-radius:18px;
  overflow:hidden;
  background:#f3f4f6;
}

.rwm-pay-toggle .rwm-pay-opt{
  border:0;
  background:transparent;
  padding:6px 12px;
  cursor:pointer;
  font-weight:700;
  line-height:1.1;
}

.rwm-pay-toggle .rwm-pay-opt.rwm-pay-active{
  background:#0f6a77;
  color:#fff;
}

.rwm-pay-toggle .rwm-pay-opt:not(.rwm-pay-active){
  color:#333;
}

.rwm-rate-label{
  margin-top:2px;
}




/* ---------- Supplies (Purchases) enhancements ---------- */
.rwm-purchase-tab-source{
  position: relative;
}
.rwm-purchase-tab-radio{
  position:absolute;
  top: 34px;
  right: 10px;
  width: 16px;
  height: 16px;
  cursor: pointer;
}

/* Paid/Unpaid pill toggle (match Fixed costs UX) */
.rwm-paid-switch{
  display:inline-flex;
  align-items:center;
  cursor:pointer;
  user-select:none;
}
.rwm-paid-switch input[type="checkbox"]{
  position:absolute;
  opacity:0;
  width:1px;
  height:1px;
  pointer-events:none;
}
.rwm-paid-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:74px;
  padding:8px 14px;
  border-radius:18px;
  font-weight:800;
  border:1px solid transparent;
}
.rwm-paid-pill.is-paid{
  background:#bff3c4;
  color:#000;
}
.rwm-paid-pill.is-unpaid{
  background:#ffb3b3;
  color:#000;
}

/* Unpaid tab colouring */
.rwm-purchase-tab-btn.rwm-attn-purchase:not(.rwm-tab-active){
  background:#c00;
  border-color:#c00;
  color:#fff;
}
.rwm-purchase-tab-btn.rwm-tab-active.rwm-attn-purchase{
  background:#fff;
  border-color:#c00;
  color:#c00;
}


 /*  Summary & Snapshot v2 – Dashboard Cards (scoped)*/
.rwm-summary-v2{
  margin: 14px 0 22px;
  padding: 14px;
  background: #f4f6f8;
  border: 1px solid #e3e8ef;
  border-radius: 14px;
}

.rwm-summary-v2 .rwm-v2-top{ margin-bottom: 14px; }
.rwm-summary-v2 .rwm-v2-section{ margin-top: 14px; }
.rwm-summary-v2 .rwm-v2-section-title{
  font-size: 16px;
  font-weight: 700;
  color: #2e3a4a;
  margin: 0 0 10px;
}

.rwm-summary-v2 .rwm-v2-grid{ display: grid; gap: 12px; }
.rwm-summary-v2 .rwm-v2-grid-3{ grid-template-columns: repeat(3, minmax(0, 1fr)); }
.rwm-summary-v2 .rwm-v2-grid-2{ grid-template-columns: repeat(2, minmax(0, 1fr)); }

.rwm-summary-v2 .rwm-v2-card{
  background: #ffffff;
  border: 1px solid #e3e8ef;
  border-radius: 12px;
  padding: 14px 16px;
  box-shadow: 0 2px 10px rgba(16, 24, 40, 0.06);
}

.rwm-summary-v2 .rwm-v2-card-strong{
  background: linear-gradient(180deg, #ffffff 0%, #f7fafc 100%);
}

.rwm-summary-v2 .rwm-v2-card-soft{ background: #fbfdff; }

.rwm-summary-v2 .rwm-v2-title{
  font-size: 14px;
  font-weight: 700;
  color: #3a4b60;
  margin: 0 0 6px;
}

.rwm-summary-v2 .rwm-v2-value{
  font-size: 28px;
  font-weight: 800;
  letter-spacing: 0.2px;
  color: #0f2438;
  line-height: 1.15;
}


.rwm-summary-v2 .rwm-v2-value-row{
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 8px;
}

.rwm-summary-v2 .rwm-v2-pct{
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: flex-start;
  white-space: nowrap;
}

.rwm-summary-v2 .rwm-v2-pct-num{
  font-size: 22px;
  font-weight: 800;
  line-height: 1;
}

.rwm-summary-v2 .rwm-v2-pct-label{
  font-size: 12px;
  font-weight: 700;
  opacity: 0.85;
  line-height: 1.05;
}
.rwm-summary-v2 .rwm-v2-meta{
  margin-top: 10px;
  font-size: 13px;
  display: flex;
  gap: 8px;
  align-items: baseline;
  color: #5a6b7e;
}

.rwm-summary-v2 .rwm-v2-meta-label{
  font-weight: 700;
  color: #4a5a70;
}

.rwm-summary-v2 .rwm-v2-meta-value{
  font-weight: 800;
  color: #b42318; /* unpaid */
}

.rwm-summary-v2 .rwm-v2-meta-sub .rwm-v2-meta-text{
  font-weight: 700;
  color: #2f5e86;
}

.rwm-summary-v2 .rwm-v2-expected{ margin-top: 12px; }

@media (max-width: 900px){
  .rwm-summary-v2 .rwm-v2-grid-3{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 600px){
  .rwm-summary-v2{ padding: 12px; }
  .rwm-summary-v2 .rwm-v2-grid-3,
  .rwm-summary-v2 .rwm-v2-grid-2{ grid-template-columns: 1fr; }
  .rwm-summary-v2 .rwm-v2-value{ font-size: 26px; }
}





/* --- Supplies: Paid by checkbox tab name --- */
#rwm-main-purchases .rwm-paidby-wrap{display:flex;align-items:center;gap:12px;}
#rwm-main-purchases .rwm-paidby-wrap input[type="text"]{flex:1;min-width:0;}
#rwm-main-purchases .rwm-paidby-wrap .rwm-paidby-check{width:28px;height:28px;margin:0;flex:0 0 auto;cursor:pointer;}

/* RWM: Date field icon */
.rwm-date-field{
  display:flex;
  align-items:center;
  gap:8px;
}
.rwm-date-field .rwm-date-manager{
  flex:1 1 auto;
}
.rwm-date-icon{
  cursor:pointer;
  font-size:18px;
  line-height:1;
  opacity:0.75;
}
.rwm-date-icon:hover{
  opacity:1;
}

/* RWM: If "today" is disabled (e.g., week picker allows Mondays only), keep it grey like other disabled days */
.datepicker table tr td.disabled.today,
.datepicker table tr td.today.disabled,
.datepicker table tr td.disabled.today:hover,
.datepicker table tr td.today.disabled:hover{
  background: transparent !important;
  color: #c0c0c0 !important;
}


.rwm-summary-table .rwm-new-week .rwm-week-date-btn{ background-color: #00c64f !important; }

/* ===== Summary v2 expand + cash difference ===== */
.rwm-summary-v2 .rwm-v2-expand-btn{
  margin-top: 8px;
  display: inline-block;
  padding: 7px 14px;
  border: 0;
  border-radius: 999px;
  background: #2e63d7;
  color: #fff;
  font-weight: 700;
  cursor: pointer;
  line-height: 1;
}
.rwm-summary-v2 .rwm-v2-expand-btn:hover{ opacity: .92; }
.rwm-summary-v2 .rwm-v2-expand-btn:active{ transform: translateY(1px); }

.rwm-summary-v2 .rwm-v2-cash-diff{
  margin-top: 6px;
  display: flex;
  align-items: center;
  gap: 8px;
}
.rwm-summary-v2 .rwm-v2-cash-diff-label{
  font-size: 12px;
  font-weight: 700;
  color: #3a4b60;
}
.rwm-summary-v2 .rwm-v2-cash-diff-val{
  font-size: 14px;
  font-weight: 800;
  background: #ffafaf;
  padding: 4px 8px;
  border-radius: 6px;
  display: inline-flex;
  align-items: baseline;
}

/* ===== Wages: Paid toggle (Paid/Unpaid) ===== */
.rwm-paid-toggle-row{ justify-content:space-between; align-items:stretch; }
.rwm-paid-toggle-field{ flex: 1 1 220px; display:flex; justify-content:center; }
.rwm-wage-total-field{ flex: 1 1 220px; }


/* The label becomes the toggle "pill" */
.rwm-paid-switch{
  position:relative;
  display:inline-block;
  width:120px;
  height:44px;
  cursor:pointer;
  user-select:none;
}

/* Hidden checkbox */
.rwm-paid-switch-input{
  position:absolute;
  opacity:0;
  width:1px;
  height:1px;
  pointer-events:none;
}

/* Background pill + knob */
.rwm-paid-switch-slider{
  position:absolute;
  inset:0;
  border-radius:999px;
  background:#19a34a; /* green when paid */
  transition: background .2s ease;
}
.rwm-paid-switch-slider:after{
  content:'';
  position:absolute;
  top:4px;
  left:4px;
  width:36px;
  height:36px;
  border-radius:50%;
  background:#fff;
  transition: transform .2s ease;
  transform: translateX(76px); /* knob right when paid */
  box-shadow:0 1px 3px rgba(0,0,0,.25);
}

/* Text overlays INSIDE the pill */
.rwm-paid-switch-text{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  font-weight:800;
  font-size:18px;
  line-height:1;
  color:#fff;
  pointer-events:none;
  letter-spacing:.2px;
}

/* Paid text sits left (away from the knob) */
.rwm-paid-text{
  justify-content:flex-start;
  padding-left:16px;
  padding-right:48px;
}

/* Unpaid text sits right (away from the knob) */
.rwm-unpaid-text{
  justify-content:flex-end;
  padding-right:16px;
  padding-left:48px;
  display:none;
}

/* Unpaid state (red + knob left + show unpaid text) */
.rwm-paid-switch.rwm-unpaid .rwm-paid-switch-slider{ background:#d83a3a; }
.rwm-paid-switch.rwm-unpaid .rwm-paid-switch-slider:after{ transform: translateX(0); }
.rwm-paid-switch.rwm-unpaid .rwm-paid-text{ display:none; }
.rwm-paid-switch.rwm-unpaid .rwm-unpaid-text{ display:flex; }


/* Quick Add - Add new item row */
.rwm-qa-addrow{
  display:flex;
  flex-direction:column;
  gap:10px;
  margin:10px 0 14px;
}
.rwm-qa-addform{
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
}
.rwm-qa-addform .rwm-input{
  padding:8px 10px;
  border:1px solid #d0d0d0;
  border-radius:8px;
  min-width:160px;
}
.rwm-qa-addprice{
  display:flex;
  align-items:center;
  gap:6px;
}
.rwm-qa-delete{
  border:1px solid #e0b4b4;
}
.rwm-qa-actions{
  display:flex;
  justify-content:flex-end;
  gap:10px;
  flex-wrap:wrap;
}


 /* Quick Add Supplies Tab Do not change or delete */
              .rwm-qa-box{max-height:90vh;display:flex;flex-direction:column;overflow:hidden;}
.rwm-qa-hint,.rwm-qa-alpha{flex:0 0 auto;}
.rwm-qa-grid{flex:1 1 auto;overflow:auto;padding-right:6px;padding-bottom:10px;}
.rwm-qa-addrow{display:flex !important;flex:0 0 auto;justify-content:center;}
.rwm-qa-addrow-bottom{justify-content:center;}
.rwm-qa-addrow-bottom > *{flex:0 0 auto !important;}
.rwm-qa-actions{flex:0 0 auto;background:#fff;border-top:1px solid #eee;padding-top:10px;margin-top:0;}
@media (max-width:500px){
  .rwm-qa-box{max-height:92vh;}
}

              .rwm-qa-alpha{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 14px;}
              .rwm-qa-alpha button{border:1px solid #d9d9d9;background:#fff;padding:6px 10px;border-radius:4px;cursor:pointer;font-size:12px;line-height:1;}
              .rwm-qa-alpha button.rwm-active{background:#0b5ed7;color:#fff;border-color:transparent;}
              .rwm-qa-alpha button[disabled]{opacity:.35;cursor:not-allowed;}

              /* Grid: variable-width cards that wrap (masonry-like) */
              .rwm-qa-grid{display:flex;flex-wrap:wrap;gap:12px;}
              .rwm-qa-card{display:flex;align-items:flex-start;gap:12px;flex:0 1 auto;max-width:100%;min-width:260px;padding:10px 12px;border:1px solid #e0e0e0;border-radius:10px;background:#fff;cursor:pointer;}
              .rwm-qa-card:hover{border-color:#b9b9b9;}
              .rwm-qa-card.rwm-qa-selected{background:#eef6ff;border-color:#0b5ed7;box-shadow:0 0 0 2px rgba(11,94,215,.15);}

              /* Remove checkbox indicator (selection is shown by background) */
              .rwm-qa-check{display:none !important;}

              .rwm-qa-row{display:flex;align-items:center;gap:12px;flex:1;min-width:0;}
              .rwm-qa-name{font-weight:600;font-size:14px;white-space:normal;word-break:break-word;}
              .rwm-qa-price-wrap{display:flex;align-items:center;gap:8px;white-space:nowrap;}
              .rwm-qa-pound{opacity:.8;}
              .rwm-qa-price-text{font-weight:600;}
              .rwm-qa-name-input{font-weight:600;font-size:14px;padding:6px 8px;border:1px solid #d9d9d9;border-radius:6px;}
              .rwm-qa-price-input{width:110px;padding:6px 8px;border:1px solid #d9d9d9;border-radius:6px;}
              .rwm-qa-editbtn{border:1px solid #cfcfcf;background:#eee;color:#333;padding:6px 10px;border-radius:6px;cursor:pointer;font-size:12px;line-height:1;white-space:nowrap;}
              .rwm-qa-editbtn:hover{background:#e5e5e5;}
              .rwm-qa-card.rwm-qa-editing{border-color:#0b5ed7;box-shadow:0 0 0 2px rgba(11,94,215,.15);}
              /* Add new item row: always inline */
              .rwm-qa-addrow-bottom{
                display:flex !important;
                flex-direction:row !important;
                flex-wrap:nowrap !important;
                align-items:center !important;
                justify-content:center !important;
                gap:10px !important;
                margin-top:14px;
                border-top:1px solid #eee;
                padding-top:12px;
                overflow-x:auto;
                -webkit-overflow-scrolling:touch;
              }
              .rwm-qa-addrow-bottom button,
              .rwm-qa-addrow-bottom input{
                display:inline-block !important;
                vertical-align:middle;
              }
              .rwm-qa-addbtn{white-space:nowrap;}
              .rwm-qa-newname{width:220px;min-width:180px;}
              .rwm-qa-newcost{width:140px;min-width:120px;}
              .rwm-qa-addprice{display:flex;gap:6px;align-items:center;}
@media (max-width:600px){
                .rwm-qa-card{min-width:220px;}
                .rwm-qa-newname{width:190px;}
                .rwm-qa-newcost{width:120px;}
              }
/*End quick add supplies*/

/* Supplies: Unit cost + quantity + total */
.rwm-purchase-cost-group{
  display:flex;
  gap:12px;
  align-items:flex-end;
}

.rwm-purchase-cost-group .rwm-purchase-cost-col{
  flex:1 1 0;
  min-width:0;
}

.rwm-purchase-cost-group .rwm-purchase-qty-col{
  flex:0 0 160px;
}

.rwm-purchase-cost-group .rwm-purchase-total-col{
  flex:0 0 120px;
  text-align:center;
}

.rwm-qty-stepper{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:6px 8px;
  border:1px solid #ddd;
  border-radius:10px;
  background:#fff;
}

.rwm-qty-stepper input[data-purchase-qty]{
  width:52px;
  text-align:center;
  margin:0;
}

.rwm-qty-btn{
  width:34px;
  height:34px;
  border-radius:10px;
  border:1px solid #ddd;
  background:#F3F4F6;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:18px;
  line-height:1;
}

.rwm-purchase-total{
  font-weight:700;
  font-size:18px;
  padding:8px 0;
}

/* Responsive */
@media (max-width: 680px){
  .rwm-purchase-cost-group{ flex-wrap:wrap; }
  .rwm-purchase-cost-group .rwm-purchase-qty-col{ flex:1 1 160px; }
  .rwm-purchase-cost-group .rwm-purchase-total-col{ flex:1 1 120px; text-align:left; }
}
