/* =========================================================
   CUEVA PRO — DASHBOARD MOBILE V2
   Presentation only. Existing Dashboard JS is unchanged.
========================================================= */

.mobile-dashboard{
  display:grid;
  gap:10px;
  width:100%;
  min-width:0;
}

/* ---------- Welcome ---------- */

.dashboard-welcome[hidden]{
  display:none!important;
}


.dashboard-welcome{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:12px;
  align-items:center;
  min-width:0;
  padding:6px 6px 8px;
}

.dashboard-welcome-copy{
  min-width:0;
}

.dashboard-welcome-copy>span{
  display:block;
  color:#74777d;
  font-size:13px;
  font-weight:400;
  line-height:1.2;
  letter-spacing:0;
}

.dashboard-owner-line{
  display:flex;
  align-items:center;
  gap:8px;
  min-width:0;
}

.dashboard-welcome-copy h2{
  margin:2px 0 0;
  overflow:hidden;
  color:#111217;
  font-family:Georgia,"Times New Roman",serif;
  font-size:34px;
  font-weight:400;
  line-height:1;
  letter-spacing:-.02em;
  text-transform:capitalize;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.dashboard-wave{
  flex:0 0 auto;
  margin-top:3px;
  font-size:24px;
  line-height:1;
}

.dashboard-welcome-copy p{
  margin:6px 0 0;
  overflow:hidden;
  color:#73767d;
  font-size:11px;
  font-weight:400;
  line-height:1.28;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.dashboard-welcome-side{
  display:grid;
  justify-items:end;
  gap:7px;
  flex:0 0 auto;
}

.dashboard-welcome-side>p{
  margin:0;
  color:#656970;
  font-size:12px;
  font-weight:400;
  white-space:nowrap;
}


.dashboard-welcome.staff-mode{
  display:block;
  padding:4px 2px 2px;
}

.dashboard-welcome.staff-mode .dashboard-welcome-copy>span,
.dashboard-welcome.staff-mode .dashboard-wave,
.dashboard-welcome.staff-mode .dashboard-welcome-copy>p{
  display:none;
}

.dashboard-welcome.staff-mode .dashboard-welcome-copy h2{
  font-family:inherit;
  font-size:23px;
  font-weight:750;
  letter-spacing:-.04em;
}

.dashboard-welcome-side.staff-mode{
  margin-top:5px;
  display:block;
}

.dashboard-welcome-side.staff-mode .dashboard-motto{
  display:none;
}

.dashboard-welcome-side.staff-mode>p{
  color:#8e8e93;
  font-size:12px;
}

@media(max-width:420px){
  .dashboard-welcome{
    gap:8px;
    padding-left:3px;
    padding-right:3px;
  }

  .dashboard-welcome-copy>span{
    font-size:12px;
  }

  .dashboard-welcome-copy h2{
    font-size:30px;
  }

  .dashboard-wave{
    font-size:21px;
  }

  .dashboard-welcome-copy p{
    font-size:10px;
  }

  .dashboard-welcome-side>p{
    font-size:10px;
  }
}

@media(max-width:360px){
  .dashboard-welcome-copy h2{
    font-size:27px;
  }

  .dashboard-welcome-copy p{
    max-width:195px;
  }
}

/* ---------- Role view ---------- */

.dashboard-role-view{
  display:grid;
  gap:10px;
  min-width:0;
}

.dashboard-role-view[hidden]{
  display:none!important;
}

/* ---------- Alert ---------- */

.dashboard-alert{
  display:grid;
  grid-template-columns:38px minmax(0,1fr) 38px;
  gap:9px;
  align-items:center;
  padding:10px;
  border:1px solid rgba(255,59,48,.13);
  border-radius:17px;
  background:rgba(255,59,48,.065);
}

.dashboard-alert-icon{
  display:grid;
  place-items:center;
  width:38px;
  height:38px;
  border-radius:12px;
  background:#fff;
  color:#b42318;
}

.dashboard-alert-copy{
  min-width:0;
}

.dashboard-alert-copy span,
.dashboard-alert-copy strong,
.dashboard-alert-copy p{
  display:block;
}

.dashboard-alert-copy span{
  color:#b42318;
  font-size:10px;
  font-weight:850;
  letter-spacing:.1em;
}

.dashboard-alert-copy strong{
  margin-top:3px;
  font-size:14px;
}

.dashboard-alert-copy p{
  margin:3px 0 0;
  overflow:hidden;
  color:#8a4c47;
  font-size:11px;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.dashboard-alert>button{
  display:grid;
  place-items:center;
  width:38px;
  height:38px;
  border:0;
  border-radius:12px;
  background:#111;
  color:#fff;
}

/* ---------- Revenue hero ---------- */

.dashboard-revenue-card{
  position:relative;
  overflow:hidden;
  padding:16px;
  border-radius:23px;
  background:
    radial-gradient(circle at 94% 0%,rgba(240,200,90,.25),transparent 37%),
    linear-gradient(145deg,#0d0d0e,#272729);
  color:#fff;
  box-shadow:0 17px 40px rgba(0,0,0,.16);
}

.dashboard-revenue-card:after{
  content:"";
  position:absolute;
  top:-62px;
  right:-68px;
  width:170px;
  height:170px;
  border:1px solid rgba(255,255,255,.06);
  border-radius:50%;
  pointer-events:none;
}

.dashboard-revenue-card>header{
  position:relative;
  z-index:1;
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:flex-start;
}

.dashboard-revenue-card>header span{
  display:block;
  color:#edc65b;
  font-size:10px;
  font-weight:850;
  letter-spacing:.13em;
}

.dashboard-revenue-card>header>div:first-child>strong{
  display:block;
  margin-top:6px;
  font-size:31px;
  line-height:1;
  letter-spacing:-.06em;
}

.dashboard-revenue-icon{
  display:grid;
  place-items:center;
  width:40px;
  height:40px;
  border:1px solid rgba(255,255,255,.07);
  border-radius:13px;
  background:rgba(255,255,255,.06);
  color:#edc65b;
}

.dashboard-revenue-card>p{
  position:relative;
  z-index:1;
  margin:7px 0 0;
  color:#a1a1a6;
  font-size:12px;
  line-height:1.45;
}

.dashboard-revenue-split{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:6px;
  margin-top:14px;
}

.revenue-breakdown-trigger{
  cursor:pointer;
  -webkit-tap-highlight-color:transparent;
}

.revenue-breakdown-trigger:active{
  transform:scale(.98);
}

.dashboard-revenue-split>div{
  min-width:0;
  padding:9px;
  border:1px solid rgba(255,255,255,.07);
  border-radius:13px;
  background:rgba(255,255,255,.05);
}

.dashboard-revenue-split span,
.dashboard-revenue-split strong{
  display:block;
  min-width:0;
}

.dashboard-revenue-split span{
  color:#a1a1a6;
  font-size:10px;
}

.dashboard-revenue-split strong{
  margin-top:6px;
  overflow:hidden;
  font-size:13px;
  text-overflow:ellipsis;
  white-space:nowrap;
}

/* ---------- Summary ---------- */

.dashboard-summary-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:7px;
}

.dashboard-summary-grid article{
  min-width:0;
  min-height:108px;
  padding:11px;
  border:1px solid rgba(17,17,17,.055);
  border-radius:17px;
  background:#fff;
  box-shadow:0 7px 20px rgba(0,0,0,.035);
}

.dashboard-summary-icon{
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  border-radius:11px;
  background:rgba(212,166,42,.11);
  color:#9a6d08;
}

.dashboard-summary-grid span,
.dashboard-summary-grid strong,
.dashboard-summary-grid small{
  display:block;
}

.dashboard-summary-grid span{
  margin-top:10px;
  color:#8e8e93;
  font-size:11px;
  font-weight:650;
}

.dashboard-summary-grid strong{
  margin-top:5px;
  overflow:hidden;
  color:#111;
  font-size:21px;
  line-height:1.05;
  letter-spacing:-.04em;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.dashboard-summary-grid small{
  margin-top:3px;
  color:#aeaeb2;
  font-size:10px;
}

/* ---------- Sections ---------- */

.dashboard-section{
  min-width:0;
  padding:12px;
  border:1px solid rgba(17,17,17,.055);
  border-radius:18px;
  background:#fff;
  box-shadow:0 7px 21px rgba(0,0,0,.035);
}

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

.dashboard-section-head>div{
  min-width:0;
}

.dashboard-section-head span{
  display:block;
  color:#a87408;
  font-size:10px;
  font-weight:850;
  letter-spacing:.12em;
}

.dashboard-section-head h3{
  margin:4px 0 0;
  color:#111;
  font-size:17px;
  line-height:1.1;
  letter-spacing:-.035em;
}

.dashboard-section-head button{
  flex:0 0 auto;
  min-height:40px;
  padding:0 13px;
  border:0;
  border-radius:11px;
  background:rgba(17,17,17,.05);
  color:#111;
  font-size:11px;
  font-weight:800;
}

/* ---------- Compact dynamic lists ---------- */

.dashboard-compact-list,
.compact-list{
  display:grid;
  gap:6px;
  margin-top:10px;
}

.compact-row{
  display:grid;
  grid-template-columns:38px minmax(0,1fr) auto;
  gap:8px;
  align-items:center;
  min-height:64px;
  padding:9px;
  border-radius:14px;
  background:#f7f7f8;
}

.compact-row-icon{
  display:grid;
  place-items:center;
  width:38px;
  height:38px;
  border-radius:12px;
  background:#fff;
  color:#9a6d08;
  box-shadow:0 4px 12px rgba(0,0,0,.03);
}

.compact-row>div{
  min-width:0;
}

.compact-row strong,
.compact-row small{
  display:block;
  min-width:0;
}

.compact-row strong{
  overflow:hidden;
  font-size:12px;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.compact-row small{
  overflow:hidden;
  margin-top:4px;
  color:#8e8e93;
  font-size:10px;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.status-pill{
  max-width:82px;
  overflow:hidden;
  padding:6px 8px;
  border-radius:999px;
  background:rgba(48,209,88,.1);
  color:#067647;
  font-size:8px;
  font-weight:850;
  text-overflow:ellipsis;
  text-transform:uppercase;
  white-space:nowrap;
}

.status-pill.active{
  background:rgba(48,209,88,.1);
  color:#067647;
}

.status-pill.free{
  background:rgba(142,142,147,.1);
  color:#636366;
}

.status-pill.waiting{
  background:rgba(212,166,42,.13);
  color:#8b6208;
}

.status-pill.action{
  background:rgba(255,59,48,.1);
  color:#b42318;
}

/* ---------- Payments ---------- */

.dashboard-payment-grid,
.payment-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:6px;
  margin-top:10px;
}

.dashboard-payment-grid>div,
.payment-grid>div{
  min-width:0;
  padding:10px;
  border-radius:14px;
  background:#f7f7f8;
}

.dashboard-payment-grid span,
.dashboard-payment-grid strong,
.payment-grid span,
.payment-grid strong{
  display:block;
  min-width:0;
}

.dashboard-payment-grid span,
.payment-grid span{
  color:#8e8e93;
  font-size:10px;
}

.dashboard-payment-grid strong,
.payment-grid strong{
  margin-top:5px;
  overflow:hidden;
  font-size:15px;
  text-overflow:ellipsis;
  white-space:nowrap;
}

/* ---------- Revenue bars ---------- */

.revenue-bars{
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  gap:5px;
  align-items:end;
  min-height:128px;
  margin-top:10px;
}

.revenue-bar{
  display:grid;
  align-content:end;
  gap:5px;
  height:124px;
  min-width:0;
  position:relative;
  text-align:center;
  cursor:pointer;
  -webkit-tap-highlight-color:transparent;
}

.revenue-bar-total{
  position:absolute;
  top:-1px;
  left:50%;
  z-index:2;
  max-width:64px;
  padding:3px 5px;
  overflow:hidden;
  border-radius:6px;
  background:#191919;
  color:#fff;
  font-size:8px;
  font-weight:800;
  line-height:1;
  text-overflow:ellipsis;
  white-space:nowrap;
  transform:translateX(-50%);
}

.revenue-bar-track{
  display:flex;
  align-items:end;
  height:96px;
  overflow:hidden;
  border-radius:8px;
  background:#f3f3f4;
}

.revenue-bar-fill{
  width:100%;
  min-height:3px;
  border-radius:8px;
  background:linear-gradient(180deg,#efc85a,#b17d0d);
  transition:height .35s ease;
}

.revenue-bar span{
  overflow:hidden;
  color:#8e8e93;
  font-size:9px;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.dashboard-handover-summary{
  width:100%;margin-top:12px;padding:14px;border:1px solid #ead9a8;border-radius:16px;
  background:#fff8e5;color:#17181c;display:grid;grid-template-columns:minmax(0,1fr) auto;
  gap:5px 10px;align-items:center;text-align:left;font:inherit
}
.dashboard-handover-summary[hidden]{display:none}
.dashboard-handover-summary>span{display:flex;align-items:center;gap:9px;min-width:0}
.dashboard-handover-summary>span>i{color:#a97b0b}
.dashboard-handover-summary strong{font-size:12px}
.dashboard-handover-summary small{grid-column:1;color:#7c7565;font-size:10px;padding-left:23px}
.dashboard-handover-summary>i{grid-column:2;grid-row:1/3;color:#a97b0b}

/* ---------- Staff dashboard ---------- */

.staff-shift-card{
  display:flex;
  justify-content:space-between;
  gap:13px;
  align-items:center;
  padding:16px;
  border-radius:22px;
  background:
    radial-gradient(circle at 92% 5%,rgba(240,200,90,.18),transparent 35%),
    linear-gradient(145deg,#111,#28282a);
  color:#fff;
  box-shadow:0 16px 38px rgba(0,0,0,.15);
}

.staff-shift-card span{
  color:#e8bd58;
  font-size:10px;
  font-weight:850;
  letter-spacing:.13em;
}

.staff-shift-card h3{
  margin:5px 0 0;
  font-size:21px;
}

.staff-shift-card p{
  margin:5px 0 0;
  color:#a1a1a6;
  font-size:12px;
  line-height:1.45;
}

.shift-indicator{
  display:grid;
  place-items:center;
  flex:0 0 auto;
  width:48px;
  height:48px;
  border-radius:15px;
  background:rgba(255,255,255,.07);
  color:#636366;
}

.shift-indicator.open{
  color:#30d158;
}

.shift-indicator.open i{
  filter:drop-shadow(0 0 6px rgba(48,209,88,.75));
  animation:staffShiftLivePulse 1.5s ease-in-out infinite;
  transform-origin:center;
}

@keyframes staffShiftLivePulse{
  0%,100%{transform:scale(.78);opacity:.72}
  50%{transform:scale(1.12);opacity:1}
}

.shift-indicator.completed{
  color:#e8bd58;
}

.staff-shift-controls{display:flex;align-items:center;gap:8px}
.staff-shift-action{
  min-height:42px;padding:0 15px;border:0;border-radius:14px;
  background:#e8bd58;color:#111;font-size:12px;font-weight:850;
  box-shadow:0 8px 20px rgba(232,189,88,.2)
}
.staff-shift-action.end{background:#fff;color:#b42318}

.staff-shift-sheet{position:fixed;inset:0;z-index:3000;display:grid;align-items:end}
.staff-shift-sheet[hidden]{display:none}
.staff-shift-backdrop{position:absolute;inset:0;border:0;background:rgba(0,0,0,.58);opacity:0;transition:opacity .18s ease}
.staff-shift-form{
  position:relative;z-index:1;width:100%;
  max-height:calc(100dvh - max(8px, env(safe-area-inset-top)));
  overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;
  scroll-padding-bottom:110px;padding:10px 17px calc(92px + env(safe-area-inset-bottom));
  border-radius:28px 28px 0 0;background:#f7f7f8;color:#111;
  box-shadow:0 -22px 70px rgba(0,0,0,.28);transform:translateY(105%);transition:transform .2s ease
}
.staff-shift-sheet.show .staff-shift-backdrop{opacity:1}
.staff-shift-sheet.show .staff-shift-form{transform:translateY(0)}
.staff-shift-handle{width:42px;height:5px;margin:0 auto 14px;border-radius:20px;background:#c7c7cc}
.staff-shift-form header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}
.staff-shift-form header span{color:#9b7209;font-size:9px;font-weight:850;letter-spacing:.13em}
.staff-shift-form header h3{margin:3px 0 0;font-size:22px;letter-spacing:-.03em}
.staff-shift-form header button{display:grid;place-items:center;width:38px;height:38px;border:0;border-radius:13px;background:#e9e9eb;color:#555}
.staff-shift-form>label{display:block;margin-top:13px}
.staff-shift-form>label>span{display:flex;justify-content:space-between;margin-bottom:7px;font-size:12px;font-weight:750}
.staff-shift-form>label>span small{color:#8e8e93;font-weight:600}
.staff-shift-form>label>small{display:block;margin-top:6px;color:#8e8e93;font-size:10px;line-height:1.4}
.staff-shift-form>label>input{width:100%;height:48px;border:1px solid #dedee2;border-radius:14px;padding:0 13px;background:#fff;font:inherit}
.staff-opening-summary{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-bottom:13px}
.staff-opening-summary>div{padding:12px;border:1px solid #e4e4e7;border-radius:15px;background:#fff}
.staff-opening-summary span,.staff-opening-summary strong{display:block}
.staff-opening-summary span{color:#8e8e93;font-size:9px;font-weight:700}
.staff-opening-summary strong{margin-top:5px;font-size:14px}
#staffOpeningCashField>label{display:block}
#staffOpeningCashField>label>span{display:flex;justify-content:space-between;margin-bottom:7px;font-size:12px;font-weight:750}
#staffOpeningCashField>label>span small{color:#8e8e93;font-weight:600}
#staffOpeningCashField>label>small{display:block;margin-top:6px;color:#8e8e93;font-size:10px;line-height:1.4}
.staff-shift-money{display:grid;grid-template-columns:auto 1fr;align-items:center;height:54px;border:1px solid #d8d8dc;border-radius:16px;background:#fff;overflow:hidden}
.staff-shift-money small{padding-left:14px;color:#8e8e93;font-size:14px;font-weight:750}
.staff-shift-money input{min-width:0;height:100%;border:0;outline:0;padding:0 14px;background:transparent;font-size:22px;font-weight:800}
.staff-shift-preview{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:13px}
.staff-shift-preview>div{padding:11px;border-radius:14px;background:#fff;border:1px solid #e7e7ea}
.staff-shift-preview span,.staff-shift-preview strong{display:block}
.staff-shift-preview span{color:#8e8e93;font-size:9px;font-weight:700}
.staff-shift-preview strong{margin-top:4px;font-size:13px}
.staff-shift-preview strong.negative{color:#d92d20}
.staff-handover{display:grid;gap:7px;margin:14px 0 0;padding:0;border:0}
.staff-handover legend{margin-bottom:8px;font-size:12px;font-weight:800}
.staff-handover>label{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:center;padding:11px;border:1px solid #dedee2;border-radius:15px;background:#fff}
.staff-handover input{width:18px;height:18px;accent-color:#111}
.staff-handover span,.staff-handover strong,.staff-handover small{display:block}
.staff-handover strong{font-size:11px}
.staff-handover small{margin-top:3px;color:#8e8e93;font-size:9px;line-height:1.35}
.staff-shift-save{width:100%;height:52px;margin-top:18px;border:0;border-radius:16px;background:#111;color:#fff;font-size:13px;font-weight:850;box-shadow:0 10px 30px rgba(0,0,0,.14)}
.staff-shift-save:disabled{opacity:.55}

@media(max-width:390px){
  .staff-shift-card{align-items:flex-start}
  .staff-shift-controls{flex-direction:column;align-items:stretch}
  .shift-indicator{display:none}
}

.staff-metrics article:nth-child(2) .dashboard-summary-icon{
  background:rgba(48,209,88,.11);
  color:#067647;
}

.staff-metrics article:nth-child(3) .dashboard-summary-icon{
  background:rgba(10,132,255,.10);
  color:#0569b8;
}

.staff-metrics article:nth-child(4) .dashboard-summary-icon{
  background:rgba(175,82,222,.10);
  color:#7e3aa8;
}

.staff-collection-row{padding:12px;border:1px solid #ececef;border-radius:17px;background:#fff}
.staff-collection-row+ .staff-collection-row{margin-top:7px}
.staff-collection-row header,.staff-collection-row footer{display:flex;justify-content:space-between;gap:10px;align-items:center}
.staff-collection-row header div strong,.staff-collection-row header div small{display:block}
.staff-collection-row header div strong{font-size:12px}
.staff-collection-row header div small{margin-top:3px;color:#8e8e93;font-size:9px}
.staff-collection-row header>span{padding:5px 8px;border-radius:999px;font-size:8px;font-weight:850}
.staff-collection-row header>span.open{background:#eaf8ef;color:#067647}
.staff-collection-row header>span.closed{background:#f0f0f2;color:#666}
.staff-collection-row>div{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin-top:10px}
.staff-collection-row>div span{padding:8px 5px;border-radius:10px;background:#f7f7f8;color:#8e8e93;font-size:8px;text-align:center}
.staff-collection-row>div strong{display:block;margin-top:4px;color:#111;font-size:9px}
.staff-collection-row footer{margin-top:9px;padding-top:9px;border-top:1px solid #eeeeef;font-size:10px}
.staff-collection-row footer strong{font-size:12px}
.staff-collection-row{cursor:pointer}
.staff-collection-row:active{transform:scale(.99)}
.staff-collection-row{cursor:default;padding:13px 14px}
.staff-collection-row:active{transform:none}
.staff-collection-row>div.staff-collection-parts{grid-template-columns:repeat(auto-fit,minmax(82px,1fr));gap:6px;margin-top:10px}
.staff-collection-empty{margin:11px 0 0;padding:10px 12px;border-radius:11px;background:#f7f7f8;color:#8e8e93;font-size:10px}
.staff-collection-handover{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;margin-top:10px;padding:11px 12px;border:1px solid #eadcb9;border-radius:12px;background:#fffaf0;color:#765615;text-align:left;font:inherit;cursor:pointer}
.staff-collection-handover span{font-size:11px;font-weight:800}
.staff-collection-handover small{display:block;margin-top:3px;color:#927d57;font-size:9px;font-weight:500}
.staff-collection-handover strong{flex:none;font-size:12px;white-space:nowrap}
.staff-collection-handover i{margin-left:5px;font-size:9px}
.staff-collection-total-row{background:#f8f8f9;border-color:#dedee2}
.owner-shift-tabs{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin:10px 0 8px;padding:4px;border-radius:13px;background:#f0f0f2}
.owner-shift-tabs button{height:34px;border:0;border-radius:10px;background:transparent;color:#777;font-size:10px;font-weight:800}
.owner-shift-tabs button.active{background:#fff;color:#111;box-shadow:0 3px 10px rgba(0,0,0,.08)}
.owner-shift-history-controls{display:grid;grid-template-columns:34px minmax(0,1fr) 34px;gap:5px;margin-bottom:8px}
.owner-shift-history-controls button,.owner-shift-history-controls input,.owner-shift-history-controls select{height:38px;border:1px solid #e2e2e5;border-radius:11px;background:#fff;font:inherit;font-size:10px}
.owner-shift-history-controls button:disabled{opacity:.35}
.owner-shift-history-controls input{min-width:0;padding:0 8px}
.owner-shift-history-controls select{grid-column:1/-1;padding:0 10px}
.owner-shift-sheet{position:fixed;inset:0;z-index:3100;display:grid;align-items:end}
.owner-shift-sheet[hidden]{display:none}
.owner-shift-backdrop{position:absolute;inset:0;border:0;background:rgba(0,0,0,.58);opacity:0;transition:opacity .18s ease}
.owner-shift-detail{position:relative;z-index:1;max-height:88dvh;overflow:auto;padding:10px 16px calc(24px + env(safe-area-inset-bottom));border-radius:28px 28px 0 0;background:#f7f7f8;transform:translateY(105%);transition:transform .2s ease}
.owner-shift-sheet.show .owner-shift-backdrop{opacity:1}
.owner-shift-sheet.show .owner-shift-detail{transform:translateY(0)}
.owner-shift-handle{width:42px;height:5px;margin:0 auto 14px;border-radius:20px;background:#c7c7cc}
.owner-shift-detail>header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.owner-shift-detail>header span{color:#9b7209;font-size:9px;font-weight:850;letter-spacing:.13em}
.owner-shift-detail>header h3{margin:4px 0 0;font-size:21px}
.owner-shift-detail>header p{margin:4px 0 0;color:#8e8e93;font-size:10px}
.owner-shift-detail>header button{display:grid;place-items:center;width:38px;height:38px;border:0;border-radius:13px;background:#e9e9eb;color:#555}
.owner-shift-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:15px}
.owner-shift-detail-grid>div{padding:10px;border:1px solid #e5e5e8;border-radius:13px;background:#fff}
.owner-shift-detail-grid span,.owner-shift-detail-grid strong{display:block}
.owner-shift-detail-grid span{color:#8e8e93;font-size:8px;font-weight:700}
.owner-shift-detail-grid strong{margin-top:4px;font-size:11px}
.owner-shift-notes{margin-top:10px;padding:10px 12px;border-radius:13px;background:#fff8e6;color:#6f5208;font-size:10px}
.owner-shift-notes p{margin:0;line-height:1.45}.owner-shift-notes p+p{margin-top:5px}
.owner-shift-activity{margin-top:15px}.owner-shift-activity h4{margin:0 0 8px;font-size:13px}
.owner-shift-activity>div>div{display:grid;grid-template-columns:30px 1fr auto;gap:8px;align-items:center;padding:8px 0;border-bottom:1px solid #e8e8ea}
.owner-shift-activity i{display:grid;place-items:center;width:30px;height:30px;border-radius:10px;background:#eee;color:#555;font-size:11px}
.owner-shift-activity span strong,.owner-shift-activity span small{display:block}
.owner-shift-activity span strong{font-size:10px}.owner-shift-activity span small{margin-top:3px;color:#8e8e93;font-size:8px}
.owner-shift-activity b{font-size:10px}

.revenue-breakdown-content{display:grid;gap:7px;margin-top:14px}
.revenue-breakdown-group-title{margin:8px 2px 1px;color:#9b7209;font-size:9px;font-weight:850;letter-spacing:.12em}
.revenue-breakdown-row{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:9px;align-items:center;padding:10px;border:1px solid #e7e7ea;border-radius:14px;background:#fff}
.revenue-breakdown-row>i{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:#fff7df;color:#976a08;font-size:12px}
.revenue-breakdown-row>div{min-width:0}
.revenue-breakdown-row strong,.revenue-breakdown-row small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.revenue-breakdown-row>div>strong{font-size:11px}
.revenue-breakdown-row small{margin-top:3px;color:#8e8e93;font-size:8px}
.revenue-breakdown-row>b{font-size:10px;white-space:nowrap}
.revenue-load-more{width:100%;min-height:44px;margin-top:5px;border:1px solid #d9ad34;border-radius:13px;background:#fffaf0;color:#7b5700;font:800 11px/1 inherit;letter-spacing:.01em}
.revenue-load-more span{display:block;margin-top:3px;color:#9a8b67;font-size:8px;font-weight:700}

/* ---------- Quick actions ---------- */

.dashboard-actions{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:6px;
  margin-top:10px;
}

.dashboard-actions button{
  display:grid;
  justify-items:center;
  align-content:center;
  gap:6px;
  min-width:0;
  min-height:78px;
  padding:9px 5px;
  border:0;
  border-radius:14px;
  background:#f7f7f8;
  color:#111;
  font-size:10px;
  font-weight:800;
}

.dashboard-actions i{
  color:#9a6d08;
  font-size:16px;
}

.dashboard-actions span{
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

/* ---------- Empty/loading ---------- */

.dashboard-empty{
  padding:15px 8px;
  color:#8e8e93;
  font-size:11px;
  line-height:1.45;
  text-align:center;
}

.dashboard-skeleton{
  height:56px;
  border-radius:14px;
  background:
    linear-gradient(
      90deg,
      rgba(17,17,17,.035),
      rgba(255,255,255,.8),
      rgba(17,17,17,.035)
    );
  background-size:220% 100%;
  animation:dashboardSkeleton 1.3s linear infinite;
}

@keyframes dashboardSkeleton{
  to{background-position:-220% 0}
}

/* ---------- Phone ---------- */

@media(max-width:430px){
  .mobile-dashboard{
    gap:8px;
  }

  .dashboard-welcome{
    padding-top:1px;
  }

  .dashboard-welcome-copy h2{
    font-size:21px;
  }

  .dashboard-revenue-card{
    padding:14px;
    border-radius:20px;
  }

  .dashboard-revenue-card>header>div:first-child>strong{
    font-size:27px;
  }

  .dashboard-revenue-split{
    gap:5px;
    margin-top:12px;
  }

  .dashboard-revenue-split>div{
    padding:8px 6px;
  }

  .dashboard-revenue-split strong{
    font-size:12px;
  }

  .dashboard-summary-grid{
    gap:6px;
  }

  .dashboard-summary-grid article{
    min-height:102px;
    padding:10px;
    border-radius:16px;
  }

  .dashboard-section{
    padding:11px;
    border-radius:17px;
  }

  .compact-row{
    grid-template-columns:36px minmax(0,1fr) auto;
    min-height:61px;
  }

  .compact-row-icon{
    width:36px;
    height:36px;
  }
}

@media(max-width:350px){
  .dashboard-revenue-split{
    grid-template-columns:1fr;
  }

  .dashboard-summary-grid{
    grid-template-columns:1fr 1fr;
  }

  .dashboard-actions{
    grid-template-columns:1fr;
  }

  .dashboard-actions button{
    grid-template-columns:28px minmax(0,1fr);
    justify-items:start;
    min-height:48px;
    text-align:left;
  }
}

/* v271: owner revenue in the light CUEVA theme. */
#ownerDashboard .dashboard-revenue-card {
  background: #fff;
  color: #111217;
  border: 1px solid rgba(17,18,23,.07);
  box-shadow: 0 12px 30px rgba(17,18,23,.06);
}
#ownerDashboard .dashboard-revenue-card:after { display: none; }
#ownerDashboard .dashboard-revenue-card > header span { color: #a77b00; }
#ownerDashboard .dashboard-revenue-icon {
  color: #a77b00;
  background: #fbf5e5;
  border-color: #f3e9ce;
}
#ownerDashboard .dashboard-revenue-card > p,
#ownerDashboard .dashboard-revenue-split span { color: #747780; }
#ownerDashboard .dashboard-revenue-split > div {
  background: #f7f7f9;
  border-color: #ededf0;
}
#ownerDashboard .dashboard-revenue-split strong { color: #111217; }
#ownerDashboard .revenue-breakdown-trigger:focus-visible {
  outline: 2px solid #a77b00;
  outline-offset: 2px;
}
#ownerDashboard .dashboard-summary-grid article[hidden] { display: none !important; }
#ownerDashboard .has-single-optional #creditSummaryCard:not([hidden]),
#ownerDashboard .has-single-optional #lowStockSummaryCard:not([hidden]) { grid-column: 1 / -1; }

/* Overview cleanup: revenue has two additive parts; profit lives in Sales. */
#ownerDashboard .dashboard-revenue-split { grid-template-columns: repeat(2, minmax(0, 1fr)); }
#dashboardAttention { grid-template-columns: 38px minmax(0, 1fr) auto; }
#dashboardAttention > button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  width: auto;
  min-height: 38px;
  padding: 0 10px;
  border: 1px solid rgba(180,35,24,.14);
  border-radius: 11px;
  background: #fff;
  color: #a72820;
  font-size: 12px;
  font-weight: 750;
}
#dashboardAttention > button span { font-size: 20px; }
#dashboardAttention #attentionText[hidden] { display: none; }
.sales-profit-summary {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin-top: 16px;
  padding: 14px;
  border: 1px solid #eee3c8;
  border-radius: 14px;
  background: #fbf6e9;
}
.sales-profit-summary[hidden] { display: none; }
.sales-profit-summary span { display: block; color: #755700; font-size: 13px; font-weight: 750; }
.sales-profit-summary small { display: block; margin-top: 4px; color: #747780; font-size: 11px; }
.sales-profit-summary strong { font-size: 18px; color: #111217; white-space: nowrap; }

/* ---------- Staff collected transaction drill-down ---------- */
.staff-collected-card{cursor:pointer;-webkit-tap-highlight-color:transparent}
.staff-collected-card:active{transform:scale(.985)}
.staff-collected-card:focus-visible{outline:2px solid #b9850f;outline-offset:2px}

.staff-collection-sheet{position:fixed;inset:0;z-index:3150;display:grid;align-items:end}
.staff-collection-sheet[hidden]{display:none}
.staff-collection-backdrop{position:absolute;inset:0;border:0;background:rgba(0,0,0,.58);opacity:0;transition:opacity .18s ease}
.staff-collection-detail{position:relative;z-index:1;max-height:88dvh;overflow:auto;padding:10px 16px calc(24px + env(safe-area-inset-bottom));border-radius:28px 28px 0 0;background:#f7f7f8;color:#111;box-shadow:0 -22px 70px rgba(0,0,0,.28);transform:translateY(105%);transition:transform .2s ease}
.staff-collection-sheet.show .staff-collection-backdrop{opacity:1}
.staff-collection-sheet.show .staff-collection-detail{transform:translateY(0)}
.staff-collection-handle{width:42px;height:5px;margin:0 auto 14px;border-radius:20px;background:#c7c7cc}
.staff-collection-detail>header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.staff-collection-detail>header span{color:#9b7209;font-size:9px;font-weight:850;letter-spacing:.13em}
.staff-collection-detail>header h3{margin:4px 0 0;font-size:22px;letter-spacing:-.03em}
.staff-collection-detail>header p{margin:4px 0 0;color:#8e8e93;font-size:10px}
.staff-collection-detail>header button{display:grid;place-items:center;width:38px;height:38px;border:0;border-radius:13px;background:#e9e9eb;color:#555}
.staff-collection-total-card{margin-top:15px;padding:16px;border-radius:20px;background:#171719;color:#fff}
.staff-collection-total-card>span{color:#c7c7cc;font-size:9px;font-weight:850;letter-spacing:.13em}
.staff-collection-total-card>strong{display:block;margin-top:5px;font-size:30px;letter-spacing:-.04em}
.staff-collection-total-card>div{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:14px}
.staff-collection-total-card small{display:block;padding:9px;border-radius:12px;background:rgba(255,255,255,.08);color:#c7c7cc;font-size:8px}
.staff-collection-total-card b{display:block;margin-top:4px;color:#fff;font-size:11px}
.staff-collection-transactions{display:grid;gap:8px;margin-top:14px}
.staff-collection-transaction{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:10px;align-items:center;padding:11px;border:1px solid #e6e6e9;border-radius:17px;background:#fff}
.staff-collection-transaction-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:#f2f2f4;color:#555}
.staff-collection-transaction-icon.cash{background:#fff7df;color:#9b7209}
.staff-collection-transaction-icon.card{background:#eef5ff;color:#0569b8}
.staff-collection-transaction-icon.bank{background:#f1ecff;color:#7e3aa8}
.staff-collection-transaction-copy{min-width:0}
.staff-collection-transaction-copy strong,.staff-collection-transaction-copy small{display:block}
.staff-collection-transaction-copy strong{overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}
.staff-collection-transaction-copy small{margin-top:4px;color:#8e8e93;font-size:9px;line-height:1.35}
.staff-collection-transaction-amount{text-align:right}
.staff-collection-transaction-amount span,.staff-collection-transaction-amount strong{display:block}
.staff-collection-transaction-amount span{color:#8e8e93;font-size:8px;font-weight:750}
.staff-collection-transaction-amount strong{margin-top:4px;font-size:12px}


/* v297 — greeting is rendered only when dashboard identity data is ready. */
.dashboard-welcome-side{
  align-self:start;
  padding-top:4px;
}
.dashboard-welcome-side>p{
  font-size:11px;
  color:#777b82;
  letter-spacing:0;
}


/* =========================================================
   v298 — Revenue card only
   Full charcoal card + Today vs. yesterday on the right.
   All other Dashboard sections remain unchanged.
   ========================================================= */

.dashboard-revenue-card-v298{
  padding:22px 20px 18px!important;
  border:0!important;
  border-radius:24px!important;
  background:#2d2f31!important;
  color:#fff!important;
  box-shadow:0 12px 30px rgba(17,18,23,.12)!important;
}

.dashboard-revenue-card-v298>header{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:14px!important;
}

.dashboard-revenue-card-v298>header>div:first-child{
  min-width:0;
}

.dashboard-revenue-card-v298>header span{
  color:#d8aa3d!important;
}

.dashboard-revenue-card-v298 #totalRevenue{
  color:#fff!important;
  font-size:42px!important;
  line-height:1!important;
  letter-spacing:-.045em!important;
}

.dashboard-revenue-card-v298>p{
  margin:10px 0 16px!important;
  color:rgba(255,255,255,.72)!important;
}

.dashboard-revenue-compare{
  flex:0 0 auto;
  min-width:92px;
  padding-top:3px;
  text-align:right;
}

.dashboard-revenue-compare>strong{
  display:block;
  color:#d8aa3d!important;
  font-size:20px!important;
  font-weight:800!important;
  line-height:1!important;
  white-space:nowrap;
}

.dashboard-revenue-compare>strong.is-down{
  color:#e8897f!important;
}

.dashboard-revenue-compare>small{
  display:block;
  margin-top:6px;
  color:rgba(255,255,255,.62)!important;
  font-size:10px!important;
  font-weight:500;
  white-space:nowrap;
}

.dashboard-revenue-card-v298 .dashboard-revenue-split{
  overflow:hidden;
  border:0!important;
  border-radius:18px!important;
  background:#fff!important;
}

.dashboard-revenue-card-v298 .dashboard-revenue-split>div{
  padding:14px 16px!important;
  background:#fff!important;
}

.dashboard-revenue-card-v298 .dashboard-revenue-split>div + div{
  border-left:1px solid rgba(17,18,23,.08)!important;
}

.dashboard-revenue-card-v298 .dashboard-revenue-split span{
  color:#7a7d83!important;
}

.dashboard-revenue-card-v298 .dashboard-revenue-split strong{
  color:#111217!important;
}

@media(max-width:420px){
  .dashboard-revenue-card-v298{
    padding:20px 16px 15px!important;
    border-radius:22px!important;
  }

  .dashboard-revenue-card-v298 #totalRevenue{
    font-size:38px!important;
  }

  .dashboard-revenue-compare{
    min-width:82px;
  }

  .dashboard-revenue-compare>strong{
    font-size:18px!important;
  }

  .dashboard-revenue-card-v298 .dashboard-revenue-split{
    border-radius:16px!important;
  }

  .dashboard-revenue-card-v298 .dashboard-revenue-split>div{
    padding:13px 14px!important;
  }
}


/* =========================================================
   v299 — Revenue breakdown only
   Gaming and Sales are two separate cards inside the
   charcoal Today Revenue card.
   ========================================================= */

.dashboard-revenue-card-v298 .dashboard-revenue-split{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:10px!important;
  overflow:visible!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
}

.dashboard-revenue-card-v298 .dashboard-revenue-split>div{
  min-width:0!important;
  padding:14px 15px!important;
  border:1px solid rgba(255,255,255,.10)!important;
  border-radius:15px!important;
  background:#fff!important;
  box-shadow:0 3px 10px rgba(0,0,0,.035)!important;
}

.dashboard-revenue-card-v298 .dashboard-revenue-split>div + div{
  border-left:1px solid rgba(255,255,255,.10)!important;
}

.dashboard-revenue-card-v298 .dashboard-revenue-split span{
  color:#7a7d83!important;
  font-size:11px!important;
  font-weight:500!important;
}

.dashboard-revenue-card-v298 .dashboard-revenue-split strong{
  margin-top:5px!important;
  color:#111217!important;
  font-size:18px!important;
  font-weight:800!important;
  line-height:1.1!important;
}

@media(max-width:420px){
  .dashboard-revenue-card-v298 .dashboard-revenue-split{
    gap:8px!important;
  }

  .dashboard-revenue-card-v298 .dashboard-revenue-split>div{
    padding:13px 13px!important;
    border-radius:14px!important;
  }

  .dashboard-revenue-card-v298 .dashboard-revenue-split strong{
    font-size:17px!important;
  }
}


/* =========================================================
   v300 — Revenue card compact proportions only
   Same approved design, slightly tighter vertically.
   ========================================================= */

.dashboard-revenue-card-v298{
  padding:18px 16px 13px!important;
}

.dashboard-revenue-card-v298>p{
  margin:8px 0 12px!important;
}

.dashboard-revenue-card-v298 .dashboard-revenue-split{
  gap:8px!important;
}

.dashboard-revenue-card-v298 .dashboard-revenue-split>div{
  padding:11px 13px!important;
  min-height:76px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
}

.dashboard-revenue-card-v298 .dashboard-revenue-split strong{
  margin-top:4px!important;
}

@media(max-width:420px){
  .dashboard-revenue-card-v298{
    padding:17px 14px 12px!important;
  }

  .dashboard-revenue-card-v298>p{
    margin:7px 0 11px!important;
  }

  .dashboard-revenue-card-v298 .dashboard-revenue-split>div{
    min-height:70px!important;
    padding:10px 12px!important;
  }
}


/* =========================================================
   v301 — Four KPI cards only
   Smaller compact boxes; Revenue / greeting remain unchanged.
   ========================================================= */

.dashboard-summary-grid-v301{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px!important;
}

.dashboard-summary-grid-v301 .dashboard-kpi-card{
  min-height:118px!important;
  padding:14px 15px!important;
  display:grid!important;
  grid-template-columns:42px minmax(0,1fr)!important;
  align-items:start!important;
  gap:11px!important;
  border:1px solid rgba(17,18,23,.07)!important;
  border-radius:18px!important;
  background:#fff!important;
  box-shadow:0 5px 16px rgba(17,18,23,.045)!important;
}

.dashboard-summary-grid-v301 .dashboard-summary-icon{
  width:42px!important;
  height:42px!important;
  margin:0!important;
  border-radius:13px!important;
  background:#fbf4e4!important;
  color:#a87500!important;
}

.dashboard-summary-grid-v301 .dashboard-summary-icon i{
  font-size:17px!important;
}

.dashboard-summary-grid-v301 .dashboard-kpi-copy{
  min-width:0;
  padding-top:1px;
}

.dashboard-summary-grid-v301 .dashboard-kpi-copy>span{
  display:block;
  color:#777a80!important;
  font-size:11px!important;
  font-weight:650!important;
  line-height:1.2!important;
}

.dashboard-summary-grid-v301 .dashboard-kpi-copy>strong{
  display:block;
  margin-top:7px!important;
  color:#111217!important;
  font-size:25px!important;
  font-weight:780!important;
  line-height:1!important;
  letter-spacing:-.035em!important;
}

.dashboard-summary-grid-v301 .dashboard-kpi-copy>small{
  display:block;
  margin-top:7px!important;
  overflow:hidden;
  color:#aaaab0!important;
  font-size:9.5px!important;
  line-height:1.25!important;
  text-overflow:ellipsis;
  white-space:nowrap;
}

@media(max-width:420px){
  .dashboard-summary-grid-v301{
    gap:9px!important;
  }

  .dashboard-summary-grid-v301 .dashboard-kpi-card{
    min-height:108px!important;
    padding:12px!important;
    grid-template-columns:38px minmax(0,1fr)!important;
    gap:9px!important;
    border-radius:17px!important;
  }

  .dashboard-summary-grid-v301 .dashboard-summary-icon{
    width:38px!important;
    height:38px!important;
    border-radius:12px!important;
  }

  .dashboard-summary-grid-v301 .dashboard-summary-icon i{
    font-size:16px!important;
  }

  .dashboard-summary-grid-v301 .dashboard-kpi-copy>span{
    font-size:10px!important;
  }

  .dashboard-summary-grid-v301 .dashboard-kpi-copy>strong{
    margin-top:6px!important;
    font-size:22px!important;
  }

  .dashboard-summary-grid-v301 .dashboard-kpi-copy>small{
    margin-top:6px!important;
    font-size:8.5px!important;
  }
}


/* =========================================================
   v302 — KPI card polish + revenue comparison colors
   Only these two visual areas are adjusted.
   ========================================================= */

/* Yesterday's actual revenue is context, not a performance alert. */
.dashboard-revenue-card-v298 .dashboard-revenue-compare>strong{
  color:rgba(255,255,255,.88)!important;
  font-size:18px!important;
  font-weight:700!important;
}

/* Legacy comparison colors (no longer used by the owner card). */
.dashboard-revenue-card-v298 .dashboard-revenue-compare>strong.is-up{
  color:#35b56a!important;
}

.dashboard-revenue-card-v298 .dashboard-revenue-compare>strong.is-down{
  color:#e45f55!important;
}

/* Better 4-card composition */
.dashboard-summary-grid-v301{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px!important;
}

.dashboard-summary-grid-v301 .dashboard-kpi-card{
  position:relative!important;
  min-height:126px!important;
  padding:15px 15px 14px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  gap:0!important;
  border:1px solid rgba(17,18,23,.065)!important;
  border-radius:20px!important;
  background:#fff!important;
  box-shadow:0 6px 18px rgba(17,18,23,.045)!important;
}

.dashboard-summary-grid-v301 .dashboard-summary-icon{
  width:40px!important;
  height:40px!important;
  margin:0 0 12px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:13px!important;
  background:#fbf4e4!important;
  color:#a87500!important;
}

.dashboard-summary-grid-v301 .dashboard-summary-icon i{
  font-size:16px!important;
}

.dashboard-summary-grid-v301 .dashboard-kpi-copy{
  min-width:0!important;
  display:block!important;
  padding:0!important;
}

.dashboard-summary-grid-v301 .dashboard-kpi-copy>span{
  display:block!important;
  margin:0!important;
  color:#777a80!important;
  font-size:11px!important;
  font-weight:700!important;
  line-height:1.2!important;
}

.dashboard-summary-grid-v301 .dashboard-kpi-copy>strong{
  display:block!important;
  margin-top:7px!important;
  color:#111217!important;
  font-size:27px!important;
  font-weight:800!important;
  line-height:1!important;
  letter-spacing:-.035em!important;
}

.dashboard-summary-grid-v301 .dashboard-kpi-copy>small{
  display:block!important;
  margin-top:8px!important;
  overflow:hidden!important;
  color:#a4a5aa!important;
  font-size:9.5px!important;
  line-height:1.2!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}

/* Add a subtle top-right arrow so the cards feel interactive,
   matching the design language the user liked. */
.dashboard-summary-grid-v301 .dashboard-kpi-card::after{
  content:"›";
  position:absolute;
  top:13px;
  right:14px;
  color:#9b9da2;
  font-size:24px;
  font-weight:300;
  line-height:1;
}

/* Credit amount needs slightly tighter sizing for currency values */
.dashboard-summary-grid-v301 #creditOutstanding{
  font-size:24px!important;
}

/* Mobile tuning */
@media(max-width:420px){
  .dashboard-summary-grid-v301{
    gap:9px!important;
  }

  .dashboard-summary-grid-v301 .dashboard-kpi-card{
    min-height:118px!important;
    padding:13px 13px 12px!important;
    border-radius:18px!important;
  }

  .dashboard-summary-grid-v301 .dashboard-summary-icon{
    width:38px!important;
    height:38px!important;
    margin-bottom:10px!important;
    border-radius:12px!important;
  }

  .dashboard-summary-grid-v301 .dashboard-summary-icon i{
    font-size:15px!important;
  }

  .dashboard-summary-grid-v301 .dashboard-kpi-copy>span{
    font-size:10px!important;
  }

  .dashboard-summary-grid-v301 .dashboard-kpi-copy>strong{
    margin-top:6px!important;
    font-size:24px!important;
  }

  .dashboard-summary-grid-v301 #creditOutstanding{
    font-size:22px!important;
  }

  .dashboard-summary-grid-v301 .dashboard-kpi-copy>small{
    margin-top:7px!important;
    font-size:8.5px!important;
  }

  .dashboard-summary-grid-v301 .dashboard-kpi-card::after{
    top:12px;
    right:12px;
    font-size:22px;
  }
}


/* =========================================================
   v303 — Revenue breakdown is conditional
   Parlours with no sellable products/services see only the
   Today Revenue total + vs. yesterday.
   ========================================================= */

.dashboard-revenue-card-v298 .dashboard-revenue-split[hidden]{
  display:none!important;
}

.dashboard-revenue-card-v298.revenue-total-only{
  padding-bottom:18px!important;
}

.dashboard-revenue-card-v298.revenue-total-only>p{
  margin-bottom:2px!important;
}

@media(max-width:420px){
  .dashboard-revenue-card-v298.revenue-total-only{
    padding-bottom:16px!important;
  }
}


/* =========================================================
   v304 — no-sales / no-credit parlour visibility
   ========================================================= */

/* Hidden means truly hidden before Firestore readiness. */
.dashboard-revenue-split[hidden],
#creditSummaryCard[hidden],
#lowStockSummaryCard[hidden]{
  display:none!important;
}

/* When optional KPI cards are hidden, remaining cards fill the row cleanly. */
.dashboard-summary-grid-v301{
  grid-auto-flow:row;
}

/* Fix descenders such as the "g" in Ogt being clipped. */
.dashboard-welcome-copy h2{
  line-height:1.10!important;
  padding-bottom:3px!important;
}


/* =========================================================
   v306 — Collected Today only
   Total = Cash + Card + Bank.
   Credit repayment is informational because it is already
   included in the payment method that received it.
   ========================================================= */

.dashboard-collected-head{
  align-items:center!important;
}

.dashboard-collected-total{
  flex:0 0 auto;
  text-align:right;
}

.dashboard-collected-total>span{
  display:block;
  color:#9c6d08!important;
  font-size:9px!important;
  font-weight:750!important;
  letter-spacing:.06em!important;
  text-transform:uppercase!important;
}

.dashboard-collected-total>strong{
  display:block;
  margin-top:3px;
  color:#9c6d08;
  font-size:18px;
  font-weight:800;
  line-height:1;
  white-space:nowrap;
}

.dashboard-payment-grid>div[hidden]{
  display:none!important;
}

.dashboard-payment-grid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:8px!important;
}

.dashboard-payment-grid>div{
  padding:12px 13px!important;
  border:1px solid rgba(17,18,23,.055)!important;
  border-radius:14px!important;
  background:#f7f7f8!important;
}

.dashboard-payment-grid span{
  color:#8b8e94!important;
  font-size:10px!important;
}

.dashboard-payment-grid strong{
  margin-top:5px!important;
  color:#111217!important;
  font-size:16px!important;
  font-weight:800!important;
}

@media(max-width:370px){
  .dashboard-collected-total>strong{
    font-size:16px;
  }

  .dashboard-payment-grid{
    gap:7px!important;
  }

  .dashboard-payment-grid>div{
    padding:11px!important;
  }
}


/* =========================================================
   v308 — Compact KPI cards + black Collected Today total
   Only these visual details are changed.
   ========================================================= */

.dashboard-summary-grid-v301{
  gap:8px!important;
}

.dashboard-summary-grid-v301 .dashboard-kpi-card{
  min-height:96px!important;
  padding:11px 12px 10px!important;
  border-radius:16px!important;
  box-shadow:0 4px 12px rgba(17,18,23,.035)!important;
}

.dashboard-summary-grid-v301 .dashboard-summary-icon{
  width:34px!important;
  height:34px!important;
  margin:0 0 8px!important;
  border-radius:11px!important;
}

.dashboard-summary-grid-v301 .dashboard-summary-icon i{
  font-size:14px!important;
}

.dashboard-summary-grid-v301 .dashboard-kpi-copy>span{
  font-size:9.5px!important;
  font-weight:700!important;
}

.dashboard-summary-grid-v301 .dashboard-kpi-copy>strong{
  margin-top:5px!important;
  font-size:21px!important;
  line-height:1!important;
}

.dashboard-summary-grid-v301 #creditOutstanding{
  font-size:20px!important;
}

.dashboard-summary-grid-v301 .dashboard-kpi-copy>small{
  margin-top:5px!important;
  font-size:8px!important;
  line-height:1.15!important;
}

.dashboard-summary-grid-v301 .dashboard-kpi-card::after{
  top:10px!important;
  right:10px!important;
  font-size:19px!important;
  color:#a7a9ad!important;
}

/* Collected Today total should match the black heading/value style. */
.dashboard-collected-total>span{
  color:#8b8e94!important;
}

.dashboard-collected-total>strong{
  color:#111217!important;
}

@media(max-width:420px){
  .dashboard-summary-grid-v301{
    gap:8px!important;
  }

  .dashboard-summary-grid-v301 .dashboard-kpi-card{
    min-height:92px!important;
    padding:10px 11px 9px!important;
    border-radius:15px!important;
  }

  .dashboard-summary-grid-v301 .dashboard-summary-icon{
    width:32px!important;
    height:32px!important;
    margin-bottom:7px!important;
    border-radius:10px!important;
  }

  .dashboard-summary-grid-v301 .dashboard-summary-icon i{
    font-size:13px!important;
  }

  .dashboard-summary-grid-v301 .dashboard-kpi-copy>span{
    font-size:9px!important;
  }

  .dashboard-summary-grid-v301 .dashboard-kpi-copy>strong{
    font-size:20px!important;
  }

  .dashboard-summary-grid-v301 #creditOutstanding{
    font-size:19px!important;
  }

  .dashboard-summary-grid-v301 .dashboard-kpi-copy>small{
    font-size:7.5px!important;
  }
}


/* =========================================================
   v309 — Revenue Gaming/Sales inner card
   One light-grey rounded container, split by one center line.
   ========================================================= */

.dashboard-revenue-card-v298 .dashboard-revenue-split{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:0!important;
  overflow:hidden!important;
  border:1px solid rgba(17,18,23,.06)!important;
  border-radius:18px!important;
  background:#f4f4f5!important;
  box-shadow:none!important;
}

.dashboard-revenue-card-v298 .dashboard-revenue-split>div{
  min-width:0!important;
  min-height:72px!important;
  padding:12px 16px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}

.dashboard-revenue-card-v298 .dashboard-revenue-split>div + div{
  border-left:1px solid rgba(17,18,23,.10)!important;
}

.dashboard-revenue-card-v298 .dashboard-revenue-split span{
  color:#7d8086!important;
  font-size:11px!important;
}

.dashboard-revenue-card-v298 .dashboard-revenue-split strong{
  margin-top:4px!important;
  color:#111217!important;
  font-size:18px!important;
  font-weight:800!important;
}

@media(max-width:420px){
  .dashboard-revenue-card-v298 .dashboard-revenue-split{
    border-radius:16px!important;
  }

  .dashboard-revenue-card-v298 .dashboard-revenue-split>div{
    min-height:68px!important;
    padding:11px 13px!important;
  }

  .dashboard-revenue-card-v298 .dashboard-revenue-split strong{
    font-size:17px!important;
  }
}


/* =========================================================
   v310 — Darker Gaming / Sales inner card
   Keep one rounded card + center divider, but make it blend
   more naturally with the charcoal Revenue hero.
   ========================================================= */

.dashboard-revenue-card-v298 .dashboard-revenue-split{
  border:1px solid rgba(255,255,255,.08)!important;
  background:#3a3c3f!important;
}

.dashboard-revenue-card-v298 .dashboard-revenue-split>div{
  background:transparent!important;
}

.dashboard-revenue-card-v298 .dashboard-revenue-split>div + div{
  border-left:1px solid rgba(255,255,255,.12)!important;
}

.dashboard-revenue-card-v298 .dashboard-revenue-split span{
  color:rgba(255,255,255,.62)!important;
}

.dashboard-revenue-card-v298 .dashboard-revenue-split strong{
  color:#fff!important;
}


/* =========================================================
   v311 — subtle distinction inside Revenue breakdown
   Keep one unified rounded card, but give Gaming and Sales
   slightly different dark tones so they are easier to scan.
   ========================================================= */

.dashboard-revenue-card-v298 .dashboard-revenue-split{
  background:#37393c!important;
  border:1px solid rgba(255,255,255,.09)!important;
}

.dashboard-revenue-card-v298 .dashboard-revenue-split>div:first-child{
  background:rgba(255,255,255,.025)!important;
}

.dashboard-revenue-card-v298 .dashboard-revenue-split>div:last-child{
  background:rgba(0,0,0,.035)!important;
}

.dashboard-revenue-card-v298 .dashboard-revenue-split>div + div{
  border-left:1px solid rgba(255,255,255,.14)!important;
}

.dashboard-revenue-card-v298 .dashboard-revenue-split span{
  color:rgba(255,255,255,.58)!important;
}

.dashboard-revenue-card-v298 .dashboard-revenue-split strong{
  color:#fff!important;
}


/* =========================================================
   v312 — Revenue Gaming / Sales unified light-grey panel
   Same color on both sides, one rounded card, center divider.
   ========================================================= */

.dashboard-revenue-card-v298 .dashboard-revenue-split{
  background:#eceeef!important;
  border:1px solid rgba(17,18,23,.06)!important;
}

.dashboard-revenue-card-v298 .dashboard-revenue-split>div:first-child,
.dashboard-revenue-card-v298 .dashboard-revenue-split>div:last-child{
  background:transparent!important;
}

.dashboard-revenue-card-v298 .dashboard-revenue-split>div + div{
  border-left:1px solid rgba(17,18,23,.10)!important;
}

.dashboard-revenue-card-v298 .dashboard-revenue-split span{
  color:#7b7f85!important;
}

.dashboard-revenue-card-v298 .dashboard-revenue-split strong{
  color:#111217!important;
}


/* =========================================================
   v327 — Staff Dashboard: Owner-matching premium design
   ========================================================= */

#staffDashboard{
  padding-bottom:18px;
}

#staffDashboard .staff-shift-card-v327{
  position:relative;
  overflow:hidden;
  min-height:128px;
  padding:18px;
  border:0;
  border-radius:22px;
  background:#2b2d31;
  box-shadow:0 12px 30px rgba(17,18,23,.10);
  color:#fff;
}

#staffDashboard .staff-shift-card-v327>div:first-child>span{
  color:rgba(255,255,255,.58);
  font-size:9px;
  font-weight:800;
  letter-spacing:.11em;
}

#staffDashboard .staff-shift-card-v327 h3{
  margin:6px 0 4px;
  color:#fff;
  font-size:22px;
  font-weight:800;
  letter-spacing:-.025em;
}

#staffDashboard .staff-shift-card-v327 p{
  margin:0;
  color:rgba(255,255,255,.62);
  font-size:10px;
}

#staffDashboard .staff-shift-controls{
  align-items:center;
  gap:10px;
}

#staffDashboard .shift-indicator{
  width:10px;
  height:10px;
}

#staffDashboard .staff-shift-action{
  min-height:38px;
  padding:0 14px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:12px;
  background:#fff;
  color:#17191d;
  font-size:10px;
  font-weight:800;
  box-shadow:none;
}

#staffDashboard .staff-shift-action.end{
  background:#f7eded;
  border-color:#f0d8d6;
  color:#b42318;
}

#staffDashboard .staff-metrics-v327{
  gap:8px;
  margin-top:10px;
}

#staffDashboard .staff-metrics-v327>article{
  min-height:92px;
  padding:10px 11px;
  border:1px solid rgba(17,18,23,.055);
  border-radius:15px;
  background:#fff;
  box-shadow:0 6px 18px rgba(17,18,23,.035);
}

#staffDashboard .staff-metrics-v327 .dashboard-summary-icon{
  width:32px;
  height:32px;
  border-radius:11px;
  background:#f7f2e5;
  color:#b78620;
}

#staffDashboard .staff-metrics-v327>article>span{
  margin-top:8px;
  color:#81858b;
  font-size:9px;
  font-weight:750;
}

#staffDashboard .staff-metrics-v327>article>strong{
  margin-top:2px;
  color:#17191d;
  font-size:20px;
  font-weight:800;
  letter-spacing:-.025em;
}

#staffDashboard .staff-metrics-v327>article>small{
  margin-top:1px;
  color:#a0a3a8;
  font-size:7.5px;
}

#staffDashboard .dashboard-section{
  margin-top:11px;
  padding:15px;
  border:1px solid rgba(17,18,23,.055);
  border-radius:20px;
  background:#fff;
  box-shadow:0 8px 24px rgba(17,18,23,.035);
}

#staffDashboard .dashboard-section-head span{
  color:#b2872a;
  font-size:9px;
  font-weight:800;
  letter-spacing:.10em;
}

#staffDashboard .dashboard-section-head h3{
  margin-top:4px;
  color:#17191d;
  font-size:15px;
  font-weight:800;
  letter-spacing:-.02em;
}

#staffDashboard .dashboard-payment-grid{
  gap:8px;
  margin-top:12px;
}

#staffDashboard .dashboard-payment-grid>div{
  min-height:66px;
  padding:10px 11px;
  border:1px solid rgba(17,18,23,.04);
  border-radius:14px;
  background:#f6f6f7;
}

#staffDashboard .dashboard-payment-grid span{
  color:#85898f;
  font-size:9px;
}

#staffDashboard .dashboard-payment-grid strong{
  margin-top:4px;
  color:#17191d;
  font-size:15px;
  font-weight:800;
}

/* Collected card is the primary drill-down. */
#staffDashboard #staffCollectedCard{
  cursor:pointer;
}

@media(max-width:420px){
  #staffDashboard .staff-shift-card-v327{
    min-height:122px;
    padding:16px;
    border-radius:20px;
  }

  #staffDashboard .staff-shift-card-v327 h3{
    font-size:20px;
  }

  #staffDashboard .dashboard-section{
    padding:14px;
    border-radius:18px;
  }
}


/* =========================================================
   v329 — Staff Shift card: Revenue-style grey hero
   ========================================================= */

#staffDashboard .staff-shift-card-v329{
  position:relative!important;
  display:block!important;
  min-height:0!important;
  padding:18px 18px 15px!important;
  overflow:hidden!important;
  border:0!important;
  border-radius:22px!important;
  background:#303236!important;
  color:#fff!important;
  box-shadow:0 12px 30px rgba(17,18,23,.10)!important;
}

#staffDashboard .staff-shift-card-v329::after{
  content:"";
  position:absolute;
  top:-74px;
  right:-72px;
  width:180px;
  height:180px;
  border:1px solid rgba(255,255,255,.055);
  border-radius:50%;
  pointer-events:none;
}

#staffDashboard .staff-shift-top{
  position:relative;
  z-index:1;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
}

#staffDashboard .staff-shift-eyebrow{
  display:block!important;
  margin:0!important;
  color:#d7ad45!important;
  font-size:10px!important;
  font-weight:850!important;
  letter-spacing:.14em!important;
}

#staffDashboard .staff-shift-status-row{ margin-top:9px; }

#staffDashboard .staff-shift-status-pill{
  display:inline-flex!important;
  align-items:center;
  gap:7px;
  min-height:28px;
  padding:0 10px;
  border-radius:999px;
  background:rgba(255,255,255,.07);
  color:#c8c9cd!important;
  font-size:10px!important;
  font-weight:750!important;
  letter-spacing:0!important;
}

#staffDashboard .staff-shift-status-pill>i{
  font-size:7px;
  color:#8b8e94;
}

#staffDashboard .staff-shift-status-pill.active{
  background:rgba(52,199,89,.12);
  color:#8de3a2!important;
}

#staffDashboard .staff-shift-status-pill.active>i{
  color:#43c866;
  filter:drop-shadow(0 0 5px rgba(67,200,102,.55));
}

#staffDashboard .staff-shift-status-pill.closed{
  background:rgba(255,255,255,.07);
  color:#c5c7cb!important;
}

#staffDashboard .staff-shift-status-pill.not-started{
  background:rgba(215,173,69,.10);
  color:#e2c06d!important;
}

#staffDashboard .staff-shift-status-pill.not-started>i{ color:#d7ad45; }

#staffDashboard .staff-shift-action{
  position:relative;
  z-index:2;
  flex:0 0 auto;
  min-width:104px!important;
  min-height:42px!important;
  padding:0 15px!important;
  border:0!important;
  border-radius:14px!important;
  background:#d3a842!important;
  color:#161719!important;
  font-size:11px!important;
  font-weight:850!important;
  box-shadow:none!important;
}

#staffDashboard .staff-shift-action.end{
  border:1px solid rgba(232,92,83,.34)!important;
  background:#f9eded!important;
  color:#b3261e!important;
}

#staffDashboard .staff-shift-main{
  position:relative;
  z-index:1;
  margin-top:14px;
}

#staffDashboard .staff-shift-main h3{
  margin:0!important;
  color:#fff!important;
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:29px!important;
  font-weight:400!important;
  line-height:1.02!important;
  letter-spacing:-.025em!important;
}

#staffDashboard .staff-shift-main p{
  margin:7px 0 0!important;
  color:rgba(255,255,255,.60)!important;
  font-size:11px!important;
  line-height:1.3!important;
}

#staffDashboard .staff-shift-meta{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:1fr 1fr;
  margin-top:16px;
  padding-top:13px;
  border-top:1px solid rgba(255,255,255,.10);
}

#staffDashboard .staff-shift-meta>div{
  display:grid;
  grid-template-columns:26px minmax(0,1fr);
  grid-template-areas:"icon label" "icon value";
  column-gap:8px;
  min-width:0;
  padding:0 12px;
}

#staffDashboard .staff-shift-meta>div:first-child{
  padding-left:0;
  border-right:1px solid rgba(255,255,255,.10);
}

#staffDashboard .staff-shift-meta>div:last-child{ padding-right:0; }

#staffDashboard .staff-shift-meta i{
  grid-area:icon;
  align-self:center;
  color:#d7ad45;
  font-size:16px;
}

#staffDashboard .staff-shift-meta span{
  grid-area:label;
  margin:0!important;
  color:rgba(255,255,255,.54)!important;
  font-size:9px!important;
  font-weight:600!important;
  letter-spacing:0!important;
}

#staffDashboard .staff-shift-meta strong{
  grid-area:value;
  margin-top:2px;
  overflow:hidden;
  color:#fff;
  font-size:17px;
  font-weight:800;
  line-height:1.05;
  text-overflow:ellipsis;
  white-space:nowrap;
}

#staffDashboard .staff-shift-card-v329>.shift-indicator{
  position:absolute!important;
  left:-9999px!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
}

#staffDashboard .staff-metrics-v327{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  margin-top:10px!important;
}

@media(max-width:420px){
  #staffDashboard .staff-shift-card-v329{
    padding:16px 16px 14px!important;
    border-radius:20px!important;
  }
  #staffDashboard .staff-shift-main h3{ font-size:27px!important; }
  #staffDashboard .staff-shift-action{
    min-width:98px!important;
    min-height:40px!important;
    padding:0 13px!important;
  }
  #staffDashboard .staff-shift-meta>div{ padding:0 10px; }
  #staffDashboard .staff-shift-meta strong{ font-size:16px; }
}


/* v330 — staff shift tuning */
#staffDashboard .staff-shift-card-v329::after{
  content:none!important;
  display:none!important;
}

#staffDashboard .staff-shift-top{
  align-items:center!important;
}

#staffDashboard .staff-shift-main{
  margin-top:12px!important;
}

#staffDashboard .staff-shift-main h3{
  font-size:31px!important;
}

#staffDashboard .staff-shift-main p{
  margin:8px 0 0!important;
  font-size:12px!important;
}

#staffDashboard .staff-shift-meta{
  margin-top:18px!important;
  padding-top:16px!important;
}

#staffDashboard .staff-shift-meta>div{
  grid-template-columns:30px minmax(0,1fr)!important;
  column-gap:10px!important;
  padding:0 14px!important;
}

#staffDashboard .staff-shift-meta>div:first-child{
  padding-left:2px!important;
}

#staffDashboard .staff-shift-meta>div:last-child{
  padding-right:2px!important;
}

#staffDashboard .staff-shift-meta i{
  font-size:19px!important;
}

#staffDashboard .staff-shift-meta span{
  font-size:12px!important;
  font-weight:700!important;
  color:rgba(255,255,255,.72)!important;
}

#staffDashboard .staff-shift-meta strong{
  margin-top:3px!important;
  font-size:24px!important;
  line-height:1.05!important;
}

@media(max-width:420px){
  #staffDashboard .staff-shift-main h3{
    font-size:29px!important;
  }

  #staffDashboard .staff-shift-meta>div{
    grid-template-columns:28px minmax(0,1fr)!important;
    column-gap:9px!important;
    padding:0 10px!important;
  }

  #staffDashboard .staff-shift-meta span{
    font-size:11px!important;
  }

  #staffDashboard .staff-shift-meta strong{
    font-size:21px!important;
  }
}


/* =========================================================
   v333 — Compact staff shift card
   ========================================================= */
#staffDashboard .staff-shift-card-v329{
  padding:14px 16px 12px!important;
  border-radius:20px!important;
}

#staffDashboard .staff-shift-top{
  min-height:38px!important;
  align-items:center!important;
}

#staffDashboard .staff-shift-eyebrow{
  font-size:9px!important;
  letter-spacing:.13em!important;
}

#staffDashboard .staff-shift-action{
  min-width:96px!important;
  min-height:38px!important;
  padding:0 13px!important;
  border-radius:13px!important;
  font-size:10px!important;
}

#staffDashboard .staff-shift-main{
  margin-top:7px!important;
}

#staffDashboard .staff-shift-main h3{
  font-family:inherit!important;
  font-size:22px!important;
  font-weight:760!important;
  line-height:1.12!important;
  letter-spacing:-.02em!important;
}

#staffDashboard .staff-shift-main p{
  margin:5px 0 0!important;
  max-width:72%!important;
  font-size:10px!important;
  line-height:1.3!important;
}

#staffDashboard .staff-shift-meta{
  margin-top:12px!important;
  padding-top:11px!important;
}

#staffDashboard .staff-shift-meta>div{
  grid-template-columns:25px minmax(0,1fr)!important;
  column-gap:8px!important;
  padding:0 10px!important;
}

#staffDashboard .staff-shift-meta i{
  font-size:16px!important;
}

#staffDashboard .staff-shift-meta span{
  font-size:10px!important;
  font-weight:700!important;
}

#staffDashboard .staff-shift-meta strong{
  margin-top:1px!important;
  font-size:18px!important;
  line-height:1.05!important;
}

@media(max-width:420px){
  #staffDashboard .staff-shift-card-v329{
    padding:13px 14px 11px!important;
  }
  #staffDashboard .staff-shift-main h3{
    font-size:21px!important;
  }
  #staffDashboard .staff-shift-main p{
    max-width:70%!important;
    font-size:9.5px!important;
  }
  #staffDashboard .staff-shift-action{
    min-width:92px!important;
    min-height:36px!important;
    padding:0 12px!important;
  }
  #staffDashboard .staff-shift-meta strong{
    font-size:17px!important;
  }
}


/* =========================================================
   v334 — Shift heading + Start/End button balance
   ========================================================= */
#staffDashboard .staff-shift-eyebrow{
  font-size:11px!important;
  font-weight:850!important;
  letter-spacing:.10em!important;
}

#staffDashboard .staff-shift-action{
  min-width:92px!important;
  min-height:35px!important;
  padding:0 12px!important;
  border-radius:12px!important;
  font-size:9.5px!important;
}

@media(max-width:420px){
  #staffDashboard .staff-shift-eyebrow{
    font-size:10.5px!important;
    letter-spacing:.095em!important;
  }

  #staffDashboard .staff-shift-action{
    min-width:88px!important;
    min-height:34px!important;
    padding:0 11px!important;
    font-size:9.25px!important;
  }
}


/* v335 — compact End Shift + live indicator for active shift */
#staffDashboard .staff-shift-action.end{
  min-width:92px!important;
  min-height:38px!important;
  padding:0 12px!important;
  border-radius:12px!important;
  font-size:10.5px!important;
}

/* Show a live green marker only while the shift is active.
   The active state already uses the End Shift button class. */
#staffDashboard .staff-shift-card-v329:has(.staff-shift-action.end) .staff-shift-main h3{
  display:flex!important;
  align-items:center!important;
  gap:9px!important;
}

#staffDashboard .staff-shift-card-v329:has(.staff-shift-action.end) .staff-shift-main h3::before{
  content:"";
  width:9px;
  height:9px;
  flex:0 0 9px;
  border-radius:50%;
  background:#42c86a;
  box-shadow:0 0 0 4px rgba(66,200,106,.12), 0 0 8px rgba(66,200,106,.5);
}

@media(max-width:420px){
  #staffDashboard .staff-shift-action.end{
    min-width:88px!important;
    min-height:36px!important;
    padding:0 11px!important;
    border-radius:11px!important;
    font-size:10px!important;
  }
}


/* =========================================================
   v336 — stronger MY SHIFT label only
   ========================================================= */
#staffDashboard .staff-shift-eyebrow{
  font-size:12.5px!important;
  font-weight:900!important;
  letter-spacing:.075em!important;
  line-height:1!important;
}

@media(max-width:420px){
  #staffDashboard .staff-shift-eyebrow{
    font-size:12px!important;
    letter-spacing:.07em!important;
  }
}


/* =========================================================
   v341 — Staff dashboard SaaS payment breakdown
   Opening cash stays in Start/End Shift flows, not dashboard.
   ========================================================= */
#staffDashboard .dashboard-section:has(#staffCash){
  padding:18px!important;
}

#staffDashboard .dashboard-section:has(#staffCash) .dashboard-section-head{
  margin-bottom:14px!important;
}

#staffDashboard .dashboard-section:has(#staffCash) .dashboard-section-head span{
  color:#b5891e!important;
  font-size:11px!important;
  font-weight:850!important;
  letter-spacing:.12em!important;
}

#staffDashboard .dashboard-section:has(#staffCash) .dashboard-section-head h3{
  margin-top:4px!important;
  font-size:20px!important;
  line-height:1.1!important;
}

#staffDashboard .dashboard-payment-grid{
  gap:10px!important;
}

#staffDashboard .dashboard-payment-grid>div{
  min-height:76px!important;
  padding:13px 14px!important;
  border-radius:16px!important;
  background:#f6f6f7!important;
}

#staffDashboard .dashboard-payment-grid>div span{
  color:#85878d!important;
  font-size:12px!important;
  font-weight:650!important;
}

#staffDashboard .dashboard-payment-grid>div strong{
  margin-top:5px!important;
  color:#17181b!important;
  font-size:20px!important;
  font-weight:800!important;
}

#staffDashboard .staff-payment-empty{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  min-height:72px;
  padding:14px 15px;
  border-radius:16px;
  background:#f7f7f8;
}

#staffDashboard .staff-payment-empty[hidden]{
  display:none!important;
}

#staffDashboard .staff-payment-empty strong{
  color:#202126;
  font-size:14px;
  font-weight:800;
}

#staffDashboard .staff-payment-empty span{
  margin-top:4px;
  color:#92949a;
  font-size:11px;
  line-height:1.4;
}


/* =========================================================
   v344 — Staff payment breakdown matching dashboard
   ========================================================= */

#staffDashboard .staff-payment-breakdown-v344{
  margin-top:14px!important;
  padding:16px!important;
  border-radius:20px!important;
}

#staffDashboard .staff-payment-breakdown-v344 .dashboard-section-head{
  margin-bottom:10px!important;
}

#staffDashboard .staff-payment-breakdown-v344 .dashboard-section-head span{
  color:#b5891e!important;
  font-size:10px!important;
  font-weight:850!important;
  letter-spacing:.12em!important;
}

#staffDashboard .staff-payment-breakdown-v344 .dashboard-section-head h3{
  margin-top:3px!important;
  font-size:17px!important;
  line-height:1.15!important;
}

#staffDashboard .staff-payment-grid-v344{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:8px!important;
  margin-top:8px!important;
}

#staffDashboard .staff-payment-grid-v344>div{
  min-height:60px!important;
  padding:10px 12px!important;
  border-radius:14px!important;
  background:#f7f7f8!important;
}

#staffDashboard .staff-payment-grid-v344>div[hidden]{
  display:none!important;
}

#staffDashboard .staff-payment-grid-v344>div span{
  font-size:10px!important;
  font-weight:650!important;
}

#staffDashboard .staff-payment-grid-v344>div strong{
  margin-top:4px!important;
  font-size:17px!important;
  line-height:1.1!important;
}

#staffDashboard .staff-payment-breakdown-v344 .staff-payment-empty{
  min-height:58px!important;
  padding:11px 12px!important;
  border-radius:14px!important;
  background:#f7f7f8!important;
}

#staffDashboard .staff-payment-breakdown-v344 .staff-payment-empty strong{
  font-size:12px!important;
}

#staffDashboard .staff-payment-breakdown-v344 .staff-payment-empty span{
  margin-top:3px!important;
  font-size:10px!important;
}

#staffDashboard .staff-payment-breakdown-v344 .staff-payment-empty[hidden]{
  display:none!important;
}


/* =========================================================
   v345 — Staff cash custody + pending handover confirmation
   ========================================================= */
#staffDashboard .staff-opening-summary{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
#staffDashboard .staff-opening-summary .staff-opening-total{
  grid-column:1/-1;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:12px 13px;
  background:#f0f0f2;
}
#staffDashboard .staff-opening-summary .staff-opening-total strong{
  margin-top:0;
  font-size:16px;
}
#staffDashboard .staff-pending-handover{
  margin:12px 0 14px;
  padding:12px;
  border:1px solid #eadba8;
  border-radius:17px;
  background:#fffaf0;
}
#staffDashboard .staff-pending-handover-head span,
#staffDashboard .staff-pending-handover-head strong{display:block}
#staffDashboard .staff-pending-handover-head span{
  color:#9b7209;
  font-size:9px;
  font-weight:850;
  letter-spacing:.12em;
}
#staffDashboard .staff-pending-handover-head strong{
  margin-top:3px;
  font-size:13px;
}
#staffDashboard #staffPendingHandoverList{display:grid;gap:8px;margin-top:9px}
#staffDashboard .staff-pending-cash-card{
  padding:11px;
  border:1px solid #ece5cf;
  border-radius:14px;
  background:#fff;
}
#staffDashboard .staff-pending-cash-copy span,
#staffDashboard .staff-pending-cash-copy strong,
#staffDashboard .staff-pending-cash-copy small{display:block}
#staffDashboard .staff-pending-cash-copy span{color:#8e8e93;font-size:8px;font-weight:800;letter-spacing:.08em}
#staffDashboard .staff-pending-cash-copy strong{margin-top:4px;font-size:18px}
#staffDashboard .staff-pending-cash-copy small{margin-top:3px;color:#777;font-size:9px;line-height:1.35}
#staffDashboard .staff-pending-cash-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:9px}
#staffDashboard .staff-pending-cash-actions button{
  min-height:38px;
  border:1px solid #dedee2;
  border-radius:11px;
  background:#f7f7f8;
  color:#555;
  font:inherit;
  font-size:10px;
  font-weight:800;
}
#staffDashboard .staff-pending-cash-actions button[data-handover-choice="received"].selected{
  border-color:#b9932e;
  background:#fff5d8;
  color:#765800;
}
#staffDashboard .staff-pending-cash-actions button[data-handover-choice="not_received"].selected{
  border-color:#c9c9ce;
  background:#ececef;
  color:#333;
}
#staffDashboard .staff-handover-v345 legend{margin-bottom:9px}
#staffDashboard .staff-handover-v345>label:has(input:checked){
  border-color:#c9a13b;
  background:#fff9ea;
}
#staffDashboard .staff-handover-target{
  margin:-1px 0 1px 28px;
  padding:10px;
  border-radius:12px;
  background:#f0f0f2;
}
#staffDashboard .staff-handover-target>span{display:block;margin-bottom:6px;color:#777;font-size:9px;font-weight:750}
#staffDashboard .staff-handover-target select{
  width:100%;
  min-height:42px;
  border:1px solid #d7d7dc;
  border-radius:11px;
  padding:0 10px;
  background:#fff;
  color:#111;
  font:inherit;
  font-size:12px;
}

/* Owner dashboard: calm secondary comparison and informational KPI cards. */
.dashboard-revenue-card-v298 .dashboard-revenue-note{
  display:flex!important;
  align-items:baseline;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:4px 12px;
}
.dashboard-revenue-card-v298 .dashboard-yesterday-note{
  margin-left:auto;
  color:rgba(255,255,255,.58)!important;
  font-size:12px!important;
  font-weight:500;
  white-space:nowrap;
}
.dashboard-revenue-card-v298 .dashboard-yesterday-note strong{
  margin-left:3px;
  color:rgba(255,255,255,.82)!important;
  font-size:12px!important;
  font-weight:650!important;
}
.dashboard-summary-grid-v301 .dashboard-kpi-card::after{
  display:none!important;
  content:none!important;
}
.dashboard-summary-grid-v301 .dashboard-kpi-card[hidden]{display:none!important}


/* =========================================================
   v450 — consistent owner dashboard proportions across iPhones
   Prevent Safari text auto-scaling and keep the primary owner
   dashboard visually consistent from standard to Max widths.
   ========================================================= */
html{
  -webkit-text-size-adjust:100%!important;
  text-size-adjust:100%!important;
}

@media (min-width:361px) and (max-width:430px){
  .mobile-dashboard{
    gap:10px!important;
  }

  .dashboard-welcome{
    gap:12px!important;
    padding:6px 6px 8px!important;
  }

  .dashboard-welcome-copy>span{
    font-size:13px!important;
    line-height:1.2!important;
  }

  .dashboard-welcome-copy h2{
    margin-top:2px!important;
    padding-bottom:3px!important;
    font-size:30px!important;
    line-height:1.10!important;
    letter-spacing:-.02em!important;
  }

  .dashboard-wave{
    margin-top:3px!important;
    font-size:22px!important;
  }

  .dashboard-welcome-copy p{
    margin-top:6px!important;
    font-size:11px!important;
    line-height:1.28!important;
  }

  .dashboard-welcome-side>p{
    font-size:12px!important;
  }

  .dashboard-revenue-card-v298{
    padding:18px 16px 13px!important;
    border-radius:22px!important;
  }

  .dashboard-revenue-card-v298 #totalRevenue{
    font-size:40px!important;
  }

  .dashboard-revenue-card-v298>p{
    margin:8px 0 12px!important;
  }

  .dashboard-revenue-card-v298 .dashboard-revenue-split{
    gap:8px!important;
  }

  .dashboard-revenue-card-v298 .dashboard-revenue-split>div{
    min-height:76px!important;
    padding:11px 13px!important;
    border-radius:15px!important;
  }

  .dashboard-revenue-card-v298 .dashboard-revenue-split strong{
    font-size:18px!important;
  }

  .dashboard-summary-grid-v301{
    gap:10px!important;
  }

  .dashboard-summary-grid-v301 .dashboard-kpi-card{
    min-height:118px!important;
    padding:14px 15px!important;
    grid-template-columns:42px minmax(0,1fr)!important;
    gap:11px!important;
    border-radius:18px!important;
  }

  .dashboard-summary-grid-v301 .dashboard-summary-icon{
    width:42px!important;
    height:42px!important;
    border-radius:13px!important;
  }

  .dashboard-summary-grid-v301 .dashboard-summary-icon i{
    font-size:17px!important;
  }

  .dashboard-summary-grid-v301 .dashboard-kpi-copy>span{
    font-size:11px!important;
  }

  .dashboard-summary-grid-v301 .dashboard-kpi-copy>strong{
    margin-top:7px!important;
    font-size:25px!important;
  }

  .dashboard-summary-grid-v301 .dashboard-kpi-copy>small{
    margin-top:7px!important;
    font-size:9.5px!important;
  }
}

/* Very narrow phones may reduce only the owner identity slightly. */
@media (max-width:360px){
  .dashboard-welcome-copy h2{
    font-size:27px!important;
  }
}

/* =========================================================
   v451 — restore equal KPI card sizing + modern owner name
   ========================================================= */
.dashboard-welcome-copy h2{
  font-family:inherit!important;
  font-size:28px!important;
  font-weight:700!important;
  line-height:1.08!important;
  letter-spacing:-.025em!important;
  text-transform:none!important;
}

.dashboard-summary-grid-v301{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px!important;
  align-items:stretch!important;
}

.dashboard-summary-grid-v301 .dashboard-kpi-card{
  min-height:126px!important;
  height:126px!important;
  padding:15px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  gap:0!important;
  border-radius:20px!important;
}

.dashboard-summary-grid-v301 .dashboard-summary-icon{
  width:40px!important;
  height:40px!important;
  margin:0 0 12px!important;
  flex:0 0 40px!important;
  border-radius:13px!important;
}

.dashboard-summary-grid-v301 .dashboard-summary-icon i{
  font-size:16px!important;
}

.dashboard-summary-grid-v301 .dashboard-kpi-copy{
  min-width:0!important;
  padding:0!important;
}

.dashboard-summary-grid-v301 .dashboard-kpi-copy>span{
  font-size:11px!important;
  line-height:1.2!important;
}

.dashboard-summary-grid-v301 .dashboard-kpi-copy>strong{
  margin-top:7px!important;
  font-size:27px!important;
  line-height:1!important;
}

.dashboard-summary-grid-v301 .dashboard-kpi-copy>small{
  margin-top:8px!important;
  font-size:9.5px!important;
  line-height:1.2!important;
}

@media (max-width:360px){
  .dashboard-welcome-copy h2{
    font-size:26px!important;
  }

  .dashboard-summary-grid-v301 .dashboard-kpi-card{
    min-height:122px!important;
    height:122px!important;
    padding:14px!important;
  }
}

/* =========================================================
   v452 — dashboard KPI cards: text left, icon right
   ========================================================= */
.dashboard-summary-grid-v301 .dashboard-kpi-card{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  grid-template-rows:auto!important;
  align-items:start!important;
  column-gap:12px!important;
  row-gap:0!important;
}

.dashboard-summary-grid-v301 .dashboard-summary-icon{
  grid-column:2!important;
  grid-row:1!important;
  justify-self:end!important;
  align-self:start!important;
  margin:0!important;
}

.dashboard-summary-grid-v301 .dashboard-kpi-copy{
  grid-column:1!important;
  grid-row:1!important;
  min-width:0!important;
  height:100%!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:flex-start!important;
  text-align:left!important;
}

.dashboard-summary-grid-v301 .dashboard-kpi-copy>span{
  text-align:left!important;
}

.dashboard-summary-grid-v301 .dashboard-kpi-copy>strong{
  margin-top:14px!important;
  text-align:left!important;
}

.dashboard-summary-grid-v301 .dashboard-kpi-copy>small{
  margin-top:auto!important;
  padding-top:10px!important;
  text-align:left!important;
}

@media (max-width:360px){
  .dashboard-summary-grid-v301 .dashboard-kpi-card{
    column-gap:10px!important;
  }

  .dashboard-summary-grid-v301 .dashboard-kpi-copy>strong{
    margin-top:12px!important;
  }
}

/* =========================================================
   v453 — compact dashboard KPI cards
   Keep text left + icon right, remove excess empty space
   ========================================================= */
.dashboard-summary-grid-v301 .dashboard-kpi-card{
  min-height:104px!important;
  height:104px!important;
  padding:13px 14px!important;
  grid-template-columns:minmax(0,1fr) 40px!important;
  column-gap:10px!important;
  align-items:start!important;
}

.dashboard-summary-grid-v301 .dashboard-summary-icon{
  width:40px!important;
  height:40px!important;
  flex:0 0 40px!important;
  margin:0!important;
}

.dashboard-summary-grid-v301 .dashboard-kpi-copy{
  height:auto!important;
  display:block!important;
  align-self:start!important;
}

.dashboard-summary-grid-v301 .dashboard-kpi-copy>span{
  display:block!important;
  font-size:11px!important;
  line-height:1.18!important;
}

.dashboard-summary-grid-v301 .dashboard-kpi-copy>strong{
  display:block!important;
  margin-top:8px!important;
  font-size:25px!important;
  line-height:1!important;
}

.dashboard-summary-grid-v301 .dashboard-kpi-copy>small{
  display:block!important;
  margin-top:10px!important;
  padding-top:0!important;
  font-size:9.5px!important;
  line-height:1.15!important;
}

@media (max-width:360px){
  .dashboard-summary-grid-v301 .dashboard-kpi-card{
    min-height:100px!important;
    height:100px!important;
    padding:12px 13px!important;
  }

  .dashboard-summary-grid-v301 .dashboard-kpi-copy>strong{
    margin-top:7px!important;
    font-size:24px!important;
  }

  .dashboard-summary-grid-v301 .dashboard-kpi-copy>small{
    margin-top:8px!important;
  }
}

/* =========================================================
   v454 — final KPI/revenue divider/owner-name polish
   ========================================================= */
/* Keep the four summary cards compact and visually aligned. */
.dashboard-summary-grid-v301 .dashboard-kpi-card{
  align-items:start!important;
}

.dashboard-summary-grid-v301 .dashboard-summary-icon{
  justify-self:end!important;
  align-self:start!important;
}

/* Use a clean iOS-style display face for the owner name. */
.dashboard-welcome-copy h2{
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text","Segoe UI",sans-serif!important;
  font-size:27px!important;
  font-weight:650!important;
  line-height:1.05!important;
  letter-spacing:-.02em!important;
}

/* Make Gaming / Sales one true rounded panel with a straight center divider. */
.dashboard-revenue-card-v298 .dashboard-revenue-split{
  position:relative!important;
  overflow:hidden!important;
}

.dashboard-revenue-card-v298 .dashboard-revenue-split>div,
.dashboard-revenue-card-v298 .dashboard-revenue-split>div:first-child,
.dashboard-revenue-card-v298 .dashboard-revenue-split>div:last-child{
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}

.dashboard-revenue-card-v298 .dashboard-revenue-split>div + div{
  border-left:0!important;
}

.dashboard-revenue-card-v298 .dashboard-revenue-split::after{
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  left:50%;
  width:1px;
  background:rgba(17,18,23,.10);
  transform:translateX(-.5px);
  pointer-events:none;
}

@media (max-width:360px){
  .dashboard-welcome-copy h2{
    font-size:26px!important;
  }
}
