:root{--bg:#111318;--panel:#20232b;--panel2:#292d37;--text:#f5f6f8;--muted:#aeb3bd;--line:#3a3f49;--accent:#f18a62;--good:#9bd36a;--bad:#ff7f7f;--shadow:0 14px 40px rgba(0,0,0,.25)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.shell{max-width:760px;margin:0 auto;min-height:100vh;padding:env(safe-area-inset-top) 18px calc(92px + env(safe-area-inset-bottom))}.screen{padding-top:20px}.hidden{display:none!important}.brand-mark{width:64px;height:64px;border-radius:22px;background:var(--accent);display:grid;place-items:center;color:#111;font-weight:900;font-size:30px;margin:60px auto 14px}.auth-screen{text-align:center}.auth-screen h1{font-size:34px;margin:0 0 4px}.muted,.eyebrow{color:var(--muted)}.eyebrow{text-transform:uppercase;font-size:12px;letter-spacing:.16em;font-weight:700}.card{background:var(--panel);border:1px solid #2f333c;border-radius:22px;box-shadow:var(--shadow)}.auth-card,.onboarding-card{padding:18px;text-align:left;margin-top:28px}label{display:block;color:#d7d9de;font-size:13px;font-weight:650;margin:12px 0}input,select,textarea{width:100%;margin-top:7px;border:1px solid var(--line);background:#17191f;color:var(--text);border-radius:13px;padding:13px;font:inherit}button{font:inherit;border:0;cursor:pointer}.primary,.secondary{width:100%;border-radius:14px;padding:14px 16px;font-weight:800;margin-top:10px}.primary{background:var(--accent);color:#17191f}.secondary{background:#333843;color:var(--text)}.language-row{display:flex;gap:8px;flex-wrap:wrap}.language-row.compact{justify-content:center;margin-top:18px}.lang-btn,.chip{background:#30343e;color:var(--text);padding:9px 12px;border-radius:999px}.lang-btn.active{outline:2px solid var(--accent)}.topbar,.app-header{display:flex;justify-content:space-between;align-items:flex-start}.app-header h1,.topbar h2{margin:3px 0 2px;font-size:25px}.header-actions{display:flex;gap:8px}.link-button{background:transparent;color:#d9dde5;padding:4px 0}.hero-total{padding:32px 2px 18px}.metric-label{color:var(--muted);font-size:14px}.hero-number{font-size:46px;font-weight:850;letter-spacing:-.035em;margin:4px 0}.comparison{color:var(--muted);font-size:14px}.comparison.good{color:var(--good)}.comparison.bad{color:var(--bad)}.period-tabs{display:flex;gap:8px;margin:10px 0 16px}.period-tab{flex:1;background:transparent;color:#d0d3da;border-radius:999px;padding:12px;font-weight:800}.period-tab.active{background:#555b69;color:white}.period-nav{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;margin:4px 0 18px}.icon-btn{width:40px;height:40px;border-radius:50%;background:#292d35;color:white;font-size:28px}.period-label{justify-self:center;background:#282c35;color:#fff;border-radius:999px;padding:10px 22px;font-weight:800}.metric-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:14px}.metric-card{background:var(--panel);border:1px solid #30343d;border-radius:18px;padding:16px}.metric-card span{display:block;color:var(--muted);font-size:13px;margin-bottom:7px}.metric-card strong{font-size:22px}.metric-card.accent{background:linear-gradient(145deg,#2a2d35,#31343d);border-color:#4a4f5c}.chart-card,.table-card{padding:16px;margin-top:14px}.section-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.section-head h3{margin:4px 0 0;font-size:18px}.legend{display:flex;gap:10px;color:var(--muted);font-size:11px}.dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:5px}.sales-dot{background:var(--accent)}.expense-dot{background:#6a7080}.chart-wrap{height:260px;margin-top:12px}.table-wrap{overflow:auto;margin-top:14px}table{width:100%;border-collapse:collapse;font-size:13px}th{text-align:left;color:var(--muted);padding:10px 8px;border-bottom:1px solid var(--line)}td{padding:12px 8px;border-bottom:1px solid #353943;white-space:nowrap}th:not(:first-child),td:not(:first-child){text-align:right}.quick-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0}.quick{border-radius:16px;padding:15px;font-weight:850;margin:0}.bottom-nav{position:fixed;left:50%;bottom:calc(12px + env(safe-area-inset-bottom));transform:translateX(-50%);width:min(720px,calc(100% - 30px));background:rgba(31,34,41,.96);backdrop-filter:blur(18px);border:1px solid #414652;border-radius:28px;padding:8px;display:grid;grid-template-columns:repeat(3,1fr);z-index:30}.bottom-item{background:transparent;color:#c9cdd5;border-radius:20px;padding:8px;display:grid;gap:2px;place-items:center;font-size:19px}.bottom-item span{font-size:11px}.bottom-item.active{background:#484d59;color:#fff}.dialog{width:min(560px,calc(100% - 28px));border:1px solid #3e434e;border-radius:22px;background:#20232b;color:white;padding:18px;box-shadow:var(--shadow)}.dialog::backdrop{background:rgba(0,0,0,.66);backdrop-filter:blur(5px)}.dialog-head{display:flex;align-items:center;justify-content:space-between}.dialog-head h3{margin:0}.wide-dialog{max-height:75vh}.transaction-list{display:grid;gap:8px;max-height:60vh;overflow:auto;margin-top:12px}.transaction-row{display:grid;grid-template-columns:1fr auto;gap:8px;padding:12px;border-radius:14px;background:#2a2e37}.transaction-row small{display:block;color:var(--muted);margin-top:4px}.transaction-row strong.expense{color:#ff9b8e}.transaction-row strong.income{color:#a9db7b}.settings-block{margin:18px 0}.toast{position:fixed;left:50%;top:calc(14px + env(safe-area-inset-top));transform:translateX(-50%);background:#343944;color:white;padding:11px 16px;border-radius:999px;z-index:100;box-shadow:var(--shadow);max-width:90%;text-align:center}@media(min-width:700px){.metric-grid{grid-template-columns:repeat(4,1fr)}.hero-number{font-size:56px}}

.auth-link{margin-top:2px;text-align:center;width:100%;justify-content:center}.auth-card .link-button{padding:10px 6px}

.money-primary{display:block}.money-secondary{display:block;font-size:.62em;color:var(--muted);font-weight:700;margin-top:3px}.hero-number .money-secondary{font-size:.36em;letter-spacing:0;margin-top:2px}.transaction-row .money-secondary{font-size:.72em;text-align:right}.table-wrap .money-secondary{font-size:.78em}

/* v4: entry workflow + responsive desktop layout */
.conversion-preview{margin:10px 0 2px;padding:12px 14px;border:1px dashed #4b5160;border-radius:14px;background:#181b21;color:var(--muted);font-size:13px}.conversion-preview strong{color:var(--text)}
@media(min-width:900px){
  .shell{max-width:980px;padding-bottom:32px}
  .bottom-nav{position:static;left:auto;bottom:auto;transform:none;width:100%;margin:18px 0 0}
  .app-header{padding-top:4px}
  .chart-wrap{height:300px}
  .dialog{width:min(640px,calc(100% - 40px))}
}

.dialog-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:8px}
@media (max-width:640px){.dialog-actions{grid-template-columns:1fr}}

.current-period-btn{
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.08);
  color:inherit;
  border-radius:999px;
  padding:10px 16px;
  font-weight:700;
  cursor:pointer;
  white-space:nowrap;
}
.current-period-btn:hover{background:rgba(255,255,255,.13)}

.period-nav{display:grid;grid-template-columns:auto auto minmax(120px,1fr) auto;gap:10px;align-items:center}
.current-period-btn{
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:10px 16px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:999px;
  background:#f58b61;
  color:#111318;
  font-weight:800;
  cursor:pointer;
  white-space:nowrap;
}
@media(max-width:640px){
  .period-nav{grid-template-columns:auto 1fr auto}
  .current-period-btn{grid-column:2;grid-row:1}
  #periodLabel{grid-column:1 / -1;grid-row:2;justify-self:center}
  #prevPeriod{grid-column:1;grid-row:1}
  #nextPeriod{grid-column:3;grid-row:1}
}

/* v8 date navigation */
.period-nav{
  display:grid!important;
  grid-template-columns:44px minmax(0,1fr) 44px!important;
  gap:12px!important;
  align-items:center!important;
  margin:6px 0 18px!important;
}
.period-center{
  min-width:0;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  flex-wrap:wrap;
}
.current-period-btn{
  display:inline-flex!important;
  visibility:visible!important;
  opacity:1!important;
  align-items:center;
  justify-content:center;
  min-height:40px;
  padding:9px 14px;
  border-radius:999px;
  background:var(--accent)!important;
  color:#17191f!important;
  font-weight:850;
  white-space:nowrap;
}
.period-label{
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  min-height:40px;
  padding:9px 16px;
  white-space:nowrap;
}
.day-date-picker{
  width:auto!important;
  min-height:40px;
  margin:0!important;
  padding:8px 10px!important;
  border-radius:999px!important;
  color-scheme:dark;
}
@media(max-width:640px){
  .period-center{gap:6px}
  .current-period-btn,.period-label,.day-date-picker{font-size:14px}
  .day-date-picker{max-width:150px}
}

/* v9 transaction management */
.transaction-tools{
  display:grid;
  grid-template-columns:minmax(220px,2fr) minmax(120px,1fr) minmax(140px,1fr) minmax(140px,1fr) auto;
  gap:10px;
  align-items:end;
  margin:4px 0 10px;
}
.transaction-tools label{display:grid;gap:5px;font-size:12px;color:var(--muted)}
.transaction-tools input,.transaction-tools select{min-height:42px}
.transaction-count{font-size:12px;color:var(--muted);margin:6px 2px 10px}
.transaction-row.managed{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto auto;
  gap:12px;
  align-items:center;
}
.transaction-main{min-width:0}
.transaction-main b,.transaction-main small{display:block;overflow:hidden;text-overflow:ellipsis}
.transaction-actions{display:flex;gap:6px}
.transaction-actions button{
  border:1px solid var(--border);
  background:transparent;
  color:inherit;
  border-radius:10px;
  padding:7px 10px;
  cursor:pointer;
}
.transaction-actions .danger-text{color:#ff8c84}
.secondary.compact{min-height:42px;padding:9px 12px}
.empty-state{padding:24px;text-align:center;color:var(--muted)}
@media(max-width:780px){
  .transaction-tools{grid-template-columns:1fr 1fr}
  .search-field{grid-column:1/-1}
  .transaction-row.managed{grid-template-columns:minmax(0,1fr) auto}
  .transaction-actions{grid-column:1/-1;justify-content:flex-end}
}
@media(max-width:480px){
  .transaction-tools{grid-template-columns:1fr}
  .search-field{grid-column:auto}
}

/* v10 larger transaction window + single scroller */
#listDialog.wide-dialog{
  width:min(1180px,94vw)!important;
  max-width:1180px!important;
  height:min(820px,90vh)!important;
  max-height:90vh!important;
  overflow:hidden!important;
  padding:20px!important;
}
#listDialog .dialog-head{
  position:sticky;
  top:0;
  z-index:3;
  background:var(--panel);
  padding-bottom:8px;
}
#listDialog .transaction-tools{
  grid-template-columns:minmax(220px,2fr) minmax(120px,1fr) minmax(140px,1fr) minmax(140px,1fr) minmax(150px,1fr) auto;
  position:sticky;
  top:58px;
  z-index:2;
  background:var(--panel);
  padding:8px 0 10px;
}
#listDialog .transaction-count{
  position:sticky;
  top:132px;
  z-index:2;
  background:var(--panel);
  padding:4px 0 8px;
  margin:0;
}
#listDialog .transaction-list{
  overflow:auto!important;
  max-height:calc(90vh - 210px)!important;
  padding-right:6px;
}
#listDialog .transaction-row.managed{
  min-width:0;
}
@media(max-width:900px){
  #listDialog.wide-dialog{
    width:96vw!important;
    height:92vh!important;
    max-height:92vh!important;
    padding:14px!important;
  }
  #listDialog .transaction-tools{
    grid-template-columns:1fr 1fr!important;
    top:54px;
  }
  #listDialog .search-field{grid-column:1/-1}
  #listDialog .transaction-count{top:238px}
  #listDialog .transaction-list{max-height:calc(92vh - 300px)!important}
}
@media(max-width:560px){
  #listDialog .transaction-tools{
    grid-template-columns:1fr!important;
  }
  #listDialog .search-field{grid-column:auto}
  #listDialog .transaction-count{position:static}
  #listDialog .transaction-list{max-height:calc(92vh - 430px)!important}
}

/* v12 expense insights */
.insights-card{margin:16px 0 12px}
.insight-tabs{display:flex;gap:6px;background:rgba(255,255,255,.04);padding:4px;border-radius:999px}
.insight-tabs button{border:0;background:transparent;color:var(--muted);padding:8px 12px;border-radius:999px;font-weight:750;cursor:pointer}
.insight-tabs button.active{background:var(--accent);color:#17191f}
.insight-list{display:grid;gap:13px}
.insight-row{display:grid;grid-template-columns:minmax(0,1fr) 56px;gap:7px 12px;align-items:center}
.insight-top{grid-column:1/-1;display:flex;justify-content:space-between;gap:12px;align-items:end}
.insight-top>div{min-width:0}.insight-top b,.insight-top small{display:block}
.insight-top b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.insight-top small{color:var(--muted);font-size:11px;margin-top:2px}
.insight-top strong{text-align:right;white-space:nowrap}
.insight-bar{height:9px;border-radius:999px;background:rgba(255,255,255,.07);overflow:hidden}
.insight-bar span{display:block;height:100%;border-radius:inherit;background:var(--accent)}
.insight-pct{text-align:right;font-size:12px;color:var(--muted)}
@media(max-width:560px){.insight-tabs{width:100%}.insight-tabs button{flex:1}}

/* v14 receipt attachments */
.receipt-field{display:grid;gap:7px;padding:12px;border:1px solid var(--border);border-radius:14px;background:rgba(255,255,255,.025)}
.receipt-field label{display:grid;gap:7px;font-weight:700}
.receipt-field input[type=file]{width:100%;padding:10px;border:1px dashed var(--border);border-radius:12px;background:rgba(255,255,255,.03);color:inherit}
.receipt-field small{color:var(--muted);font-size:12px}
.existing-receipts{display:flex;flex-wrap:wrap;gap:7px}
.receipt-list-title{width:100%;font-size:11px;color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.receipt-link,.tx-receipt{border:1px solid var(--border)!important;background:rgba(255,255,255,.04)!important;color:inherit!important;border-radius:10px!important;padding:7px 10px!important;cursor:pointer}

/* v16 settings */
.settings-dialog{width:min(920px,94vw)!important;max-width:920px!important}
.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.settings-card{display:grid;gap:10px;padding:16px;border:1px solid var(--border);border-radius:16px;background:rgba(255,255,255,.025)}
#distributionReportSection[hidden],#distributionReconciliationWrap[hidden]{display:none}
#internalOrdersBtn[hidden],#moreInternalOrdersBtn[hidden]{display:none}
#lowStockBtn[hidden]{display:none}
#employeeClockBtn[hidden]{display:none}
.internal-orders-body{display:grid;gap:14px;padding:18px;max-height:min(72vh,700px);overflow-y:auto}
.internal-orders-body label{display:grid;gap:6px}
.internal-orders-body select{min-height:44px}
.internal-order-link{border:0;background:none;color:var(--accent);text-decoration:underline;cursor:pointer;padding:8px;text-align:left}
.settings-card h4{margin:0 0 4px}
.settings-card label{display:grid;gap:6px;font-size:13px;color:var(--muted)}
.settings-card input,.settings-card select{min-height:44px}
.settings-location-list{display:grid;gap:8px}
.settings-location-row{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:10px;border:1px solid var(--border);border-radius:12px}
.settings-location-row b,.settings-location-row small{display:block}
.settings-location-row small{color:var(--muted);margin-top:2px}
.settings-account-line{padding:9px 0;border-bottom:1px solid var(--border)}
@media(max-width:700px){.settings-grid{grid-template-columns:1fr}.settings-dialog{width:96vw!important}}

/* v18 location management */
.settings-section-head{display:flex;justify-content:space-between;align-items:center;gap:12px}
.settings-section-head h4{margin:0}
.compact-btn{width:auto!important;min-height:34px!important;padding:7px 11px!important}
.location-summary{min-width:0;flex:1}
.location-row-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.location-status{font-size:12px;color:var(--muted)}
.settings-location-row.is-inactive{opacity:.6}
.location-dialog{width:min(620px,94vw)}
.location-form{display:grid;gap:14px}
.location-form label{display:grid;gap:6px;color:var(--muted);font-size:13px}
.location-form input,.location-form select{min-height:44px}
.form-two-col{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.toggle-line{display:flex!important;grid-template-columns:none!important;align-items:center;gap:10px!important}
.toggle-line input{min-height:auto!important;width:auto}
.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:6px}
.dialog-actions button{width:auto}
@media(max-width:600px){.form-two-col{grid-template-columns:1fr}.settings-location-row{align-items:flex-start}.location-row-actions{justify-content:flex-start}}
.financial-summary-card{margin-top:14px}.financial-summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 28px;margin-top:12px}.financial-line{display:flex;justify-content:space-between;gap:18px;padding:12px 0;border-bottom:1px solid var(--border)}.financial-line span,.financial-note{color:var(--muted)}.financial-line.final-line{grid-column:1/-1;border-bottom:0}.financial-line strong.negative{color:#ff9b7a}.financial-note{display:block;margin-top:8px}@media(max-width:700px){.financial-summary-grid{grid-template-columns:1fr}.financial-line.final-line{grid-column:auto}}
/* v20 dual-currency P&L */
.financial-line strong .money-primary,.financial-line strong .money-secondary{display:block}
.financial-line strong .money-secondary{margin-top:3px;font-size:.82em;color:var(--muted)}

/* v22 period comparisons */
.comparison-card{margin-top:14px}
.comparison-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:12px}
.comparison-item{padding:14px;border:1px solid var(--border);border-radius:14px;background:rgba(255,255,255,.02)}
.comparison-item>span{display:block;color:var(--muted);font-size:13px;margin-bottom:7px}
.comparison-item>strong{display:block;font-size:1.12rem;margin-bottom:5px}
.comparison-item>small{display:block;color:var(--muted);line-height:1.35}
.comparison-item .money-primary,.comparison-item .money-secondary{display:inline}
.comparison-item .money-secondary{margin-left:6px}
.comparison-good{color:#79d6a5!important}
.comparison-bad{color:#ff8b72!important}
.comparison-note{display:block;color:var(--muted);margin-top:10px}
@media(max-width:850px){.comparison-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.comparison-grid{grid-template-columns:1fr}}

/* v23 status colors: green = favorable, gold = attention/unfavorable */
.comparison-bad{color:#F6C453!important}
.financial-line strong.negative{color:#F6C453!important}

/* v24 neutral state for periods without comparison data */
.comparison-neutral{color:var(--muted)!important}

/* v25 dashboard drill-down */
.drill-card,.insight-clickable{cursor:pointer;transition:transform .12s ease,border-color .12s ease}
.drill-card:hover,.insight-clickable:hover{border-color:rgba(246,196,83,.55)}
.drill-card:active,.insight-clickable:active{transform:translateY(1px)}
.drill-hint{display:block;color:var(--muted);font-size:11px;margin-top:7px}
.drilldown-dialog{width:min(980px,96vw)!important;max-width:980px!important}
.drilldown-summary{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--border)}
.drilldown-list{display:grid;gap:8px;margin-top:12px}
.drilldown-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:12px;border:1px solid var(--border);border-radius:13px}
.drilldown-main{min-width:0}.drilldown-main b,.drilldown-main small{display:block}.drilldown-main small{color:var(--muted);margin-top:3px}
.drilldown-actions{display:flex;gap:6px}.drilldown-row strong.expense{color:#F6C453}.drilldown-row strong.income{color:#79d6a5}
.drilldown-actions .drill-delete{color:#ff8c84!important;border:1px solid rgba(255,140,132,.28)}
html[data-platform-theme="light"] .drilldown-actions .drill-delete{color:#b42318!important;background:#fff5f4!important;border-color:#fecdca!important}
@media(max-width:700px){.drilldown-row{grid-template-columns:1fr auto}.drilldown-actions{grid-column:1/-1}.drilldown-summary{flex-direction:column}}

/* v26 drill-down search and sort */
.drilldown-tools{display:grid;grid-template-columns:minmax(0,1fr) 190px;gap:10px;margin:12px 0}
.drilldown-tools input,.drilldown-tools select{width:100%;min-height:44px}
@media(max-width:620px){.drilldown-tools{grid-template-columns:1fr}}

/* v27 business performance insights */
.performance-card{margin-top:14px}
.performance-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:12px}
.performance-item{padding:14px;border:1px solid var(--border);border-radius:14px;background:rgba(255,255,255,.02);min-width:0}
.performance-item>span{display:block;color:var(--muted);font-size:13px;margin-bottom:7px}
.performance-item>strong{display:block;font-size:1.12rem;overflow-wrap:anywhere}
.performance-item>small{display:block;color:var(--muted);margin-top:5px;line-height:1.35;overflow-wrap:anywhere}
.performance-item .money-primary,.performance-item .money-secondary{display:block}
.performance-item .money-secondary{margin-top:3px;font-size:.82em;color:var(--muted)}
@media(max-width:850px){.performance-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.performance-grid{grid-template-columns:1fr}}

/* v28 clickable performance insights */
.performance-clickable{cursor:pointer;transition:border-color .12s ease,transform .12s ease}
.performance-clickable:hover{border-color:rgba(246,196,83,.55)}
.performance-clickable:active{transform:translateY(1px)}

/* v29 report export */
.export-dialog{width:min(620px,94vw)}
.export-options{display:grid;gap:10px}
.export-option{text-align:left;padding:16px;border:1px solid var(--border);border-radius:14px;background:rgba(255,255,255,.025);color:inherit}
.export-option:hover{border-color:rgba(246,196,83,.55)}
.export-option b,.export-option small{display:block}.export-option small{color:var(--muted);margin-top:5px;line-height:1.35}
@media print{
  body{background:#fff!important;color:#111!important}
  .app-header .header-actions,.bottom-nav,.fab-row,.period-tabs,.period-nav,#transactionsBtn,
  .drill-hint,.comparison-note,.financial-note,#addSaleBtn,#addExpenseBtn{display:none!important}
  .screen{max-width:none!important;padding:0!important}
  .card,.metric-card,.performance-item,.comparison-item{break-inside:avoid;border-color:#bbb!important;background:#fff!important;color:#111!important}
  .metric-card span,.performance-item>span,.performance-item>small,.comparison-item>span,.comparison-item>small,
  .financial-line span,.eyebrow,small{color:#444!important}
  canvas{max-height:260px!important}
}

/* v30 custom PDF report builder */
.report-builder-dialog{width:min(760px,95vw)}
.report-builder h4,.export-data-section h4{margin:0 0 8px}
.builder-help{color:var(--muted);margin:0 0 12px}
.report-presets{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}
.report-presets button{width:auto}
.report-checks{display:grid;grid-template-columns:1fr 1fr;gap:8px 16px;padding:12px;border:1px solid var(--border);border-radius:14px;margin-bottom:14px}
.report-checks label{display:flex;gap:8px;align-items:center}
.report-checks input{width:auto;min-height:auto}
.export-data-section{border-top:1px solid var(--border);margin-top:18px;padding-top:16px}
.print-report-root{display:none}
#pilotPrintReceipt{display:none}
@page pilotReceipt58{margin:2mm}
@page pilotReceipt80{margin:3mm}
@media print{
 body.pilot-print-receipt > *:not(#pilotPrintReceipt){display:none!important}
 body.pilot-print-receipt #pilotPrintReceipt{display:block!important;width:min(72mm,100%);margin:0 auto;color:#111;background:#fff;font:10pt Arial,sans-serif;page:pilotReceipt80}
 body.pilot-print-58 #pilotPrintReceipt{width:min(48mm,100%);font-size:9pt;page:pilotReceipt58}
 #pilotPrintReceipt h1{font-size:15pt;margin:0 0 6mm}
 #pilotPrintReceipt p{margin:0 0 3mm;overflow-wrap:anywhere}
 #pilotPrintReceipt table{width:100%;table-layout:fixed;border-collapse:collapse;margin:5mm 0}
 #pilotPrintReceipt td{border-bottom:1px solid #bbb;padding:2mm 0;vertical-align:top}
 #pilotPrintReceipt td:first-child{width:62%;overflow-wrap:anywhere}
 #pilotPrintReceipt td:last-child{text-align:right;white-space:nowrap}
}

@media(max-width:600px){.report-checks{grid-template-columns:1fr}}

@media print{
  body.custom-print-report > *:not(main):not(.print-report-root){display:none!important}
  body.custom-print-report main{display:none!important}
  body.custom-print-report .print-report-root{display:block!important}
  .print-report-root{font-family:Arial,sans-serif;color:#111;background:#fff;padding:18mm 14mm;font-size:10pt}
  .print-report-header{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:2px solid #222;padding-bottom:10px;margin-bottom:18px}.print-brand-lockup{display:flex;align-items:center;gap:12px}.print-report-logo,.print-report-letter{width:48px;height:48px;flex:0 0 48px;border-radius:10px;object-fit:contain}.print-report-letter{display:grid;place-items:center;color:#fff;font-weight:900;font-size:20px}
  .print-report-header h1{font-size:22pt;margin:2px 0}.print-report-header p{margin:0;color:#444}
  .print-eyebrow{font-size:8pt;letter-spacing:1.5px;font-weight:700;color:#555}
  .print-generated{font-size:8pt;color:#555}
  .print-section{break-inside:avoid;margin:0 0 18px}
  .print-section h2{font-size:14pt;margin:0 0 8px;border-bottom:1px solid #bbb;padding-bottom:5px}
  .print-subtitle{font-size:8.5pt;color:#555;margin:-4px 0 8px}
  .print-kpis{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .print-kpis>div{border:1px solid #bbb;border-radius:6px;padding:9px;break-inside:avoid}
  .print-kpis span,.print-kpis small{display:block;color:#555;font-size:8.5pt}.print-kpis b{display:block;font-size:12pt;margin-top:3px}
  .print-table{width:100%;border-collapse:collapse;font-size:9pt}
  .print-table th,.print-table td{border-bottom:1px solid #ccc;padding:6px 5px;text-align:left;vertical-align:top}
  .print-table th{font-weight:700;background:#f2f2f2}
  .print-transactions{break-inside:auto}.print-transactions tr{break-inside:avoid}
}

.version-badge{display:inline-block;margin-top:5px;padding:3px 7px;border:1px solid var(--border);border-radius:999px;color:var(--muted);font-size:11px}

/* v31 PDF polish */
.report-title-row{margin:0 0 14px}
.report-title-row label{display:block;margin-bottom:6px;font-weight:700}
.report-title-row label small{font-weight:400;color:var(--muted)}
.report-title-row input{width:100%}

@page{
  size:auto;
  margin:13mm 12mm 15mm;
}
@media print{
  body.custom-print-report .print-report-root{padding:0!important}
  .print-report-header{break-after:avoid-page}
  .print-section{break-inside:auto;page-break-inside:auto;margin-bottom:14px}
  .print-section h2{break-after:avoid-page;page-break-after:avoid}
  .print-kpis,.print-kpis>div{break-inside:avoid;page-break-inside:avoid}
  .print-table thead{display:table-header-group}
  .print-table tfoot{display:table-footer-group}
  .print-table tr{break-inside:avoid;page-break-inside:avoid}
  .print-table th,.print-table td{orphans:3;widows:3}
  .print-transactions{break-before:auto}
  .print-report-footer{
    margin-top:14px;padding-top:7px;border-top:1px solid #bbb;
    display:flex;justify-content:space-between;gap:10px;
    font-size:7.5pt;color:#555;break-inside:avoid
  }
}

/* v32 consistent financial period breakdown */
.financial-breakdown-table{min-width:980px}
.financial-breakdown-table th,.financial-breakdown-table td{white-space:nowrap}
@media print{
  .print-breakdown .print-table{font-size:7.3pt}
  .print-breakdown .print-table th,.print-breakdown .print-table td{padding:4px 3px}
  .print-breakdown{break-inside:auto}
}

/* v34 bulk receipt inbox */
.bulk-receipt-dialog{width:min(1040px,96vw)!important;max-width:1040px!important}
.bulk-upload-panel{padding:14px;border:1px solid var(--border);border-radius:16px;background:rgba(255,255,255,.02)}
.bulk-drop{display:grid;gap:5px;padding:18px;border:1px dashed var(--border);border-radius:14px;cursor:pointer}
.bulk-drop small,.bulk-status{color:var(--muted)}
.bulk-drop input{margin-top:8px}
.bulk-upload-controls{display:grid;grid-template-columns:minmax(180px,1fr) auto;gap:10px;align-items:end;margin-top:12px}
.bulk-upload-controls label{display:grid;gap:6px;color:var(--muted);font-size:13px}
.bulk-status{margin-top:8px;min-height:18px}
.receipt-queue-section{margin-top:18px}
.receipt-review-queue{display:grid;gap:12px;margin-top:10px}
.receipt-review-card{padding:14px;border:1px solid var(--border);border-radius:16px;background:rgba(255,255,255,.02)}
.receipt-review-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:12px}
.receipt-review-head b,.receipt-review-head small{display:block}.receipt-review-head small{color:var(--muted);margin-top:3px}
.receipt-review-fields{display:grid;grid-template-columns:1fr 1.4fr .8fr .7fr 1.4fr 1.2fr;gap:10px}
.receipt-review-fields label{display:grid;gap:5px;color:var(--muted);font-size:12px}
.receipt-review-fields input,.receipt-review-fields select{min-height:42px}
.receipt-review-fields .queue-wide{grid-column:span 3}
.receipt-review-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}
.receipt-review-actions button{width:auto}
@media(max-width:900px){.receipt-review-fields{grid-template-columns:1fr 1fr 1fr}.receipt-review-fields .queue-wide{grid-column:span 3}}
@media(max-width:620px){.bulk-upload-controls{grid-template-columns:1fr}.receipt-review-fields{grid-template-columns:1fr}.receipt-review-fields .queue-wide{grid-column:auto}.receipt-review-head{align-items:flex-start;flex-direction:column}}

/* v34.1 receipt approval feedback */
.queue-validation{min-height:20px;margin-top:10px;color:#F6C453;font-size:13px;font-weight:600}
.queue-approve:disabled{opacity:.45;cursor:not-allowed}

/* v35 free receipt scan beta */
.receipt-head-actions{display:flex;gap:8px;flex-wrap:wrap}
.queue-scan{border-color:rgba(246,196,83,.45)!important}

/* v36 Excel/CSV bulk importer */
.bulk-import-dialog{width:min(1180px,96vw)}.import-drop{display:grid;gap:6px;padding:16px;border:1px dashed rgba(255,255,255,.18);border-radius:14px}.import-summary{margin-top:12px}.import-table-wrap{overflow:auto;max-height:58vh;border:1px solid rgba(255,255,255,.08);border-radius:12px}.import-review-table{border-collapse:collapse;width:max-content;min-width:100%}.import-review-table th,.import-review-table td{padding:8px;border-bottom:1px solid rgba(255,255,255,.08);vertical-align:top}.import-review-table th{position:sticky;top:0;background:#171a20;z-index:2;text-align:left;font-size:12px}.import-review-table input,.import-review-table select{min-width:120px;padding:8px;border-radius:8px}.import-review-table .ir-vendor,.import-review-table .ir-description,.import-review-table .ir-notes{min-width:180px}.import-error .import-status{color:#ffb4a8}.import-ok .import-status{color:#9ee6b0}.import-status{display:block;max-width:180px;font-size:12px;white-space:normal}

/* v36.1 */
.import-help{margin-top:12px}.import-help details{border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:10px 12px;background:rgba(255,255,255,.025)}.import-help summary{cursor:pointer;font-weight:800}.import-help-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}.import-help-grid div{display:grid;gap:3px;padding:10px;border-radius:10px;background:rgba(255,255,255,.035)}.import-help-grid span{font-size:12px;opacity:.78;line-height:1.4}@media(max-width:700px){.import-help-grid{grid-template-columns:1fr}}

/* v36.2 import reliability */
#importValidRowsBtn:disabled{opacity:.65;cursor:not-allowed}
#importSummaryError{color:#ffb4a8}

/* v36.2.2 date entry */
.ir-date{min-width:132px!important;font-variant-numeric:tabular-nums}

/* v37 import history + duplicate protection */
.import-history-dialog{width:min(900px,95vw)}
.import-history-list{display:grid;gap:10px;margin-top:14px;max-height:62vh;overflow:auto}
.import-history-card{display:grid;grid-template-columns:1fr auto;gap:8px 16px;padding:14px;border:1px solid rgba(255,255,255,.09);border-radius:14px;background:rgba(255,255,255,.025)}
.import-history-card>div:first-child{display:grid;gap:3px}.import-history-card small{opacity:.65}
.import-history-totals{font-weight:800}
.import-history-items{grid-column:1/-1;display:grid;gap:4px;font-size:13px;opacity:.8}
.import-error .import-status{font-weight:700}.import-ok .import-status{font-weight:700}

/* v38 business onboarding */
.onboarding-choice{display:grid;grid-template-columns:1fr auto 1fr;gap:20px;align-items:stretch}
.onboarding-choice>div:not(.onboarding-divider){display:grid;gap:12px;align-content:start}
.onboarding-divider{display:grid;place-items:center;position:relative;min-width:36px}
.onboarding-divider:before{content:"";position:absolute;top:0;bottom:0;width:1px;background:rgba(255,255,255,.12)}
.onboarding-divider span{position:relative;background:#20242c;padding:8px;font-size:12px;opacity:.65}
.business-create-dialog{width:min(700px,94vw)}
.business-create-dialog .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.business-create-dialog .span-2{grid-column:1/-1}
@media(max-width:700px){.onboarding-choice{grid-template-columns:1fr}.onboarding-divider{min-height:32px}.onboarding-divider:before{left:0;right:0;top:50%;bottom:auto;width:auto;height:1px}.business-create-dialog .form-grid{grid-template-columns:1fr}.business-create-dialog .span-2{grid-column:auto}}

/* v38.1 redesigned Import History */
.import-history-dialog{width:min(1420px,96vw);max-height:94vh;padding:0;overflow:hidden;border:1px solid rgba(255,255,255,.16);border-radius:22px}
.import-history-shell{display:grid;grid-template-rows:auto auto auto 1fr auto;max-height:92vh;background:linear-gradient(180deg,#111923 0%,#0d141d 100%)}
.import-history-head{padding:22px 28px 16px;border-bottom:0}
.import-history-title-wrap{display:flex;align-items:flex-start;gap:16px}
.import-history-icon{width:52px;height:52px;border-radius:14px;display:grid;place-items:center;font-size:28px;font-weight:900;background:linear-gradient(135deg,#6d4cff,#3f2a8f);box-shadow:0 0 28px rgba(109,76,255,.22)}
.import-history-eyebrow{color:#9a7cff}
.import-history-head h3{font-size:31px;margin:2px 0 4px}
.import-history-head small{font-size:14px;opacity:.82}
.import-history-close{width:52px;height:52px;font-size:28px}

.import-history-kpis{display:grid;grid-template-columns:repeat(4,1fr);margin:0 28px 16px;border:1px solid rgba(255,255,255,.08);border-radius:16px;background:rgba(255,255,255,.025);overflow:hidden}
.import-kpi{display:flex;align-items:center;gap:14px;padding:18px 20px;min-width:0}
.import-kpi+.import-kpi{border-left:1px solid rgba(255,255,255,.08)}
.import-kpi-icon{width:46px;height:46px;flex:0 0 46px;border-radius:50%;display:grid;place-items:center;font-weight:900;background:rgba(108,77,255,.16);border:1px solid rgba(108,77,255,.35)}
.import-kpi:nth-child(2) .import-kpi-icon{background:rgba(30,190,92,.12);border-color:rgba(30,190,92,.4)}
.import-kpi:nth-child(3) .import-kpi-icon{background:rgba(37,132,255,.12);border-color:rgba(37,132,255,.4)}
.import-kpi:nth-child(4) .import-kpi-icon{background:rgba(255,184,0,.12);border-color:rgba(255,184,0,.4)}
.import-kpi>div:last-child{display:grid;gap:2px;min-width:0}
.import-kpi b{font-size:22px;white-space:nowrap}
.import-kpi span{font-size:13px}
.import-kpi small{font-size:12px;opacity:.58}

.import-history-toolbar{display:grid;grid-template-columns:minmax(260px,1.5fr) 190px 190px 180px;gap:12px;padding:0 28px 16px}
.import-search-wrap{display:flex;align-items:center;gap:10px;border:1px solid rgba(255,255,255,.12);border-radius:11px;padding:0 14px;background:#0d141d}
.import-search-wrap input{border:0!important;background:transparent!important;box-shadow:none!important;width:100%;min-width:0}
.import-history-toolbar select{min-height:46px}

.import-history-content{overflow:auto;padding:0 28px 16px}
.import-history-summary{margin-bottom:10px}
.import-history-list{display:grid;gap:10px}
.import-history-card{display:grid;padding:0;border:1px solid rgba(255,255,255,.1);border-radius:14px;background:linear-gradient(180deg,rgba(255,255,255,.025),rgba(255,255,255,.015));overflow:hidden;position:relative}
.import-history-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:#35c967}
.import-history-card.partial:before{background:#ffb000}
.import-history-card-top{display:flex;justify-content:space-between;gap:20px;padding:18px 18px 14px 22px;align-items:center}
.import-history-card-main{display:flex;gap:14px;align-items:center;min-width:0}
.import-history-status-icon{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:rgba(45,190,88,.12);font-size:23px;font-weight:900;color:#45d56f}
.import-history-card.partial .import-history-status-icon{background:rgba(255,176,0,.12);color:#ffb000}
.import-history-card-title{font-size:20px;font-weight:900}
.import-status-pill{display:inline-block;margin-left:8px;padding:4px 9px;border-radius:999px;font-size:12px;vertical-align:middle;background:rgba(45,190,88,.13);color:#62e585;border:1px solid rgba(45,190,88,.3)}
.import-status-pill.partial{background:rgba(255,176,0,.13);color:#ffbe33;border-color:rgba(255,176,0,.3)}
.import-history-meta{font-size:13px;opacity:.68;margin-top:3px}
.import-history-card-totals{display:flex;align-items:center;gap:26px}
.import-history-card-totals>div{display:grid;gap:2px;text-align:right}
.import-history-card-totals b{font-size:19px}
.import-history-card-totals span{font-size:12px;font-weight:800;color:#48d16c}
.import-history-card-totals>div:nth-child(2) span{color:#4aa3ff}

.import-history-vendors{display:none;border-top:1px solid rgba(255,255,255,.07);padding:14px 20px 18px}
.import-history-vendors.expanded{display:block}
.import-history-vendors-head{display:flex;justify-content:space-between;gap:12px;font-size:13px;margin-bottom:12px}
.import-vendor-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.import-vendor-card{display:grid;gap:5px;padding:11px 12px;border-radius:10px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.06);min-width:0}
.import-vendor-card b,.import-vendor-card span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.import-vendor-card b{font-size:13px}.import-vendor-card span{font-size:12px;opacity:.72}
.import-vendor-card.more{place-items:center;text-align:center}

.import-history-footer{display:flex;justify-content:space-between;align-items:center;padding:14px 28px 18px;border-top:1px solid rgba(255,255,255,.07);font-size:13px}

@media(max-width:1050px){
  .import-history-kpis{grid-template-columns:repeat(2,1fr)}
  .import-kpi:nth-child(3){border-left:0;border-top:1px solid rgba(255,255,255,.08)}
  .import-kpi:nth-child(4){border-top:1px solid rgba(255,255,255,.08)}
  .import-history-toolbar{grid-template-columns:1fr 1fr}
  .import-vendor-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
  .import-history-head{padding:18px}
  .import-history-kpis{margin:0 18px 14px;grid-template-columns:1fr}
  .import-kpi+.import-kpi{border-left:0;border-top:1px solid rgba(255,255,255,.08)}
  .import-history-toolbar{padding:0 18px 14px;grid-template-columns:1fr}
  .import-history-content{padding:0 18px 14px}
  .import-history-card-top{align-items:flex-start;flex-direction:column}
  .import-history-card-totals{width:100%;justify-content:space-between;gap:12px}
  .import-history-card-totals>div{text-align:left}
  .import-vendor-grid{grid-template-columns:1fr}
  .import-history-footer{padding:12px 18px 16px;gap:10px;flex-direction:column;align-items:stretch}
}

/* v49.57 — daily sales entry and product reporting */
.daily-sales-dialog[open]{width:min(1120px,calc(100vw - 28px));height:min(90vh,860px);max-height:90vh;padding:0;overflow:hidden;display:grid;grid-template-rows:auto auto minmax(0,1fr)}
.daily-sales-head{padding:18px 22px 14px!important;border-bottom:1px solid var(--border)}
.daily-sales-head h3{margin:2px 0 4px}.daily-sales-head small{color:var(--muted)}
.daily-sales-tabs{display:flex;gap:8px;padding:12px 22px 0}
.daily-sales-tabs button{width:auto;padding:9px 14px;border:1px solid var(--border);border-radius:10px;background:transparent;color:var(--muted);font-weight:800}
.daily-sales-tabs button.active{background:rgba(109,76,255,.16);border-color:#8b72e8;color:#d8ceff}
.daily-sales-panel{min-height:0;overflow:auto;padding:16px 22px 22px}
.daily-sales-top-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px}
.daily-sales-top-grid label,.product-report-filters label{display:grid;gap:6px;color:var(--muted);font-size:12px;font-weight:800}
.daily-sales-table-wrap,.product-report-wrap{overflow:auto;border:1px solid var(--border);border-radius:13px}
.daily-sales-table,.product-report-table{width:100%;border-collapse:collapse;min-width:760px}
.daily-sales-table th,.daily-sales-table td,.product-report-table th,.product-report-table td{padding:10px;border-bottom:1px solid var(--border);text-align:left}
.daily-sales-table th,.product-report-table th{position:sticky;top:0;background:var(--panel-2);z-index:1;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.04em}
.daily-sales-table input,.daily-sales-table select{min-height:40px;margin:0}.daily-product{min-width:230px}.daily-qty{width:92px}.daily-price{width:125px}.daily-payment{min-width:120px}
.daily-line-total{font-weight:900;white-space:nowrap}.remove-daily-row{width:38px;height:38px;padding:0;border:1px solid rgba(255,120,115,.32);border-radius:9px;background:rgba(255,120,115,.07);color:#ff9b93}
.daily-sales-footer{display:flex;align-items:center;gap:12px;margin-top:14px}.daily-sales-footer button{width:auto}.daily-sales-total{display:grid;margin-left:auto;text-align:right}.daily-sales-total span{font-size:11px;color:var(--muted)}.daily-sales-total b{font-size:22px}
#dailySalesStatus{margin-top:10px;min-height:18px}
.product-report-filters{display:grid;grid-template-columns:180px 180px minmax(220px,1fr) auto;gap:12px;align-items:end;margin-bottom:14px}.product-report-filters button{width:auto;min-height:44px}
.product-report-summary{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:12px}.product-report-summary>div{display:grid;gap:2px;padding:10px 13px;border:1px solid var(--border);border-radius:10px;background:rgba(255,255,255,.025)}.product-report-summary span{font-size:10px;color:var(--muted);text-transform:uppercase}.product-report-summary b{font-size:17px}
.product-report-table td:nth-child(n+2){font-variant-numeric:tabular-nums}
.legacy-sales-note{display:block;margin-top:3px;color:var(--muted);font-size:10px;font-weight:500}
html[data-platform-theme="light"] .daily-sales-tabs button.active{background:#eee9ff;color:#5138b8;border-color:#8b72e8}
html[data-platform-theme="light"] .daily-sales-table th,html[data-platform-theme="light"] .product-report-table th{background:#f8fafc}
@media(max-width:820px){.daily-sales-top-grid{grid-template-columns:1fr 1fr}.product-report-filters{grid-template-columns:1fr 1fr}.daily-sales-dialog[open]{height:94vh;max-height:94vh}}
@media(max-width:560px){.daily-sales-top-grid,.product-report-filters{grid-template-columns:1fr}.daily-sales-footer{flex-wrap:wrap}.daily-sales-total{order:-1;width:100%;margin-left:0;text-align:left}.daily-sales-footer button{flex:1}}

/* v39 — Modern dashboard redesign */
:root{--v39-panel:#121a24;--v39-line:rgba(255,255,255,.085);--v39-muted:rgba(232,237,245,.66);--v39-purple:#7657ff;--v39-green:#35cf72;--v39-orange:#ff8c61}
#appScreen{background:radial-gradient(circle at 10% -5%,rgba(118,87,255,.08),transparent 28%),linear-gradient(180deg,#0b1119,#0a1017)}
.dashboard-modern-head{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:24px 2px 16px}
.dashboard-modern-title{display:flex;align-items:center;gap:16px;min-width:0}
.dashboard-business-mark{width:58px;height:58px;flex:0 0 58px;border-radius:16px;display:grid;place-items:center;font-size:27px;font-weight:950;background:linear-gradient(135deg,#795cff,#4931a7);border:1px solid rgba(255,255,255,.12);box-shadow:0 12px 32px rgba(82,54,190,.24)}
.dashboard-modern-title .eyebrow{color:#a78cff;letter-spacing:.16em}
.dashboard-modern-title h2{margin:3px 0 2px;font-size:clamp(27px,3vw,38px);line-height:1.05}
.dashboard-modern-title p{margin:0;color:var(--v39-muted);font-size:14px}
.dashboard-modern-actions{display:flex;gap:10px}.modern-action{min-height:46px;padding:0 18px;border-radius:12px;font-weight:850}
.dashboard-status-strip{display:grid;grid-template-columns:repeat(4,1fr);margin-bottom:16px;border:1px solid var(--v39-line);border-radius:16px;background:rgba(19,27,38,.84);overflow:hidden}
.dashboard-status-item{display:flex;align-items:center;gap:11px;padding:15px 18px;min-width:0}.dashboard-status-item+.dashboard-status-item{border-left:1px solid var(--v39-line)}
.dashboard-status-item>div{display:grid;gap:2px;min-width:0}.dashboard-status-item b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:14px}.dashboard-status-item small{font-size:11px;color:var(--v39-muted)}
.status-dot{width:12px;height:12px;flex:0 0 12px;border-radius:50%}.status-dot.live{background:var(--v39-green);box-shadow:0 0 0 5px rgba(53,207,114,.12),0 0 16px rgba(53,207,114,.3)}
.status-mini-icon{width:32px;height:32px;flex:0 0 32px;border-radius:10px;display:grid;place-items:center;background:rgba(118,87,255,.11);border:1px solid rgba(118,87,255,.2);font-weight:900}

.modern-hero-total{border:1px solid var(--v39-line)!important;border-radius:18px!important;background:linear-gradient(135deg,rgba(118,87,255,.12),rgba(18,26,36,.96) 45%)!important;box-shadow:none!important}
.period-tabs,.period-nav{border-color:var(--v39-line)!important}
.modern-metrics{gap:12px!important}
.modern-metrics .metric-card{position:relative;overflow:hidden;min-height:118px;border:1px solid var(--v39-line)!important;border-radius:16px!important;background:linear-gradient(180deg,rgba(25,34,46,.96),rgba(18,26,36,.96))!important;box-shadow:none!important}
.modern-metrics .metric-card:before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,var(--v39-purple),transparent 72%)}
.modern-metrics .metric-card:nth-child(2):before{background:linear-gradient(90deg,var(--v39-orange),transparent 72%)}.modern-metrics .metric-card:nth-child(3):before{background:linear-gradient(90deg,var(--v39-green),transparent 72%)}.modern-metrics .metric-card:nth-child(4):before{background:linear-gradient(90deg,#3a9dff,transparent 72%)}
.modern-panel{border:1px solid var(--v39-line)!important;border-radius:18px!important;background:linear-gradient(180deg,rgba(19,27,38,.95),rgba(15,22,31,.95))!important;box-shadow:none!important}
.modern-panel .section-head{padding-bottom:14px;border-bottom:1px solid rgba(255,255,255,.055)}
.modern-panel table thead th{background:#101720!important;color:rgba(236,240,247,.7)!important;font-size:11px!important;letter-spacing:.055em;text-transform:uppercase}
.modern-panel table tbody tr:hover{background:rgba(118,87,255,.045)!important}
.performance-item,.comparison-item,.financial-line{border-color:rgba(255,255,255,.07)!important}
#appScreen .dialog:not(.import-history-dialog){border:1px solid rgba(255,255,255,.12);border-radius:20px;background:linear-gradient(180deg,#151d28,#111821)}
#appScreen .settings-card{border:1px solid rgba(255,255,255,.075);border-radius:15px;background:rgba(255,255,255,.025)}
@media(max-width:900px){.dashboard-status-strip{grid-template-columns:1fr 1fr}.dashboard-status-item:nth-child(3){border-left:0;border-top:1px solid var(--v39-line)}.dashboard-status-item:nth-child(4){border-top:1px solid var(--v39-line)}}
@media(max-width:700px){.dashboard-modern-head{align-items:flex-start;flex-direction:column;padding-top:18px}.dashboard-modern-actions{width:100%}.dashboard-modern-actions button{flex:1}.dashboard-status-strip{grid-template-columns:1fr}.dashboard-status-item+.dashboard-status-item{border-left:0;border-top:1px solid var(--v39-line)}.dashboard-modern-title h2{font-size:27px}}

/* v39.1 modern Add Sale / Add Expense / Edit Transaction */
.modern-entry-dialog{
  width:min(900px,95vw)!important;
  max-height:92vh!important;
  padding:0!important;
  overflow:hidden!important;
  border:1px solid rgba(255,255,255,.13)!important;
  border-radius:22px!important;
  background:linear-gradient(180deg,#121a24,#0f161f)!important;
}
.modern-entry-form{
  display:grid;
  grid-template-rows:auto 1fr auto;
  max-height:90vh;
  min-height:0;
  overflow:hidden;
}
.modern-entry-head{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:18px!important;
  padding:22px 24px 18px!important;
  border-bottom:1px solid rgba(255,255,255,.07)!important;
  background:linear-gradient(180deg,rgba(255,255,255,.025),transparent);
}
.modern-entry-title-wrap{display:flex;gap:14px;align-items:flex-start}
.modern-entry-icon{
  width:50px;height:50px;flex:0 0 50px;display:grid;place-items:center;
  border-radius:14px;font-size:25px;font-weight:950;
  background:linear-gradient(135deg,#7657ff,#4a34a3);
  border:1px solid rgba(255,255,255,.12);
  box-shadow:0 10px 26px rgba(74,52,163,.22);
}
.modern-entry-head .eyebrow{color:#a78cff;letter-spacing:.14em}
.modern-entry-head h3{margin:2px 0 4px!important;font-size:28px!important;line-height:1.1!important}
.modern-entry-head small{color:rgba(232,237,245,.68);font-size:13px}
.modern-entry-close{width:48px!important;height:48px!important;flex:0 0 48px;border-radius:50%!important;font-size:26px!important}

.modern-entry-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px 16px;
  padding:20px 24px;
  overflow:auto;
  scrollbar-width:thin;
  scrollbar-color:rgba(255,255,255,.28) transparent;
}
.modern-entry-grid::-webkit-scrollbar{width:8px}
.modern-entry-grid::-webkit-scrollbar-track{background:transparent}
.modern-entry-grid::-webkit-scrollbar-thumb{background:rgba(255,255,255,.22);border-radius:999px}
.modern-entry-grid label{
  display:grid;
  gap:7px;
  align-content:start;
  font-size:13px;
  font-weight:800;
  color:rgba(243,246,251,.88);
}
.modern-entry-grid .span-2{grid-column:1/-1}
.modern-entry-grid input,
.modern-entry-grid select,
.modern-entry-grid textarea{
  width:100%;
  min-height:46px;
  border-radius:11px!important;
  border:1px solid rgba(255,255,255,.11)!important;
  background:#0d141d!important;
  color:#f4f7fb!important;
  padding:0 13px!important;
  box-shadow:none!important;
}
.modern-entry-grid textarea{min-height:88px;resize:vertical;padding:12px 13px!important}
.modern-entry-grid input:focus,
.modern-entry-grid select:focus,
.modern-entry-grid textarea:focus{
  outline:none!important;
  border-color:rgba(118,87,255,.65)!important;
  box-shadow:0 0 0 3px rgba(118,87,255,.11)!important;
}
.modern-entry-amount-wrap{
  display:grid;grid-template-columns:auto 1fr;align-items:center;min-height:46px;
  border-radius:11px;border:1px solid rgba(255,255,255,.11);
  background:#0d141d;overflow:hidden;
}
.modern-entry-amount-wrap span{
  display:grid;place-items:center;align-self:stretch;min-width:52px;padding:0 10px;
  color:#9f8cff;font-weight:900;border-right:1px solid rgba(255,255,255,.08);
  background:rgba(118,87,255,.08);
}
.modern-entry-amount-wrap input{border:0!important;border-radius:0!important}
.modern-entry-conversion{
  align-self:end;
  min-height:46px;
  display:flex;
  align-items:center;
  padding:0 13px;
  border-radius:11px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.025);
}
.modern-entry-receipt{
  padding:13px;
  border:1px dashed rgba(255,255,255,.13);
  border-radius:12px;
  background:rgba(255,255,255,.018);
}
.modern-entry-receipt small{font-size:11px;color:rgba(232,237,245,.58);font-weight:500}
.modern-entry-footer{
  display:flex!important;
  justify-content:flex-end!important;
  gap:10px!important;
  padding:16px 24px 18px!important;
  margin:0!important;
  border-top:1px solid rgba(255,255,255,.07);
  background:rgba(10,15,22,.94);
  position:sticky;
  bottom:0;
  z-index:3;
}
.modern-entry-footer button{min-width:130px;min-height:46px;border-radius:11px!important;font-weight:850}

@media(max-width:760px){
  .modern-entry-dialog{width:98vw!important;max-height:95vh!important}
  .modern-entry-grid{grid-template-columns:1fr;padding:16px}
  .modern-entry-grid .span-2{grid-column:auto}
  /* iOS Safari zooms focused form controls when their computed font is below 16px. */
  .modern-entry-grid input,
  .modern-entry-grid select,
  .modern-entry-grid textarea{font-size:16px!important}
  .modern-entry-head{padding:18px 16px 14px!important}
  .modern-entry-footer{padding:12px 16px 14px!important}
  .modern-entry-footer button{flex:1;min-width:0}
  .modern-entry-icon{width:44px;height:44px;flex-basis:44px}
  .modern-entry-head h3{font-size:24px!important}
}

/* v39.2 action alignment + platform themes */
.dashboard-modern-actions .modern-action{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:7px!important;white-space:nowrap!important;line-height:1!important}
.dashboard-modern-actions .modern-action span{display:inline-flex;align-items:center;line-height:1;margin:0!important}
.dashboard-modern-actions .modern-action-plus{font-size:19px;font-weight:950;transform:translateY(-1px)}
.theme-toggle-btn{display:inline-flex!important;align-items:center!important;gap:6px!important;white-space:nowrap}.theme-toggle-btn #themeToggleIcon{font-size:15px;line-height:1}
html[data-platform-theme="light"] body,html[data-platform-theme="light"] #appScreen{background:radial-gradient(circle at 10% -5%,rgba(118,87,255,.07),transparent 30%),linear-gradient(180deg,#f5f7fb 0%,#eef2f7 100%)!important;color:#18202b!important}
html[data-platform-theme="light"] header,html[data-platform-theme="light"] .topbar,html[data-platform-theme="light"] .dashboard-status-strip,html[data-platform-theme="light"] .modern-hero-total,html[data-platform-theme="light"] .modern-metrics .metric-card,html[data-platform-theme="light"] .modern-panel,html[data-platform-theme="light"] .card,html[data-platform-theme="light"] .settings-card,html[data-platform-theme="light"] .import-history-shell,html[data-platform-theme="light"] .import-history-kpis,html[data-platform-theme="light"] .import-history-card,html[data-platform-theme="light"] .modern-entry-dialog,html[data-platform-theme="light"] .modern-entry-grid input,html[data-platform-theme="light"] .modern-entry-grid select,html[data-platform-theme="light"] .modern-entry-grid textarea,html[data-platform-theme="light"] .modern-entry-amount-wrap,html[data-platform-theme="light"] dialog{background:#fff!important;color:#18202b!important;border-color:rgba(24,32,43,.12)!important;box-shadow:none!important}
html[data-platform-theme="light"] .eyebrow{color:#6848e8!important}
html[data-platform-theme="light"] .dashboard-modern-title p,html[data-platform-theme="light"] .dashboard-status-item small,html[data-platform-theme="light"] .muted,html[data-platform-theme="light"] small,html[data-platform-theme="light"] .import-history-meta{color:#667085!important;opacity:1!important}
html[data-platform-theme="light"] h1,html[data-platform-theme="light"] h2,html[data-platform-theme="light"] h3,html[data-platform-theme="light"] h4,html[data-platform-theme="light"] strong,html[data-platform-theme="light"] b,html[data-platform-theme="light"] .metric-value,html[data-platform-theme="light"] .hero-value{color:#101828!important}
html[data-platform-theme="light"] .chip,html[data-platform-theme="light"] .secondary,html[data-platform-theme="light"] button.secondary,html[data-platform-theme="light"] select,html[data-platform-theme="light"] input,html[data-platform-theme="light"] textarea{background:#f8fafc!important;color:#18202b!important;border-color:rgba(24,32,43,.13)!important}
html[data-platform-theme="light"] .primary,html[data-platform-theme="light"] button.primary{color:#111827!important}
html[data-platform-theme="light"] table thead th,html[data-platform-theme="light"] .modern-panel table thead th{background:#f1f4f8!important;color:#667085!important}
html[data-platform-theme="light"] table tbody tr:hover,html[data-platform-theme="light"] .modern-panel table tbody tr:hover{background:rgba(104,72,232,.045)!important}
html[data-platform-theme="light"] .dashboard-business-mark,html[data-platform-theme="light"] .modern-entry-icon,html[data-platform-theme="light"] .import-history-icon{color:white!important}
html[data-platform-theme="light"] .modern-entry-footer{background:#fff!important}
html[data-platform-theme="light"] .modern-entry-receipt,html[data-platform-theme="light"] .modern-entry-conversion,html[data-platform-theme="light"] .import-vendor-card,html[data-platform-theme="light"] .import-search-wrap{background:#f8fafc!important;border-color:rgba(24,32,43,.11)!important}
html[data-platform-theme="light"] .import-search-wrap input{background:transparent!important}
@media(max-width:700px){.theme-toggle-btn #themeToggleText{display:none}}

/* v39.3 — stronger text hierarchy + correctly placed dashboard theme toggle */
:root{
  --text:#ffffff;
  --muted:#8f98a8;
  --secondary-text:#b7c0ce;
}
body{color:#fff}
.metric-label,.comparison,.legend,.transaction-count,.financial-note,
.comparison-item>span,.comparison-item>small,.performance-item>span,
.drill-hint,.drilldown-main small,.receipt-field small,.settings-card label,
.dashboard-modern-title p,.dashboard-status-item small{
  color:#8f98a8!important;
}
.metric-card span,.money-secondary{color:#9aa4b4!important}
.dashboard-status-item b,.modern-panel h3,.modern-panel h4,
.metric-card strong,.performance-item strong,.comparison-item strong,
.financial-line strong{color:#fff!important}
.modern-panel .section-head .eyebrow,.dashboard-modern-title .eyebrow{
  color:#a88cff!important;
}
.modern-panel{
  border-color:rgba(255,255,255,.11)!important;
}
.performance-item,.comparison-item,.financial-line{
  border-color:rgba(255,255,255,.09)!important;
}
.performance-grid>*,.comparison-grid>*{
  background:rgba(255,255,255,.025);
}
.theme-toggle-btn{
  min-width:84px;
  justify-content:center;
  border:1px solid rgba(255,255,255,.08);
}
html[data-platform-theme="light"]{
  --text:#101828;
  --muted:#667085;
  --secondary-text:#475467;
}
html[data-platform-theme="light"] .metric-label,
html[data-platform-theme="light"] .comparison,
html[data-platform-theme="light"] .legend,
html[data-platform-theme="light"] .transaction-count,
html[data-platform-theme="light"] .financial-note,
html[data-platform-theme="light"] .comparison-item>span,
html[data-platform-theme="light"] .comparison-item>small,
html[data-platform-theme="light"] .performance-item>span,
html[data-platform-theme="light"] .drill-hint,
html[data-platform-theme="light"] .drilldown-main small,
html[data-platform-theme="light"] .receipt-field small,
html[data-platform-theme="light"] .settings-card label,
html[data-platform-theme="light"] .dashboard-modern-title p,
html[data-platform-theme="light"] .dashboard-status-item small,
html[data-platform-theme="light"] .metric-card span,
html[data-platform-theme="light"] .money-secondary{
  color:#667085!important;
}
html[data-platform-theme="light"] .dashboard-status-item b,
html[data-platform-theme="light"] .modern-panel h3,
html[data-platform-theme="light"] .modern-panel h4,
html[data-platform-theme="light"] .metric-card strong,
html[data-platform-theme="light"] .performance-item strong,
html[data-platform-theme="light"] .comparison-item strong,
html[data-platform-theme="light"] .financial-line strong{
  color:#101828!important;
}
@media(max-width:900px){
  .header-actions{flex-wrap:wrap;justify-content:flex-end}
}

/* v40 verified theme toggle + receipt queue redesign */
.theme-toggle-btn{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:6px!important;min-width:86px!important}
.theme-toggle-btn span{display:inline-flex;line-height:1}

.modern-receipt-dialog{width:min(1240px,96vw)!important;max-height:94vh!important;padding:0!important;overflow:hidden!important;border-radius:22px!important;background:linear-gradient(180deg,#111923,#0d141d)!important}
.modern-receipt-shell{display:grid;grid-template-rows:auto auto auto auto 1fr;max-height:92vh;min-height:0}
.modern-receipt-head{padding:22px 26px 17px!important;border-bottom:1px solid rgba(255,255,255,.07)!important}
.modern-receipt-title-wrap{display:flex;gap:14px;align-items:flex-start}
.modern-receipt-icon{width:50px;height:50px;display:grid;place-items:center;border-radius:14px;background:linear-gradient(135deg,#7657ff,#4a34a3);font-size:23px;font-weight:900}
.modern-receipt-head .eyebrow{color:#a78cff}.modern-receipt-head h3{margin:2px 0 4px!important;font-size:28px!important}.modern-receipt-head small{color:#8e98a8}
.modern-receipt-close{width:48px!important;height:48px!important;border-radius:50%!important;font-size:26px!important}

.modern-receipt-upload-card{display:grid;grid-template-columns:1fr 220px auto;gap:12px;align-items:end;margin:16px 24px 12px;padding:14px 16px;border:1px solid rgba(255,255,255,.08);border-radius:14px;background:rgba(255,255,255,.025)}
.modern-receipt-upload-card label{display:grid;gap:6px;font-size:12px;font-weight:800}.modern-receipt-file small{color:#8f98a8}.modern-receipt-file input{margin-top:5px}.modern-receipt-upload-card select,.modern-receipt-upload-card button{min-height:44px}.span-all{grid-column:1/-1}
.modern-receipt-summary{display:grid;grid-template-columns:repeat(4,1fr);margin:0 24px 12px;border:1px solid rgba(255,255,255,.08);border-radius:14px;overflow:hidden;background:rgba(255,255,255,.02)}
.modern-receipt-summary>div{display:grid;grid-template-columns:auto auto 1fr;align-items:center;gap:9px;padding:13px 15px}.modern-receipt-summary>div+div{border-left:1px solid rgba(255,255,255,.07)}.modern-receipt-summary b{font-size:19px}.modern-receipt-summary small{color:#8f98a8}
.receipt-summary-dot{width:10px;height:10px;border-radius:50%}.receipt-summary-dot.pending{background:#f0a23c}.receipt-summary-dot.ready{background:#38c66b}.receipt-summary-dot.approved{background:#4a9cff}.receipt-summary-dot.skipped{background:#7f8999}
.modern-receipt-toolbar{display:grid;grid-template-columns:1fr 210px auto;gap:12px;padding:0 24px 12px}.modern-receipt-search{display:flex;align-items:center;gap:9px;padding:0 13px;min-height:44px;border:1px solid rgba(255,255,255,.09);border-radius:10px;background:#0c131c}.modern-receipt-search input{width:100%;border:0!important;background:transparent!important;box-shadow:none!important}.modern-receipt-toolbar select,.modern-receipt-toolbar button{min-height:44px}
.modern-receipt-content{overflow:auto;padding:0 24px 18px;min-height:0}.modern-receipt-queue{display:grid;gap:12px}.modern-receipt-queue .receipt-review-card{border:1px solid rgba(255,255,255,.1)!important;border-radius:16px!important;background:linear-gradient(180deg,rgba(255,255,255,.025),rgba(255,255,255,.015))!important;padding:16px!important}
.modern-receipt-queue .receipt-review-head{padding-bottom:12px;margin-bottom:12px;border-bottom:1px solid rgba(255,255,255,.07)}.modern-receipt-queue input,.modern-receipt-queue select,.modern-receipt-queue textarea{min-height:43px!important;border-radius:10px!important;background:#0d141d!important;border-color:rgba(255,255,255,.1)!important}

/* clearer dark hierarchy */
.metric-label,.metric-card span,.performance-item>span,.comparison-item>span,.dashboard-modern-title p,.dashboard-status-item small{color:#8993a4!important}
.metric-card strong,.performance-item strong,.comparison-item strong,.financial-line strong{color:#fff!important}

/* light theme */
html[data-platform-theme="light"] body,html[data-platform-theme="light"] #appScreen{background:linear-gradient(180deg,#f6f8fb,#eef2f7)!important;color:#101828!important}
html[data-platform-theme="light"] .modern-panel,html[data-platform-theme="light"] .card,html[data-platform-theme="light"] .dashboard-status-strip,html[data-platform-theme="light"] .modern-hero-total,html[data-platform-theme="light"] .modern-metrics .metric-card,html[data-platform-theme="light"] .modern-receipt-dialog,html[data-platform-theme="light"] .modern-receipt-upload-card,html[data-platform-theme="light"] .modern-receipt-summary,html[data-platform-theme="light"] .modern-receipt-queue .receipt-review-card,html[data-platform-theme="light"] dialog{background:#fff!important;color:#101828!important;border-color:rgba(16,24,40,.12)!important}
html[data-platform-theme="light"] h1,html[data-platform-theme="light"] h2,html[data-platform-theme="light"] h3,html[data-platform-theme="light"] h4,html[data-platform-theme="light"] b,html[data-platform-theme="light"] strong{color:#101828!important}
html[data-platform-theme="light"] .metric-label,html[data-platform-theme="light"] .metric-card span,html[data-platform-theme="light"] .performance-item>span,html[data-platform-theme="light"] .comparison-item>span,html[data-platform-theme="light"] .dashboard-modern-title p,html[data-platform-theme="light"] .dashboard-status-item small,html[data-platform-theme="light"] small{color:#667085!important}
html[data-platform-theme="light"] input,html[data-platform-theme="light"] select,html[data-platform-theme="light"] textarea,html[data-platform-theme="light"] .modern-receipt-search{background:#f8fafc!important;color:#101828!important;border-color:rgba(16,24,40,.12)!important}
html[data-platform-theme="light"] .modern-receipt-icon{color:#fff!important}

@media(max-width:900px){.modern-receipt-upload-card{grid-template-columns:1fr 1fr}.modern-receipt-summary{grid-template-columns:1fr 1fr}.modern-receipt-toolbar{grid-template-columns:1fr 1fr}.modern-receipt-toolbar button{grid-column:1/-1}}
@media(max-width:700px){.theme-toggle-btn{min-width:auto!important}.theme-toggle-btn #themeToggleText{display:none}.modern-receipt-upload-card,.modern-receipt-summary,.modern-receipt-toolbar{grid-template-columns:1fr}.modern-receipt-summary>div+div{border-left:0;border-top:1px solid rgba(255,255,255,.07)}.modern-receipt-upload-card,.modern-receipt-summary{margin-left:16px;margin-right:16px}.modern-receipt-toolbar,.modern-receipt-content{padding-left:16px;padding-right:16px}}

/* =========================================================
   v41 — Multi-location performance + consolidated view
   ========================================================= */
.business-location-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.location-performance-link{
  border:0;background:transparent;color:#9f8cff;font-weight:800;
  padding:3px 0;cursor:pointer;font-size:13px
}
.location-performance-link:hover{text-decoration:underline}

.location-performance-dialog{
  width:min(1180px,96vw)!important;
  height:min(920px,calc(100vh - 24px))!important;
  max-height:calc(100vh - 24px)!important;
  margin-block:12px!important;
  padding:0!important;overflow:hidden!important;border-radius:22px!important
}
@supports(height:100dvh){
  .location-performance-dialog{
    height:min(920px,calc(100dvh - 24px))!important;
    max-height:calc(100dvh - 24px)!important
  }
}
.location-performance-shell{
  display:grid;grid-template-rows:auto minmax(0,1fr);
  height:100%;max-height:100%;min-height:0;overflow:hidden
}
.location-performance-head{
  position:relative;z-index:5;
  padding:22px 26px 18px!important;border-bottom:1px solid rgba(255,255,255,.08)!important;
  background:var(--panel,#171d27)
}
.location-performance-scroll{
  position:relative;height:100%;max-height:100%;min-height:0;
  overflow-y:auto!important;overflow-x:hidden;
  -webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:pan-y;
  scrollbar-gutter:stable
}
.location-performance-title{display:flex;gap:14px;align-items:flex-start}
.location-performance-icon{
  width:50px;height:50px;display:grid;place-items:center;flex:0 0 50px;
  border-radius:14px;background:linear-gradient(135deg,#7657ff,#4a34a3);
  color:#fff;font-size:22px;font-weight:900
}
.location-performance-title h3{font-size:28px!important;margin:2px 0 4px!important}
.location-performance-title small{color:#8f98a8}
.location-performance-context{
  display:grid;grid-template-columns:repeat(3,1fr);
  margin:16px 24px 12px;border:1px solid rgba(255,255,255,.08);
  border-radius:14px;overflow:hidden;background:rgba(255,255,255,.02)
}
.location-performance-context>div{display:grid;gap:4px;padding:13px 16px}
.location-performance-context>div+div{border-left:1px solid rgba(255,255,255,.07)}
.location-performance-context span,.location-card-metrics span,.location-consolidated-metrics span{color:#8f98a8;font-size:12px}
.location-performance-context b{font-size:16px}
.location-performance-cards{display:grid;gap:12px;padding:0 24px 16px;min-height:0}
.location-performance-card{
  border:1px solid rgba(255,255,255,.1);border-radius:16px;
  padding:16px;background:rgba(255,255,255,.022)
}
.location-card-head{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;margin-bottom:14px}
.location-card-mark{
  width:42px;height:42px;display:grid;place-items:center;border-radius:12px;
  background:#202044;color:#b7a8ff;font-size:20px;font-weight:950
}
.location-card-head h4{margin:0 0 3px!important;font-size:19px!important}
.location-card-head small{color:#8f98a8}
.location-card-metrics{display:grid;grid-template-columns:repeat(5,1fr);border:1px solid rgba(255,255,255,.07);border-radius:12px;overflow:hidden}
.location-card-metrics>div{display:grid;gap:5px;padding:12px 13px}
.location-card-metrics>div+div{border-left:1px solid rgba(255,255,255,.07)}
.location-card-metrics b,.location-consolidated-metrics b{font-size:16px}
.location-card-metrics .negative,.location-consolidated-metrics .negative{color:#ff9a7a!important}
.location-card-metrics .positive,.location-consolidated-metrics .positive{color:#55d98a!important}

.location-consolidated-card{
  margin:0 24px 20px;padding:16px;border:1px solid rgba(118,87,255,.35);
  border-radius:16px;background:linear-gradient(135deg,rgba(118,87,255,.09),rgba(255,255,255,.018))
}
.location-consolidated-card h4{margin:2px 0 3px!important;font-size:20px!important}
.location-consolidated-card small{color:#8f98a8}
.location-consolidated-metrics{display:grid;grid-template-columns:repeat(6,1fr);margin-top:13px;border-top:1px solid rgba(255,255,255,.08)}
.location-consolidated-metrics>div{display:grid;gap:5px;padding:12px 10px 0}
.location-consolidated-metrics>div+div{border-left:1px solid rgba(255,255,255,.06)}

html[data-platform-theme="light"] .location-performance-card,
html[data-platform-theme="light"] .location-performance-context,
html[data-platform-theme="light"] .location-consolidated-card{
  background:#fff!important;border-color:rgba(16,24,40,.11)!important
}
html[data-platform-theme="light"] .location-card-mark{background:#f0edff!important;color:#6549df!important}
html[data-platform-theme="light"] .location-performance-context>div+div,
html[data-platform-theme="light"] .location-card-metrics>div+div,
html[data-platform-theme="light"] .location-consolidated-metrics,
html[data-platform-theme="light"] .location-consolidated-metrics>div+div{
  border-color:rgba(16,24,40,.08)!important
}
html[data-platform-theme="light"] .location-card-metrics{border-color:rgba(16,24,40,.08)!important}
html[data-platform-theme="light"] .location-performance-context span,
html[data-platform-theme="light"] .location-card-metrics span,
html[data-platform-theme="light"] .location-consolidated-metrics span,
html[data-platform-theme="light"] .location-card-head small,
html[data-platform-theme="light"] .location-consolidated-card small{color:#667085!important}

@media(max-width:900px){
  .location-card-metrics{grid-template-columns:repeat(2,1fr)}
  .location-card-metrics>div+div{border-left:0}
  .location-consolidated-metrics{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:650px){
  .location-performance-dialog{
    display:block!important;
    width:calc(100% - 16px)!important;
    height:calc(var(--modal-visual-height,100vh) - 16px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px))!important;
    max-height:calc(var(--modal-visual-height,100vh) - 16px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px))!important;
    margin-top:max(8px,env(safe-area-inset-top,0px))!important;
    margin-bottom:max(8px,env(safe-area-inset-bottom,0px))!important;
    border-radius:20px!important;
    overflow:hidden!important
  }
  @supports(height:100dvh){
    .location-performance-dialog{
      height:calc(var(--modal-visual-height,100dvh) - 16px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px))!important;
      max-height:calc(var(--modal-visual-height,100dvh) - 16px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px))!important
    }
  }
  .location-performance-shell{
    display:grid;grid-template-rows:auto minmax(0,1fr);
    height:100%;max-height:100%;min-height:0;overflow:hidden
  }
  .location-performance-head{
    position:relative;z-index:20;
    padding:18px 18px 16px!important;align-items:flex-start
  }
  .location-performance-head .icon-btn{flex:0 0 auto}
  .location-performance-scroll{
    position:relative;height:auto;max-height:none;min-height:0;
    overflow-y:auto!important;overflow-x:hidden!important;
    -webkit-overflow-scrolling:touch!important;
    overscroll-behavior-y:contain!important;
    touch-action:pan-y!important;
    padding-bottom:calc(14px + env(safe-area-inset-bottom,0px))
  }
  .location-performance-context{position:relative;margin:16px 16px 12px}
  .location-performance-cards{position:relative;display:grid;padding:0 16px 16px}
  .location-consolidated-card{position:relative;clear:both;margin:0 16px 6px}
  .location-performance-context{grid-template-columns:1fr}
  .location-performance-context>div+div{border-left:0;border-top:1px solid rgba(255,255,255,.07)}
  .location-card-head{grid-template-columns:auto 1fr}
  .location-open-btn{grid-column:1/-1}
  .location-card-metrics,.location-consolidated-metrics{grid-template-columns:1fr}
  .location-consolidated-metrics>div+div{border-left:0}
}

html.location-performance-modal-open,
body.location-performance-modal-open{
  overflow:hidden!important;overscroll-behavior:none!important
}
body.location-performance-modal-open{
  position:fixed;inset-inline:0;width:100%
}

/* v41.1 language visibility + consolidated shortcut */
.lang-switch button,#langEn,#langEs,#langVi{
  color:#f5f7fa!important;background:#343b48!important;border:2px solid transparent!important;opacity:1!important;
}
.lang-switch button.active,#langEn.active,#langEs.active,#langVi.active{
  color:#111827!important;background:#f58a62!important;border-color:#ff9a73!important;box-shadow:0 0 0 2px rgba(245,138,98,.16)!important;
}
.lang-switch button:hover,#langEn:hover,#langEs:hover,#langVi:hover{color:#fff!important;background:#465061!important}
html[data-platform-theme="light"] .lang-switch button,
html[data-platform-theme="light"] #langEn,html[data-platform-theme="light"] #langEs,html[data-platform-theme="light"] #langVi{
  color:#344054!important;background:#e9edf3!important;border-color:#d0d5dd!important;
}
html[data-platform-theme="light"] .lang-switch button.active,
html[data-platform-theme="light"] #langEn.active,html[data-platform-theme="light"] #langEs.active,html[data-platform-theme="light"] #langVi.active{
  color:#111827!important;background:#f58a62!important;border-color:#e96f43!important;
}
.quick-actions .consolidated-bottom-btn{
  grid-column:1/-1;width:100%;min-height:48px;border:1px solid rgba(167,140,255,.45);border-radius:12px;
  background:linear-gradient(135deg,rgba(118,87,255,.24),rgba(118,87,255,.11));color:#fff;font-weight:900;cursor:pointer;
}
.quick-actions .consolidated-bottom-btn:hover{background:linear-gradient(135deg,rgba(118,87,255,.36),rgba(118,87,255,.18))}
html[data-platform-theme="light"] .quick-actions .consolidated-bottom-btn{
  color:#5137bd!important;background:#f0edff!important;border-color:#cfc5ff!important;
}

/* v41.2 — definitive Account language button contrast fix.
   Actual markup uses .language-row > .lang-btn. */
.language-row .lang-btn{
  background:#343b48!important;
  color:#ffffff!important;
  border:2px solid #4b5565!important;
  opacity:1!important;
  -webkit-text-fill-color:#ffffff!important;
  font-weight:750!important;
}
.language-row .lang-btn.active{
  background:#f58a62!important;
  color:#111827!important;
  border-color:#e96f43!important;
  outline:none!important;
  -webkit-text-fill-color:#111827!important;
  box-shadow:0 0 0 2px rgba(245,138,98,.18)!important;
}
html[data-platform-theme="light"] .language-row .lang-btn{
  background:#344054!important;
  color:#ffffff!important;
  border-color:#475467!important;
  -webkit-text-fill-color:#ffffff!important;
}
html[data-platform-theme="light"] .language-row .lang-btn.active{
  background:#f58a62!important;
  color:#111827!important;
  border-color:#e96f43!important;
  -webkit-text-fill-color:#111827!important;
}
.language-row .lang-btn:hover:not(.active),
html[data-platform-theme="light"] .language-row .lang-btn:hover:not(.active){
  background:#475467!important;
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
}

/* =========================================================
   v42 — Settings + Location Management Redesign
   ========================================================= */
.modern-settings-dialog{
  width:min(1180px,96vw)!important;
  height:min(920px,calc(100vh - 24px))!important;
  max-height:calc(100vh - 24px)!important;
  padding:0!important;
  overflow:hidden!important;
  border-radius:22px!important;
}
@supports (height:100dvh){
  .modern-settings-dialog{
    height:min(920px,calc(100dvh - 24px))!important;
    max-height:calc(100dvh - 24px)!important;
  }
}
.modern-settings-shell{
  display:grid;
  grid-template-rows:auto minmax(0,1fr);
  position:relative;
  height:100%;
  max-height:none;
  min-height:0;
  overflow:hidden;
}
.modern-settings-head{
  padding:22px 26px 17px!important;
  border-bottom:1px solid rgba(255,255,255,.07)!important;
  position:relative;
  z-index:5;
  background:#151d28;
}
.modern-settings-title-wrap{display:flex;gap:14px;align-items:flex-start}
.modern-settings-icon{
  width:50px;height:50px;display:grid;place-items:center;flex:0 0 50px;
  border-radius:14px;background:linear-gradient(135deg,#7657ff,#4a34a3);
  color:#fff;font-size:22px;font-weight:900
}
.modern-settings-head .eyebrow{color:#a78cff}
.modern-settings-head h3{margin:2px 0 4px!important;font-size:28px!important}
.modern-settings-head small{color:#8d97a8}
.modern-settings-close{width:48px!important;height:48px!important;border-radius:50%!important;font-size:26px!important}
.settings-back-to-top{
  position:absolute;
  right:18px;
  bottom:calc(18px + env(safe-area-inset-bottom,0px));
  z-index:40;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:86px;
  min-height:44px;
  padding:10px 14px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:999px;
  background:#6d4aff;
  color:#fff;
  font-weight:850;
  box-shadow:0 10px 28px rgba(0,0,0,.32)
}
.settings-back-to-top:active{transform:translateY(1px)}
@media(min-width:901px){.settings-back-to-top{display:none!important}}

.modern-settings-body{
  display:grid;
  grid-template-columns:250px minmax(0,1fr);
  min-height:0;
  overflow:hidden;
}
.settings-side-summary{
  padding:22px 18px;
  border-right:1px solid rgba(255,255,255,.07);
  background:rgba(255,255,255,.018);
  display:grid;
  align-content:start;
  gap:12px
}
.settings-business-badge{
  width:58px;height:58px;border-radius:16px;display:grid;place-items:center;
  background:linear-gradient(135deg,#7657ff,#4a34a3);color:#fff;font-size:25px;font-weight:950
}
.settings-side-summary>div:nth-child(2){display:grid;gap:3px}
.settings-side-summary>div:nth-child(2)>b{font-size:18px}
.settings-side-summary>div:nth-child(2)>small{color:#8d97a8}
.settings-side-kpis{display:grid;gap:8px;margin-top:8px}
.settings-side-kpis>div{
  display:grid;gap:3px;padding:11px;border:1px solid rgba(255,255,255,.07);
  border-radius:11px;background:rgba(255,255,255,.02)
}
.settings-side-kpis span{font-size:11px;color:#8d97a8}
.settings-side-kpis b{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

.modern-settings-content{
  min-height:0;
  overflow-y:auto;
  overflow-x:hidden;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior:contain;
  touch-action:pan-y;
  padding:20px;
  display:grid;
  gap:14px
}
.modern-settings-section{
  border:1px solid rgba(255,255,255,.08);
  border-radius:16px;
  background:rgba(255,255,255,.02);
  padding:16px
}
.modern-settings-section-head{
  display:flex;justify-content:space-between;align-items:flex-start;gap:14px;
  margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.06)
}
.modern-settings-section-head .eyebrow{color:#9e85ff}
.modern-settings-section-head h4{margin:2px 0 3px!important;font-size:19px!important}
.modern-settings-section-head small{color:#8d97a8}
.modern-settings-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:13px 15px
}
.modern-settings-grid .span-2{grid-column:1/-1}
.modern-settings-grid label,.exchange-rate-row label{
  display:grid;gap:7px;font-size:12px;font-weight:800;color:#d8dee9
}
.modern-settings-grid input,.modern-settings-grid select,.exchange-rate-row input{
  min-height:44px!important;border-radius:10px!important
}
.modern-settings-actions{
  display:flex;justify-content:flex-end;margin-top:14px
}
.modern-settings-actions button{min-height:44px;min-width:170px}
.exchange-rate-row{
  display:grid;grid-template-columns:1fr auto;gap:12px;align-items:end
}
.exchange-rate-row button{min-height:44px}

.modern-location-list{display:grid;gap:10px}
.modern-location-list .settings-location-row{
  border:1px solid rgba(255,255,255,.075)!important;
  border-radius:12px!important;
  padding:12px 13px!important;
  background:rgba(255,255,255,.018)!important
}

.account-settings-grid{
  display:grid;
  grid-template-columns:1.5fr 1fr 1fr;
  gap:12px
}
.account-language-block{
  display:grid;gap:8px;padding:12px;border:1px solid rgba(255,255,255,.07);border-radius:12px
}
.account-info-card{
  display:grid;gap:5px;padding:12px;border:1px solid rgba(255,255,255,.07);border-radius:12px
}
.account-info-card span{font-size:11px;color:#8d97a8}
.account-info-card b{font-size:13px;overflow-wrap:anywhere}
.danger-outline{border-color:rgba(255,120,120,.3)!important;color:#ffb0a8!important}

/* Location editor */
.modern-location-dialog{
  width:min(760px,94vw)!important;
  max-height:92vh!important;
  padding:0!important;
  overflow:hidden!important;
  border-radius:22px!important
}
.modern-location-form{display:grid;grid-template-rows:auto 1fr auto;max-height:90vh;min-height:0}
.modern-location-head{padding:20px 22px 16px!important;border-bottom:1px solid rgba(255,255,255,.07)!important}
.modern-location-title-wrap{display:flex;gap:13px;align-items:flex-start}
.modern-location-icon{
  width:46px;height:46px;display:grid;place-items:center;flex:0 0 46px;
  border-radius:13px;background:linear-gradient(135deg,#7657ff,#4a34a3);color:#fff;font-size:20px;font-weight:900
}
.modern-location-head .eyebrow{color:#a78cff}
.modern-location-head h3{margin:2px 0 4px!important;font-size:25px!important}
.modern-location-head small{color:#8d97a8}
.modern-location-close{width:44px!important;height:44px!important;border-radius:50%!important;font-size:24px!important}
.modern-location-grid{
  display:grid;grid-template-columns:1fr 1fr;gap:13px 15px;padding:18px 22px;overflow:auto
}
.modern-location-grid .span-2{grid-column:1/-1}
.modern-location-grid label{display:grid;gap:7px;font-size:12px;font-weight:800}
.modern-location-grid input,.modern-location-grid select{min-height:44px!important;border-radius:10px!important}
.modern-active-toggle{
  grid-template-columns:auto 1fr!important;align-items:start!important;padding:12px;
  border:1px solid rgba(255,255,255,.07);border-radius:11px;background:rgba(255,255,255,.018)
}
.modern-active-toggle input{width:18px!important;min-height:18px!important;margin-top:2px}
.modern-active-toggle span{display:grid;gap:2px}
.modern-active-toggle small{color:#8d97a8;font-weight:500}
.modern-location-footer{
  display:flex!important;justify-content:flex-end!important;gap:10px!important;
  padding:14px 22px 17px!important;margin:0!important;border-top:1px solid rgba(255,255,255,.07)
}
.modern-location-footer button{min-width:125px;min-height:44px}

/* Light theme */
html[data-platform-theme="light"] .modern-settings-section,
html[data-platform-theme="light"] .settings-side-summary,
html[data-platform-theme="light"] .settings-side-kpis>div,
html[data-platform-theme="light"] .account-language-block,
html[data-platform-theme="light"] .account-info-card,
html[data-platform-theme="light"] .modern-location-list .settings-location-row,
html[data-platform-theme="light"] .modern-active-toggle{
  background:#fff!important;
  border-color:rgba(16,24,40,.1)!important
}
html[data-platform-theme="light"] .settings-side-summary{border-right-color:rgba(16,24,40,.08)!important}
html[data-platform-theme="light"] .modern-settings-section-head,
html[data-platform-theme="light"] .modern-settings-head,
html[data-platform-theme="light"] .modern-location-head,
html[data-platform-theme="light"] .modern-location-footer{
  border-color:rgba(16,24,40,.08)!important
}
html[data-platform-theme="light"] .modern-settings-grid label,
html[data-platform-theme="light"] .exchange-rate-row label{
  color:#344054!important
}
html[data-platform-theme="light"] .settings-side-summary small,
html[data-platform-theme="light"] .settings-side-kpis span,
html[data-platform-theme="light"] .modern-settings-section-head small,
html[data-platform-theme="light"] .account-info-card span,
html[data-platform-theme="light"] .modern-location-head small,
html[data-platform-theme="light"] .modern-active-toggle small{
  color:#667085!important
}

@media(max-width:900px){
  .modern-settings-body{
    display:block;
    min-height:0;
    overflow-y:auto;
    overflow-x:hidden;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior:contain;
    touch-action:pan-y
  }
  .modern-settings-content{overflow:visible;min-height:auto}
  .settings-side-summary{border-right:0;border-bottom:1px solid rgba(255,255,255,.07);grid-template-columns:auto 1fr}
  .settings-side-kpis{grid-column:1/-1;grid-template-columns:repeat(3,1fr)}
  .account-settings-grid{grid-template-columns:1fr}
}
@media(max-width:650px){
  .modern-settings-dialog{
    width:calc(100vw - 12px)!important;
    height:calc(var(--modal-visual-height,100vh) - 12px)!important;
    max-height:calc(var(--modal-visual-height,100vh) - 12px)!important;
    margin-block:max(6px,env(safe-area-inset-top)) max(6px,env(safe-area-inset-bottom))!important
  }
  @supports (height:100dvh){
    .modern-settings-dialog{
      height:calc(var(--modal-visual-height,100dvh) - max(12px,env(safe-area-inset-top)) - max(12px,env(safe-area-inset-bottom)))!important;
      max-height:calc(var(--modal-visual-height,100dvh) - max(12px,env(safe-area-inset-top)) - max(12px,env(safe-area-inset-bottom)))!important
    }
  }
  .modern-settings-head{padding:14px 14px 12px!important}
  #settingsDialog input,
  #settingsDialog select,
  #settingsDialog textarea{font-size:16px!important}
  .modern-settings-title-wrap{gap:10px;min-width:0}
  .modern-settings-icon{width:42px;height:42px;flex-basis:42px;border-radius:12px}
  .modern-settings-head h3{font-size:23px!important}
  .modern-settings-head small{display:block;font-size:11px;line-height:1.3}
  .modern-settings-close{flex:0 0 46px;width:46px!important;height:46px!important}
  .modern-settings-content{padding:14px 12px calc(82px + env(safe-area-inset-bottom))}
  .modern-settings-grid,.exchange-rate-row,.modern-location-grid{grid-template-columns:1fr}
  .modern-settings-grid .span-2,.modern-location-grid .span-2{grid-column:auto}
  .modern-settings-section-head{flex-direction:column}
  .settings-side-kpis{grid-template-columns:1fr}
  .modern-settings-actions button{width:100%}
  .modern-location-footer button{flex:1;min-width:0}
}

html.settings-modal-open,
body.settings-modal-open{
  overflow:hidden!important;
  overscroll-behavior:none!important;
}
body.settings-modal-open{
  position:fixed;
  left:0;
  right:0;
  width:100%;
}

/* =========================================================
   v43 — Team & invitation management
   ========================================================= */
.team-summary-strip{
  display:grid;grid-template-columns:repeat(3,1fr);border:1px solid rgba(255,255,255,.075);
  border-radius:12px;overflow:hidden;margin-bottom:12px;background:rgba(255,255,255,.015)
}
.team-summary-strip>div{display:grid;gap:4px;padding:11px 13px}
.team-summary-strip>div+div{border-left:1px solid rgba(255,255,255,.07)}
.team-summary-strip span{font-size:11px;color:#8d97a8}
.team-summary-strip b{font-size:16px}
.team-members-list,.team-invites-list{display:grid;gap:8px}
.team-member-row{
  display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:11px;
  padding:11px 12px;border:1px solid rgba(255,255,255,.07);border-radius:12px;background:rgba(255,255,255,.018)
}
.team-member-row.is-inactive{opacity:.62}
.team-avatar{
  width:38px;height:38px;display:grid;place-items:center;border-radius:11px;
  background:#252047;color:#b5a5ff;font-weight:950
}
.team-member-main{display:grid;gap:2px;min-width:0}
.team-member-main b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.team-member-main small{color:#8d97a8}
.team-role-select{min-height:38px!important;padding:7px 30px 7px 10px!important;border-radius:9px!important}
.role-pill{display:inline-flex;padding:7px 10px;border-radius:999px;background:#303846;color:#fff;font-size:12px;font-weight:800}
.role-owner{background:rgba(118,87,255,.24);color:#c5b8ff}
.role-admin{background:rgba(245,138,98,.18);color:#ffb292}
.team-invites-wrap{margin-top:15px;padding-top:13px;border-top:1px solid rgba(255,255,255,.07)}
.team-subhead{display:flex;justify-content:space-between;gap:10px;align-items:end;margin-bottom:9px}
.team-subhead small{color:#8d97a8}
.team-invite-row{
  display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;
  border:1px dashed rgba(167,140,255,.28);border-radius:11px;background:rgba(118,87,255,.045)
}
.team-invite-row>div:first-child{display:grid;gap:2px}
.team-invite-row small{color:#8d97a8}
.invite-code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:1.5px;font-size:16px}
.team-invite-actions{display:flex;gap:7px}
.compact-empty{padding:12px!important}

.modern-team-invite-dialog{width:min(650px,94vw)!important;padding:0!important;border-radius:20px!important;overflow:hidden!important}
.team-invite-shell{display:grid}
.team-invite-body{display:grid;grid-template-columns:1fr 1fr;gap:13px;padding:18px 22px}
.team-invite-body>label{display:grid;gap:7px;font-size:12px;font-weight:800}
.team-invite-body select{min-height:44px!important;border-radius:10px!important}
.role-guide{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.role-guide>div{display:grid;gap:3px;padding:10px;border:1px solid rgba(255,255,255,.07);border-radius:10px}
.role-guide small{color:#8d97a8}
.created-invite-result{
  grid-column:1/-1;padding:13px;border:1px solid rgba(73,211,134,.28);border-radius:12px;background:rgba(73,211,134,.06);display:grid;gap:8px
}
.created-invite-result.hidden{display:none!important}
.created-invite-result>span{font-size:11px;color:#8d97a8;text-transform:uppercase;letter-spacing:.08em}
.created-invite-result>div{display:flex;justify-content:space-between;align-items:center;gap:10px}
.created-invite-result b{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:22px;letter-spacing:2px}
.created-invite-result small{color:#8d97a8}

html[data-platform-theme="light"] .team-summary-strip,
html[data-platform-theme="light"] .team-member-row,
html[data-platform-theme="light"] .role-guide>div{
  background:#fff!important;border-color:rgba(16,24,40,.1)!important
}
html[data-platform-theme="light"] .team-summary-strip>div+div,
html[data-platform-theme="light"] .team-invites-wrap{border-color:rgba(16,24,40,.08)!important}
html[data-platform-theme="light"] .team-avatar{background:#f0edff!important;color:#6549df!important}
html[data-platform-theme="light"] .team-invite-row{background:#faf9ff!important;border-color:#cfc5ff!important}
html[data-platform-theme="light"] .team-member-main small,
html[data-platform-theme="light"] .team-summary-strip span,
html[data-platform-theme="light"] .team-subhead small,
html[data-platform-theme="light"] .team-invite-row small,
html[data-platform-theme="light"] .role-guide small,
html[data-platform-theme="light"] .created-invite-result small,
html[data-platform-theme="light"] .created-invite-result>span{color:#667085!important}
html[data-platform-theme="light"] .role-pill{background:#e9edf3!important;color:#344054!important}
html[data-platform-theme="light"] .role-owner{background:#f0edff!important;color:#5137bd!important}

@media(max-width:760px){
  .team-member-row{grid-template-columns:auto minmax(0,1fr)}
  .team-member-role,.team-active-btn{grid-column:2}
  .team-invite-row{align-items:flex-start;flex-direction:column}
  .team-summary-strip{grid-template-columns:1fr}
  .team-summary-strip>div+div{border-left:0;border-top:1px solid rgba(255,255,255,.07)}
  .team-invite-body{grid-template-columns:1fr}
  .role-guide{grid-template-columns:1fr}
}

/* v43.1 team loading reliability */
.team-load-status{padding:12px 13px;border:1px solid rgba(255,255,255,.07);border-radius:10px;color:#9aa4b4;background:rgba(255,255,255,.018);margin-bottom:10px}
.team-load-status.hidden{display:none!important}
.team-load-status.error{color:#ffb0a8;border-color:rgba(255,128,112,.26);background:rgba(255,128,112,.06)}
.team-retry-btn{margin-top:10px}
.team-retry-btn.hidden{display:none!important}
html[data-platform-theme="light"] .team-load-status{color:#667085;border-color:rgba(16,24,40,.1);background:#f8fafc}
html[data-platform-theme="light"] .team-load-status.error{color:#b42318;border-color:#fecdca;background:#fef3f2}

/* v44 — small-business onboarding */
.onboarding-wizard-dialog{width:min(980px,94vw);max-width:980px;padding:0;overflow:hidden}
.onboarding-wizard-shell{background:var(--panel,#151c26)}
.onboarding-wizard-head{padding:28px 30px 22px;border-bottom:1px solid var(--border,#2a3442)}
.onboarding-wizard-head h3{font-size:30px;margin:4px 0 5px}
.onboarding-progress{display:flex;align-items:center;padding:18px 30px;background:rgba(111,76,255,.06);border-bottom:1px solid var(--border,#2a3442)}
.onboarding-progress-step{display:flex;align-items:center;gap:9px;color:var(--muted,#9ba7b8);font-weight:800;font-size:13px;white-space:nowrap}
.onboarding-progress-step b{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--surface-2,#252d39);border:1px solid var(--border,#344050)}
.onboarding-progress-step.active{color:var(--text,#fff)}
.onboarding-progress-step.active b{background:#6946e8;color:#fff;border-color:#805fff}
.onboarding-progress-line{height:1px;background:var(--border,#344050);flex:1;margin:0 12px}
.onboarding-wizard-body{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.8fr);gap:22px;padding:26px 30px}
.onboarding-form-panel{min-width:0}
.onboarding-form-panel .form-grid{gap:18px}
.onboarding-form-panel label{font-weight:800}
.onboarding-form-panel input,.onboarding-form-panel select{margin-top:8px}
.create-business-status{margin-top:18px;padding:12px 14px;border-radius:12px;background:var(--surface-2,#202833);border:1px solid var(--border,#303b49)}
.onboarding-ready-panel{border:1px solid var(--border,#303b49);background:var(--surface-2,#202833);border-radius:18px;padding:22px}
.onboarding-ready-icon{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:rgba(44,203,124,.14);color:#45d58b;font-size:24px;font-weight:900;margin-bottom:16px}
.onboarding-ready-panel h4{font-size:21px;margin:5px 0 17px}
.onboarding-ready-item{padding:13px 0;border-top:1px solid var(--border,#303b49);display:grid;gap:3px}
.onboarding-ready-item b{font-size:14px}.onboarding-ready-item span{font-size:12px;color:var(--muted,#9ba7b8);line-height:1.45}
.onboarding-wizard-actions{padding:0 30px 28px;display:grid;grid-template-columns:160px 1fr;gap:12px}
.onboarding-wizard-actions .primary{min-height:52px}
@media(max-width:760px){.onboarding-wizard-body{grid-template-columns:1fr;padding:20px}.onboarding-ready-panel{display:none}.onboarding-wizard-head{padding:22px 20px 18px}.onboarding-progress{padding:14px 20px}.onboarding-progress-step span{display:none}.onboarding-wizard-actions{padding:0 20px 22px;grid-template-columns:1fr 1.5fr}.onboarding-wizard-head h3{font-size:25px}}
.created-invite-result.invite-error{border-color:rgba(248,113,113,.45);background:rgba(127,29,29,.16)}
.created-invite-result.invite-error #createdInviteCode{font-size:14px;letter-spacing:0;overflow-wrap:anywhere;color:#fecaca}

/* v45.1 — role-safe settings visibility + signed-in user indicator */
.role-hidden,[hidden]{display:none!important}
html[data-business-role="staff"] #businessSettingsSection,
html[data-business-role="staff"] #currencySettingsSection,
html[data-business-role="staff"] #locationSettingsSection,
html[data-business-role="staff"] #teamSettingsSection{display:none!important}
.signed-in-user-chip{display:flex;align-items:center;gap:8px;min-height:42px;padding:5px 10px 5px 6px;border-radius:999px;background:#30343e;border:1px solid rgba(255,255,255,.08);color:var(--text);max-width:190px}
.signed-in-avatar{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#7450ef,#5a38cf);font-weight:900;color:#fff;flex:0 0 30px}
.signed-in-copy{display:grid;line-height:1.12;min-width:0}.signed-in-copy b{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.signed-in-copy small{font-size:10px;color:var(--muted);margin-top:2px}
html[data-platform-theme="light"] .signed-in-user-chip{background:#f8fafc;border-color:rgba(24,32,43,.13);color:#18202b}
@media(max-width:760px){.signed-in-user-chip{max-width:150px}.signed-in-copy b{max-width:86px}}


/* v45.2 — compact header tools menu + readable signed-in identity */
.header-actions{align-items:center;flex-wrap:nowrap}
.tools-menu-wrap{position:relative}
.tools-menu-btn{display:flex;align-items:center;gap:6px;white-space:nowrap}
.tools-menu{position:absolute;right:0;top:calc(100% + 10px);width:220px;padding:8px;background:var(--panel);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);z-index:80}
.tools-menu-item{display:block;width:100%;padding:12px 13px;border-radius:11px;background:transparent;color:var(--text);text-align:left;font-weight:750}
.tools-menu-item:hover{background:var(--panel2)}
.signed-in-user-chip{max-width:250px;min-width:145px;cursor:pointer}
.signed-in-copy b{max-width:175px}
@media(max-width:900px){.signed-in-user-chip{max-width:190px;min-width:0}.signed-in-copy b{max-width:115px}}
@media(max-width:700px){.app-header{gap:12px}.header-actions{gap:6px;flex-wrap:wrap}.signed-in-user-chip{max-width:160px}.signed-in-copy b{max-width:92px}.tools-menu{right:auto;left:0}}

/* v45.3 compact header enforcement */
@media (min-width: 901px){
 .app-header{display:grid!important;grid-template-columns:minmax(220px,1fr) auto!important;align-items:start!important}
 .header-actions{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:10px!important;flex-wrap:nowrap!important}
 #toolsMenuWrap{display:block!important;flex:0 0 auto!important}
 #toolsMenuBtn{display:inline-flex!important;align-items:center!important}
 #signedInUserChip{min-width:180px!important;max-width:260px!important}
 #signedInUserName{max-width:180px!important}
}

/* v45.4 — responsive near-full-width desktop shell */
@media (min-width: 901px){
  .shell{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding-left:clamp(22px,2.2vw,38px)!important;
    padding-right:clamp(22px,2.2vw,38px)!important;
    padding-bottom:32px!important;
  }
  #appScreen{
    width:100%!important;
    max-width:none!important;
  }
}
@media (min-width: 1500px){
  .shell{
    padding-left:clamp(32px,2.5vw,52px)!important;
    padding-right:clamp(32px,2.5vw,52px)!important;
  }
}

/* v46 first-time setup guide */
.setup-guide-dialog{max-width:980px;width:min(94vw,980px)}
.setup-guide-shell{padding:0}
.setup-guide-head{padding:26px 28px;border-bottom:1px solid var(--border)}
.setup-guide-head h3{margin:4px 0 4px;font-size:30px}
.setup-guide-progress{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-bottom:1px solid var(--border);background:rgba(255,255,255,.015)}
.setup-guide-progress>div{padding:15px 20px;border-right:1px solid var(--border);display:flex;flex-direction:column;gap:3px}
.setup-guide-progress>div:last-child{border-right:0}.setup-guide-progress span{font-size:12px;color:var(--muted)}.setup-guide-progress b{font-size:14px}
.setup-guide-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:22px 28px}
.setup-guide-card{border:1px solid var(--border);border-radius:18px;padding:18px;display:grid;grid-template-columns:44px 1fr;gap:14px;background:var(--panel);min-height:160px}
.setup-guide-card.done{background:linear-gradient(135deg,rgba(47,204,113,.08),transparent 60%),var(--panel)}
.setup-step-icon{width:42px;height:42px;border-radius:13px;background:rgba(125,87,255,.16);display:grid;place-items:center;font-weight:900;font-size:18px}.setup-guide-card.done .setup-step-icon{background:rgba(47,204,113,.16)}
.setup-guide-card h4{font-size:20px;margin:4px 0 7px}.setup-guide-card p{color:var(--muted);margin:0 0 14px;line-height:1.45}.setup-guide-actions{display:flex;gap:8px;flex-wrap:wrap}
.setup-guide-tip{margin:0 28px 20px;padding:14px 16px;border-radius:14px;background:rgba(125,87,255,.08);display:flex;gap:8px;flex-wrap:wrap}.setup-guide-tip span{color:var(--muted)}
.setup-guide-footer{padding:0 28px 26px}.setup-guide-footer .primary{min-width:220px}
@media(max-width:760px){.setup-guide-progress{grid-template-columns:1fr 1fr}.setup-guide-progress>div:nth-child(2){border-right:0}.setup-guide-grid{grid-template-columns:1fr;padding:16px}.setup-guide-head{padding:20px}.setup-guide-tip{margin:0 16px 16px}.setup-guide-footer{padding:0 16px 20px}.setup-guide-actions{flex-direction:column}.setup-guide-actions button{width:100%}}
/* v47 category management */
.category-admin-summary{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:12px 14px;margin:14px 0;border:1px solid var(--line);border-radius:14px;background:var(--panel-2)}
.category-admin-summary span{font-weight:800}.category-admin-summary small{color:var(--muted);text-align:right}
.category-admin-list{display:grid;gap:10px}.category-admin-row{display:grid;grid-template-columns:minmax(180px,1fr) 130px 100px auto;gap:12px;align-items:center;padding:14px;border:1px solid var(--line);border-radius:16px;background:var(--panel-2)}
.category-admin-row.is-inactive{opacity:.62}.category-admin-row .cat-name{display:flex;flex-direction:column;gap:3px}.category-admin-row .cat-name small{color:var(--muted)}
.category-type-pill{display:inline-flex;width:max-content;padding:6px 10px;border-radius:999px;background:var(--chip);font-size:.82rem;font-weight:800;text-transform:capitalize}.category-status-pill{font-size:.82rem;font-weight:800;color:var(--muted)}
.category-dialog{max-width:560px}.category-dialog .dialog-form{display:grid;gap:16px;padding:20px}.checkbox-row{display:flex!important;align-items:center;gap:10px}.checkbox-row input{width:auto!important}
@media(max-width:760px){.category-admin-row{grid-template-columns:1fr 1fr}.category-admin-row .cat-actions{grid-column:1/-1}.category-admin-summary{align-items:flex-start;flex-direction:column}.category-admin-summary small{text-align:left}}


/* v47.1 settings section navigation */
.settings-section-nav{display:grid;gap:7px;margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}
.settings-section-nav button{appearance:none;border:1px solid transparent;background:transparent;color:var(--muted);border-radius:12px;padding:10px 12px;text-align:left;font:inherit;font-weight:800;cursor:pointer;transition:.16s ease}
.settings-section-nav button:hover,.settings-section-nav button.is-active{background:var(--panel-2);color:var(--text);border-color:var(--line)}
.settings-section-nav button[hidden]{display:none!important}
.modern-settings-section{scroll-margin-top:18px}
@media(max-width:900px){.settings-section-nav{grid-template-columns:repeat(3,minmax(0,1fr))}.settings-section-nav button{text-align:center;padding:9px 8px;font-size:13px}}
@media(max-width:620px){.settings-section-nav{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* v48 Business Profile & Branding */
:root{--brand-accent:#6d4aff}
.business-profile-preview{display:flex;align-items:center;gap:14px;padding:16px;border:1px solid var(--line);border-radius:16px;background:var(--panel-2,#292d37);margin:4px 0 16px}
.business-profile-preview small{display:block;color:var(--muted);margin-top:4px}
.profile-logo-preview{width:58px;height:58px;flex:0 0 58px;border-radius:17px;display:grid;place-items:center;font-size:24px;font-weight:900;color:white;overflow:hidden}
.profile-logo-preview img,.dashboard-business-mark.has-logo img{width:100%;height:100%;object-fit:cover;display:block}
.brand-color-row{display:grid;grid-template-columns:58px 1fr;gap:9px;margin-top:7px}.brand-color-row input{margin-top:0}.brand-color-row input[type=color]{padding:4px;height:48px;cursor:pointer}
.field-help{display:block;color:var(--muted);font-weight:500;margin-top:7px;line-height:1.35}
.dashboard-business-mark{background:var(--brand-accent)}

/* =========================================================
   v48.1 — Settings Sidebar Scrolling + Compact Navigation
   ========================================================= */
@media (min-width:901px){
  .modern-settings-body{
    min-height:0;
    height:100%;
  }
  .settings-side-summary{
    min-height:0;
    max-height:100%;
    overflow-y:auto;
    overflow-x:hidden;
    overscroll-behavior:contain;
    scrollbar-gutter:stable;
    padding:18px 14px 22px;
    gap:9px;
  }
  .settings-business-badge{
    width:54px;height:54px;flex-basis:54px;
  }
  .settings-side-kpis{
    gap:6px;
    margin-top:5px;
  }
  .settings-side-kpis>div{
    padding:9px 10px;
  }
  .settings-section-nav{
    gap:4px;
    margin-top:10px;
    padding-top:10px;
  }
  .settings-section-nav button{
    padding:8px 10px;
    border-radius:10px;
    line-height:1.15;
  }
  .settings-side-summary::-webkit-scrollbar{width:8px}
  .settings-side-summary::-webkit-scrollbar-track{background:transparent}
  .settings-side-summary::-webkit-scrollbar-thumb{background:rgba(141,151,168,.42);border-radius:999px}
}

/* v48.3 — light theme menu contrast */
html[data-platform-theme="light"] .tools-menu{
  background:#ffffff!important;
  border-color:rgba(16,24,40,.14)!important;
  box-shadow:0 18px 45px rgba(16,24,40,.18)!important;
}
html[data-platform-theme="light"] .tools-menu-item{
  color:#101828!important;
  background:transparent!important;
}
html[data-platform-theme="light"] .tools-menu-item:hover,
html[data-platform-theme="light"] .tools-menu-item:focus-visible{
  background:#f2f4f7!important;
  color:#101828!important;
}
html[data-platform-theme="light"] .tools-menu-btn{
  color:#101828!important;
}

/* =========================================================
   v48.4 — Settings localization + guaranteed Light Tools contrast
   ========================================================= */
html[data-platform-theme="light"] #toolsMenu.tools-menu,
html[data-platform-theme="light"] .header-actions #toolsMenu{
  background:#ffffff !important;
  color:#101828 !important;
  border:1px solid #d0d5dd !important;
  box-shadow:0 18px 45px rgba(16,24,40,.20) !important;
}
html[data-platform-theme="light"] #toolsMenu .tools-menu-item,
html[data-platform-theme="light"] .header-actions #toolsMenu button{
  color:#101828 !important;
  background:#ffffff !important;
  opacity:1 !important;
}
html[data-platform-theme="light"] #toolsMenu .tools-menu-item:hover,
html[data-platform-theme="light"] #toolsMenu .tools-menu-item:focus-visible,
html[data-platform-theme="light"] .header-actions #toolsMenu button:hover{
  color:#101828 !important;
  background:#eef2f6 !important;
}

/* =========================================================
   v49.5 — complete Light Mode Transactions contrast
   ========================================================= */
html[data-platform-theme="light"] #listDialog,
html[data-platform-theme="light"] #listDialog .dialog-head,
html[data-platform-theme="light"] #listDialog .transaction-tools,
html[data-platform-theme="light"] #listDialog .transaction-count{
  background:#ffffff!important;
  color:#101828!important;
}
html[data-platform-theme="light"] #listDialog .dialog-head{
  border-bottom:1px solid #e4e7ec;
}
html[data-platform-theme="light"] #listDialog .transaction-tools{
  border-bottom:1px solid #eef0f3;
}
html[data-platform-theme="light"] #listDialog .transaction-tools label,
html[data-platform-theme="light"] #listDialog .transaction-count{
  color:#667085!important;
}
html[data-platform-theme="light"] #listDialog .transaction-row.managed{
  background:#f8fafc!important;
  color:#101828!important;
  border:1px solid #e4e7ec!important;
}
html[data-platform-theme="light"] #listDialog .transaction-main b{
  color:#101828!important;
}
html[data-platform-theme="light"] #listDialog .transaction-main small,
html[data-platform-theme="light"] #listDialog .money-secondary{
  color:#667085!important;
}
html[data-platform-theme="light"] #listDialog .transaction-row strong.expense{
  color:#b42318!important;
}
html[data-platform-theme="light"] #listDialog .transaction-row strong.income{
  color:#067647!important;
}
html[data-platform-theme="light"] #listDialog .transaction-actions button{
  background:#ffffff!important;
  color:#344054!important;
  border-color:#d0d5dd!important;
}
html[data-platform-theme="light"] #listDialog .transaction-actions .danger-text{
  background:#fff5f4!important;
  color:#b42318!important;
  border-color:#fecdca!important;
}
html[data-platform-theme="light"] #listDialog .transaction-actions button:hover{
  background:#f2f4f7!important;
}
html[data-platform-theme="light"] #listDialog .transaction-actions .danger-text:hover{
  background:#fee4e2!important;
}
html[data-platform-theme="light"] #listDialog .transaction-list{
  scrollbar-color:#98a2b3 #f2f4f7;
}
html[data-platform-theme="light"] #listDialog .transaction-list::-webkit-scrollbar-track{
  background:#f2f4f7;
}
html[data-platform-theme="light"] #listDialog .transaction-list::-webkit-scrollbar-thumb{
  background:#98a2b3;
  border-radius:999px;
}

/* v49.7 — safe spreadsheet import selection */
.import-choice-cell{text-align:center!important;vertical-align:middle!important}
.import-choice-cell .ir-include{width:18px!important;height:18px!important;min-width:18px!important;margin:0!important;accent-color:#6d4cff;cursor:pointer}
.import-duplicate{background:rgba(246,196,83,.06)}
.import-duplicate .import-status{color:#f6c453;font-weight:800}
html[data-platform-theme="light"] .import-duplicate{background:#fffaeb!important}
html[data-platform-theme="light"] .import-duplicate .import-status{color:#93370d!important}
html[data-platform-theme="light"] .import-table-wrap{border-color:#e4e7ec!important}
html[data-platform-theme="light"] .import-review-table th{background:#f2f4f7!important;color:#475467!important}
.import-build{display:inline-block;margin-left:6px;padding:2px 7px;border-radius:999px;background:rgba(109,76,255,.18);color:#c9bbff;font-size:10px;letter-spacing:.04em}
html[data-platform-theme="light"] .import-build{background:#eee9ff;color:#5138b8}

/* v49.11 — multi-select transaction deletion */
.transaction-bulk-actions{display:flex;align-items:center;gap:12px;padding:8px 0 10px;border-bottom:1px solid rgba(255,255,255,.08);font-size:13px}
.bulk-select-all{display:inline-flex!important;align-items:center;gap:8px;margin:0!important;color:inherit!important}
.bulk-select-all input,.tx-select{width:18px!important;height:18px!important;min-width:18px!important;margin:0!important;accent-color:#6d4cff;cursor:pointer}
.transaction-bulk-actions>span{color:var(--muted);margin-right:auto}
.bulk-selected-totals{display:flex;flex-direction:column;gap:2px;color:var(--muted);font-size:12px;text-align:right;white-space:nowrap}
.bulk-selected-totals b{color:inherit}
.transaction-bulk-actions button{padding:8px 12px;border-radius:10px;background:rgba(255,127,127,.08);color:#ff8c84;border:1px solid rgba(255,140,132,.28)}
.transaction-bulk-actions .bulk-clear-selection{background:transparent;color:var(--text);border-color:var(--line)}
.transaction-bulk-actions .bulk-export-selection{background:rgba(109,76,255,.12);color:#c9bbff;border-color:rgba(139,114,232,.5)}
.transaction-bulk-actions button:disabled{opacity:.45;cursor:not-allowed}
#listDialog .transaction-row.managed.selectable{grid-template-columns:auto minmax(0,1fr) auto auto}
#listDialog .transaction-row.managed.selected{outline:2px solid rgba(109,76,255,.55);background:rgba(109,76,255,.08)}
#listDialog .transaction-bulk-actions+.transaction-list{max-height:calc(90vh - 260px)!important}
html[data-platform-theme="light"] #listDialog .transaction-bulk-actions{background:#fff;color:#101828;border-color:#e4e7ec}
html[data-platform-theme="light"] #listDialog .transaction-bulk-actions>span{color:#667085}
html[data-platform-theme="light"] #listDialog .bulk-selected-totals{color:#475467}
html[data-platform-theme="light"] #listDialog .transaction-bulk-actions button{background:#fff5f4;color:#b42318;border-color:#fecdca}
html[data-platform-theme="light"] #listDialog .transaction-bulk-actions .bulk-clear-selection{background:#fff;color:#344054;border-color:#d0d5dd}
html[data-platform-theme="light"] #listDialog .transaction-bulk-actions .bulk-export-selection{background:#f4f0ff;color:#5138b8;border-color:#c7b9ff}
/* v49.14 — bulk edit selected transactions */
.transaction-bulk-actions .bulk-edit-selection{background:rgba(109,76,255,.12);color:#c9bbff;border-color:rgba(139,114,232,.5)}
.transaction-bulk-actions .bulk-select-filtered{background:rgba(109,76,255,.12);color:#c9bbff;border-color:rgba(139,114,232,.5)}
.bulk-edit-transactions-dialog{width:min(620px,94vw)!important}
.bulk-edit-form{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:18px 0}
.bulk-edit-form label:last-child{grid-column:1/-1}
.bulk-edit-form small{display:block;margin-top:7px;line-height:1.4}
html[data-platform-theme="light"] #listDialog .transaction-bulk-actions .bulk-edit-selection{background:#f4f0ff;color:#5138b8;border-color:#c7b9ff}
html[data-platform-theme="light"] #listDialog .transaction-bulk-actions .bulk-select-filtered{background:#f4f0ff;color:#5138b8;border-color:#c7b9ff}
html[data-platform-theme="light"] .bulk-edit-transactions-dialog input,html[data-platform-theme="light"] .bulk-edit-transactions-dialog select{background:#f8fafc!important;color:#101828!important;border-color:#d0d5dd!important}
html[data-platform-theme="light"] .bulk-edit-transactions-dialog label{color:#344054!important}
@media(max-width:620px){.bulk-edit-form{grid-template-columns:1fr}.bulk-edit-form label:last-child{grid-column:auto}}
/* v49.15 — category, payment, and location transaction filters */
#listDialog .transaction-advanced-filters{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:10px}
#listDialog .transaction-count{position:static!important}
#listDialog .transaction-list{max-height:calc(90vh - 330px)!important}
#listDialog .transaction-bulk-actions+.transaction-list{max-height:calc(90vh - 380px)!important}
@media(max-width:900px){#listDialog .transaction-advanced-filters{grid-template-columns:repeat(3,minmax(0,1fr))}#listDialog .transaction-list{max-height:calc(92vh - 470px)!important}#listDialog .transaction-bulk-actions+.transaction-list{max-height:calc(92vh - 540px)!important}}
@media(max-width:560px){#listDialog .transaction-advanced-filters{grid-template-columns:1fr}#listDialog .transaction-list{max-height:220px!important}#listDialog .transaction-bulk-actions+.transaction-list{max-height:150px!important}}
html[data-platform-theme="light"] #listDialog .transaction-row.managed.selected{background:#f4f0ff!important;outline-color:#8b72e8}
@media(max-width:780px){#listDialog .transaction-row.managed.selectable{grid-template-columns:auto minmax(0,1fr) auto}.transaction-row.managed.selectable .transaction-actions{grid-column:2/-1}}
@media(max-width:900px){.transaction-bulk-actions{flex-wrap:wrap}.transaction-bulk-actions>span{margin-right:0}.bulk-selected-totals{order:4;width:100%;text-align:left;white-space:normal}}

/* v49.16 — prevent Transactions controls from clipping at browser zoom and narrower desktops */
#listDialog.wide-dialog{width:calc(100vw - 24px)!important;max-width:1180px!important;margin:auto!important}
#listDialog .transaction-tools>*{min-width:0}
#listDialog .transaction-tools select,#listDialog .transaction-tools input{min-width:0;max-width:100%}
#listDialog #clearTxFilters{min-width:0;white-space:normal;line-height:1.15}
@media(max-width:1250px){
  #listDialog .transaction-tools{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  #listDialog .search-field{grid-column:auto}
  #listDialog .transaction-advanced-filters{grid-template-columns:repeat(3,minmax(0,1fr))}
  #listDialog .transaction-list{max-height:calc(90vh - 400px)!important}
  #listDialog .transaction-bulk-actions+.transaction-list{max-height:calc(90vh - 455px)!important}
}
@media(max-width:760px){
  #listDialog.wide-dialog{width:calc(100vw - 12px)!important;padding:12px!important}
  #listDialog .transaction-tools{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  #listDialog .search-field{grid-column:1/-1}
  #listDialog .transaction-advanced-filters{grid-template-columns:1fr!important}
  #listDialog .transaction-list{max-height:210px!important}
  #listDialog .transaction-bulk-actions+.transaction-list{max-height:145px!important}
}
@media(max-width:460px){#listDialog .transaction-tools{grid-template-columns:1fr!important}#listDialog .search-field{grid-column:auto}}

/* v49.17 — possible duplicate transaction finder */
#listDialog .tx-duplicate-filter{grid-column:1/-1;display:flex!important;align-items:center;gap:9px;margin:2px 0 0!important;padding:8px 10px;border:1px solid rgba(246,196,83,.28);border-radius:11px;background:rgba(246,196,83,.06);color:#f6c453!important}
#listDialog .tx-duplicate-filter label{display:flex!important;align-items:center;gap:9px;margin:0!important;color:inherit!important}
#listDialog .tx-duplicate-filter input{width:18px!important;height:18px!important;min-height:18px!important;margin:0!important;accent-color:#f6c453}
#listDialog .tx-duplicate-filter button{margin-left:auto;padding:7px 10px;border:1px solid rgba(246,196,83,.38);border-radius:9px;background:rgba(246,196,83,.12);color:#f6c453;font-weight:750}
.tx-duplicate-badge{display:inline-block;margin-left:7px;padding:2px 7px;border-radius:999px;background:rgba(246,196,83,.12);color:#f6c453;font-size:10px;line-height:1.4;vertical-align:middle}
html[data-platform-theme="light"] #listDialog .tx-duplicate-filter{background:#fffaeb;color:#93370d!important;border-color:#fedf89}
html[data-platform-theme="light"] #listDialog .tx-duplicate-badge{background:#fffaeb;color:#93370d}
html[data-platform-theme="light"] #listDialog .tx-duplicate-filter button{background:#fff7d6;color:#93370d;border-color:#fedf89}
@media(max-width:560px){#listDialog .tx-duplicate-filter{align-items:flex-start;flex-direction:column}#listDialog .tx-duplicate-filter button{margin-left:27px}}

/* v49.19 — collapsible compact dashboard for laptop screens */
.dashboard-compact-btn{width:auto!important;margin:0!important;min-height:48px;padding:0 16px!important;display:inline-flex;align-items:center;justify-content:center;gap:7px;white-space:nowrap;border:1px solid var(--v39-line)}
.dashboard-compact-btn[aria-pressed="true"]{background:rgba(109,76,255,.14);border-color:rgba(139,114,232,.55);color:#d8ceff}
html[data-platform-theme="light"] .dashboard-compact-btn{background:#f8fafc!important;color:#344054!important;border-color:#d0d5dd!important}
html.dashboard-compact .dashboard-modern-title,html.dashboard-compact .dashboard-status-strip{display:none!important}
html.dashboard-compact .dashboard-modern-head{justify-content:flex-end;padding:10px 2px 8px}
html.dashboard-compact .modern-hero-total{display:grid;grid-template-columns:auto auto 1fr;align-items:center;gap:14px;padding:14px 18px!important}
html.dashboard-compact .modern-hero-total .hero-number{font-size:34px!important;margin:0}
html.dashboard-compact .modern-hero-total .comparison{justify-self:end;margin:0}
html.dashboard-compact .period-tabs{margin:6px 0 8px}
html.dashboard-compact .period-tab{padding:8px}
html.dashboard-compact .period-nav{margin:2px 0 10px!important}
html.dashboard-compact .current-period-btn,html.dashboard-compact .period-label,html.dashboard-compact .day-date-picker{min-height:34px!important;padding-top:6px!important;padding-bottom:6px!important}
html.dashboard-compact .modern-metrics{margin-bottom:10px!important}
html.dashboard-compact .modern-metrics .metric-card{min-height:78px!important;padding:11px 14px!important}
html.dashboard-compact .modern-metrics .metric-card span{margin-bottom:4px}
html.dashboard-compact .modern-metrics .metric-card strong{font-size:19px}
html.dashboard-compact .modern-metrics .drill-hint{display:none}
@media(max-width:700px){.dashboard-compact-btn{order:3;width:100%!important}.dashboard-modern-actions{flex-wrap:wrap}html.dashboard-compact .dashboard-modern-head{display:block}html.dashboard-compact .modern-hero-total{grid-template-columns:1fr auto}html.dashboard-compact .modern-hero-total .comparison{grid-column:1/-1;justify-self:start}.dashboard-compact-btn{display:none}}

/* v49.20 — collapsible transaction filters and taller transaction list */
.transaction-head-actions{display:flex;align-items:center;gap:10px}
.transaction-filter-toggle{min-height:40px;padding:8px 13px;border:1px solid rgba(139,114,232,.5);border-radius:11px;background:rgba(109,76,255,.12);color:#c9bbff;font-weight:750}
#listDialog.filters-collapsed .transaction-tools{display:none!important}
#listDialog.filters-collapsed .transaction-count{padding:8px 0 10px;margin:0!important}
#listDialog.filters-collapsed .transaction-list{max-height:calc(90vh - 175px)!important}
#listDialog.filters-collapsed .transaction-bulk-actions+.transaction-list{max-height:calc(90vh - 225px)!important}
html[data-platform-theme="light"] #listDialog .transaction-filter-toggle{background:#f4f0ff;color:#5138b8;border-color:#c7b9ff}
@media(max-width:560px){.transaction-head-actions{gap:6px}.transaction-filter-toggle{min-height:38px;padding:7px 10px;font-size:13px}#listDialog.filters-collapsed .transaction-list{max-height:calc(92vh - 180px)!important}#listDialog.filters-collapsed .transaction-bulk-actions+.transaction-list{max-height:calc(92vh - 260px)!important}}

/* v49.21 — filtered transaction totals and export */
.transaction-results-summary{display:flex;align-items:center;gap:12px;padding:6px 0 9px;border-bottom:1px solid rgba(255,255,255,.08)}
.transaction-results-summary .transaction-count{margin:0!important;padding:0!important;white-space:nowrap}
.filtered-transaction-totals{margin-left:auto;color:var(--muted);font-size:12px;text-align:right;line-height:1.45}
.filtered-transaction-totals span{display:block}
.transaction-results-summary .bulk-export-selection{flex:0 0 auto;padding:8px 12px;border-radius:10px;background:rgba(109,76,255,.12);color:#c9bbff;border:1px solid rgba(139,114,232,.5);white-space:nowrap}
#listDialog.filters-collapsed .transaction-results-summary+.transaction-bulk-actions+.transaction-list{max-height:calc(90vh - 265px)!important}
#listDialog.filters-collapsed .transaction-results-summary+.transaction-list{max-height:calc(90vh - 210px)!important}
html[data-platform-theme="light"] #listDialog .transaction-results-summary{border-color:#e4e7ec}
html[data-platform-theme="light"] #listDialog .filtered-transaction-totals{color:#475467}
html[data-platform-theme="light"] #listDialog .transaction-results-summary .bulk-export-selection{background:#f4f0ff;color:#5138b8;border-color:#c7b9ff}
@media(max-width:820px){.transaction-results-summary{flex-wrap:wrap}.filtered-transaction-totals{order:3;width:100%;margin-left:0;text-align:left}.transaction-results-summary .bulk-export-selection{margin-left:auto}}

/* v49.22 — selectable compact transaction row density */
#listDialog.compact-rows .transaction-list{gap:6px}
#listDialog.compact-rows .transaction-row.managed{padding:8px 12px;border-radius:11px}
#listDialog.compact-rows .transaction-main small{margin-top:2px;font-size:11px}
#listDialog.compact-rows .transaction-main b{font-size:14px}
#listDialog.compact-rows .transaction-actions button{padding:5px 8px}
#listDialog.compact-rows .tx-select{width:16px!important;height:16px!important;min-width:16px!important}
#listDialog .transaction-filter-toggle[aria-pressed="true"]{background:rgba(109,76,255,.2);border-color:#8b72e8;color:#e4ddff}
html[data-platform-theme="light"] #listDialog .transaction-filter-toggle[aria-pressed="true"]{background:#eee9ff!important;color:#5138b8!important;border-color:#8b72e8!important}
@media(max-width:620px){#toggleTransactionDensity{display:none}}

/* v49.23 — transaction quick date presets */
#listDialog .transaction-date-presets{grid-column:1/-1;display:flex;align-items:center;gap:7px;flex-wrap:wrap;padding-top:2px}
#listDialog .transaction-date-presets>span{color:var(--muted);font-size:12px;font-weight:750;margin-right:2px}
#listDialog .transaction-date-presets button{padding:7px 10px;border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--muted);font-size:12px;font-weight:700}
#listDialog .transaction-date-presets button:hover,#listDialog .transaction-date-presets button.active{background:rgba(109,76,255,.16);border-color:#8b72e8;color:#d8ceff}
html[data-platform-theme="light"] #listDialog .transaction-date-presets button{background:#fff;color:#475467;border-color:#d0d5dd}
html[data-platform-theme="light"] #listDialog .transaction-date-presets button:hover,html[data-platform-theme="light"] #listDialog .transaction-date-presets button.active{background:#eee9ff;color:#5138b8;border-color:#8b72e8}

/* v49.24 — scalable transaction pagination */
.transaction-pagination{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding-top:10px;color:var(--muted);font-size:12px}
.transaction-pagination label{display:flex;align-items:center;gap:7px;margin:0;color:inherit}
.transaction-pagination select{width:auto;min-height:34px;margin:0;padding:6px 30px 6px 9px;border-radius:9px}
.transaction-pagination button{padding:7px 11px;border:1px solid var(--line);border-radius:9px;background:transparent;color:var(--text);font-weight:700}
.transaction-pagination button:disabled{opacity:.4;cursor:not-allowed}
#listDialog.filters-collapsed .transaction-results-summary+.transaction-bulk-actions+.transaction-list{max-height:calc(90vh - 310px)!important}
#listDialog.filters-collapsed .transaction-results-summary+.transaction-list{max-height:calc(90vh - 255px)!important}
html[data-platform-theme="light"] .transaction-pagination select,html[data-platform-theme="light"] .transaction-pagination button{background:#fff!important;color:#344054!important;border-color:#d0d5dd!important}
@media(max-width:560px){.transaction-pagination{justify-content:space-between;flex-wrap:wrap}.transaction-pagination label{order:2}.transaction-pagination span{width:100%;text-align:center}}

/* v49.27 — receipt status filter for bookkeeping follow-up */
@media(max-width:1050px){#listDialog .transaction-advanced-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){#listDialog .transaction-advanced-filters{grid-template-columns:1fr}}

/* v49.28 — remembers transaction workspace preferences */

/* v49.29 — amount sorting treats sales as positive and expenses as negative */

/* v49.30 — transaction CSV exports include receipt status and count */

/* v49.31 — visible missing-receipt warning on expense rows */
#listDialog .tx-missing-receipt{display:inline-flex;align-items:center;padding:5px 8px;border:1px solid rgba(246,196,83,.35);border-radius:8px;background:rgba(246,196,83,.09);color:#f6c453;font-size:11px;font-weight:750;white-space:nowrap}
html[data-platform-theme="light"] #listDialog .tx-missing-receipt{background:#fffaeb;color:#93370d;border-color:#fedf89}
#listDialog.compact-rows .tx-missing-receipt{padding:4px 7px;font-size:10px}
@media(max-width:680px){#listDialog .tx-missing-receipt{order:-1}}

/* v49.32 — transaction CSV exports preserve the visible sort order */

/* v49.33 — filtered Excel workbook export */
#listDialog .filtered-export-actions{display:flex;align-items:center;gap:8px;flex:0 0 auto}
#listDialog .filtered-export-actions .bulk-export-selection{margin-left:0}
@media(max-width:820px){#listDialog .filtered-export-actions{margin-left:auto;flex-wrap:wrap;justify-content:flex-end}}
@media(max-width:520px){#listDialog .filtered-export-actions{width:100%;margin-left:0}#listDialog .filtered-export-actions button{flex:1}}

/* v49.34 — selected Excel workbook export */
#listDialog .transaction-bulk-actions{flex-wrap:wrap}

/* v49.35 — Excel exports include financial and receipt summary worksheet */

/* v49.36 — Excel exports include category breakdown worksheet */

/* v49.37 — Excel exports include monthly breakdown worksheet */

/* v49.38 — Excel exports include vendor spending worksheet */

/* v49.39 — Excel exports include location performance worksheet */

/* v49.40 — Excel exports include missing receipt audit worksheet */

/* v49.41 — bundled Excel reporting enhancements */

/* v49.42 — expanded Excel analysis and workbook guide */

/* v49.43 — period trends, sales analysis, and data-quality reporting */

/* v49.44 — multi-page transaction selection and bulk actions */

/* v49.45 — precise duplicate detection and cross-page cleanup */

/* v49.46 — automatic transaction-sheet detection for multi-sheet imports */

/* v49.47 — dashboard data-quality filtering and row warnings */
.tx-quality-badge{display:inline-flex;align-items:center;margin-left:6px;padding:2px 7px;border-radius:999px;background:rgba(245,158,11,.12);border:1px solid rgba(245,158,11,.35);color:#fbbf24;font-size:11px;font-weight:800}
html[data-platform-theme="light"] .tx-quality-badge{background:#fffaeb;border-color:#fedf89;color:#b54708}

/* v49.25 — copy recurring transactions */
#listDialog .transaction-actions .tx-copy{color:#c9bbff;border-color:rgba(139,114,232,.42)}
html[data-platform-theme="light"] #listDialog .transaction-actions .tx-copy{background:#f4f0ff!important;color:#5138b8!important;border-color:#c7b9ff!important}

/* v49.48 — laptop-safe transaction workspace and edit return */
#listDialog[open]{
  display:grid!important;
  grid-template-rows:auto auto auto auto minmax(190px,1fr) auto;
  width:calc(100vw - 24px)!important;
  height:min(94vh,920px)!important;
  max-height:94vh!important;
  overflow:hidden!important
}
#listDialog .transaction-tools{
  max-height:38vh;
  overflow-y:auto;
  overscroll-behavior:contain;
  padding-right:6px
}
#listDialog .transaction-tools label{margin:0!important}
#listDialog .transaction-list,
#listDialog .transaction-bulk-actions+.transaction-list,
#listDialog.filters-collapsed .transaction-list,
#listDialog.filters-collapsed .transaction-bulk-actions+.transaction-list,
#listDialog.filters-collapsed .transaction-results-summary+.transaction-list,
#listDialog.filters-collapsed .transaction-results-summary+.transaction-bulk-actions+.transaction-list{
  height:100%!important;
  min-height:190px!important;
  max-height:none!important;
  overflow-y:auto!important;
  overscroll-behavior:contain
}
@media(max-height:800px){
  #listDialog[open]{grid-template-rows:auto auto auto auto minmax(170px,1fr) auto;height:96vh!important;max-height:96vh!important}
  #listDialog .transaction-tools{max-height:34vh}
  #listDialog .transaction-list,
  #listDialog .transaction-bulk-actions+.transaction-list{min-height:170px!important}
}

/* v49.49 — assistive bookkeeping category suggestions */

/* v49.50 — completed-quality state and direct receipt attachment */
#listDialog .tx-missing-receipt{cursor:pointer;font-family:inherit}
#listDialog .tx-missing-receipt:hover{background:rgba(246,196,83,.16)}
.tx-quality-success{display:grid!important;place-items:center;align-content:center;gap:8px;min-height:180px;text-align:center}
.tx-quality-success b{color:#9ee6b0;font-size:18px}
.tx-quality-success span{color:var(--muted);font-size:13px}
.tx-quality-success button{margin-top:5px;padding:9px 13px;border:1px solid rgba(139,114,232,.55);border-radius:10px;background:rgba(109,76,255,.13);color:#d8ceff;font-weight:800}
html[data-platform-theme="light"] .tx-quality-success b{color:#067647}
html[data-platform-theme="light"] .tx-quality-success button{background:#f4f0ff;color:#5138b8;border-color:#c7b9ff}

/* v49.51 — receipt coverage and one-click missing-receipt audit */
.receipt-coverage-quick{display:grid;gap:1px;flex:0 0 auto;padding:7px 10px;border:1px solid rgba(73,211,134,.28);border-radius:10px;background:rgba(73,211,134,.07);color:#9ee6b0;text-align:left;line-height:1.15}
.receipt-coverage-quick b{font-size:12px}.receipt-coverage-quick span{font-size:10px;color:var(--muted)}
.receipt-coverage-quick.has-missing{border-color:rgba(246,196,83,.35);background:rgba(246,196,83,.08);color:#f6c453}
.receipt-coverage-quick:hover,.receipt-coverage-quick.active{outline:2px solid rgba(139,114,232,.5)}
html[data-platform-theme="light"] .receipt-coverage-quick{background:#ecfdf3;color:#067647;border-color:#abefc6}
html[data-platform-theme="light"] .receipt-coverage-quick.has-missing{background:#fffaeb;color:#93370d;border-color:#fedf89}
@media(max-width:960px){.receipt-coverage-quick{order:4}.transaction-results-summary .filtered-export-actions{order:5}}

/* v49.52 — transaction history and recoverable Trash */
.transaction-safety-dialog[open]{width:min(1180px,calc(100vw - 28px));max-height:90vh;overflow:auto}
.transaction-safety-dialog .safety-list{max-height:68vh;overflow:auto}
.safety-row{grid-template-columns:minmax(260px,1fr) auto auto!important}
.history-list{display:grid;gap:12px;max-height:68vh;overflow:auto;padding:2px 5px 10px 0}
.history-card{padding:16px;border:1px solid var(--border);border-radius:14px;background:var(--panel-2)}
.history-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.history-card-head>div{display:grid;gap:4px}.history-card-head small{color:var(--muted)}
.history-card ul{margin:12px 0 0;padding-left:20px;color:var(--muted);font-size:13px}.history-card li+li{margin-top:5px}
.history-revert,.trash-restore,.trash-history{border:1px solid rgba(139,114,232,.5);background:rgba(109,76,255,.12);color:#d8ceff;border-radius:9px;padding:8px 10px;font-weight:800}
.history-current-badge{align-self:center;padding:6px 9px;border-radius:999px;background:rgba(73,211,134,.09);color:#9ee6b0;font-size:11px;font-weight:800}
.trash-permanent{border:1px solid rgba(255,120,115,.34);background:rgba(255,120,115,.08);border-radius:9px;padding:8px 10px}
#openTransactionTrash:not(:empty){white-space:nowrap}
html[data-platform-theme="light"] .history-revert,html[data-platform-theme="light"] .trash-restore,html[data-platform-theme="light"] .trash-history{background:#f4f0ff;color:#5138b8;border-color:#c7b9ff}
html[data-platform-theme="light"] .history-current-badge{background:#ecfdf3;color:#067647}
@media(max-width:760px){.safety-row{grid-template-columns:1fr!important}.safety-row .transaction-actions{justify-content:flex-start}.history-card-head{display:grid}}

/* v49.54 — compact receipt scanner workspace */
.modern-receipt-dialog[open]{
  width:min(1240px,calc(100vw - 28px))!important;
  height:min(94vh,900px)!important;
  max-height:94vh!important;
  overflow:hidden!important
}
.modern-receipt-shell{
  height:100%;
  max-height:none!important;
  grid-template-rows:auto auto auto auto minmax(260px,1fr)!important;
  overflow:hidden
}
.modern-receipt-head{padding:13px 20px 11px!important}
.modern-receipt-title-wrap{gap:11px!important;align-items:center!important}
.modern-receipt-icon{width:42px!important;height:42px!important;flex-basis:42px!important;border-radius:12px!important;font-size:19px!important}
.modern-receipt-head h3{font-size:23px!important;margin:0 0 2px!important}
.modern-receipt-head small{font-size:12px!important}
.modern-receipt-close{width:42px!important;height:42px!important;font-size:23px!important}
.modern-receipt-upload-card{
  grid-template-columns:minmax(300px,1fr) 210px auto!important;
  gap:10px!important;
  margin:10px 20px 8px!important;
  padding:10px 12px!important
}
.modern-receipt-upload-card label{gap:3px!important}
.modern-receipt-file{grid-template-columns:auto 1fr!important;column-gap:8px!important;align-items:center!important}
.modern-receipt-file small{font-size:11px!important;white-space:nowrap!important}
.modern-receipt-file input{grid-column:1/-1;margin-top:2px!important;padding:5px 8px!important;min-height:36px!important}
.modern-receipt-upload-card select,.modern-receipt-upload-card button{min-height:38px!important}
.modern-receipt-upload-card .bulk-status{margin-top:0!important;min-height:0!important;font-size:12px!important}
.modern-receipt-upload-card .bulk-status:empty{display:none}
.modern-receipt-summary{margin:0 20px 8px!important}
.modern-receipt-summary>div{gap:7px!important;padding:8px 12px!important}
.modern-receipt-summary b{font-size:17px!important}
.modern-receipt-toolbar{grid-template-columns:minmax(260px,1fr) 210px auto!important;gap:9px!important;padding:0 20px 8px!important}
.modern-receipt-search,.modern-receipt-toolbar select,.modern-receipt-toolbar button{min-height:38px!important}
.modern-receipt-content{
  margin-top:0!important;
  min-height:260px!important;
  height:100%!important;
  overflow-y:auto!important;
  overscroll-behavior:contain;
  padding:0 20px 16px!important
}
.modern-receipt-queue{margin-top:0!important;padding-bottom:8px}
@media(max-height:760px){
  .modern-receipt-dialog[open]{height:96vh!important;max-height:96vh!important}
  .modern-receipt-shell{grid-template-rows:auto auto auto auto minmax(220px,1fr)!important}
  .modern-receipt-head small,.modern-receipt-file small{display:none}
  .modern-receipt-head{padding-top:9px!important;padding-bottom:9px!important}
  .modern-receipt-upload-card{margin-top:7px!important;padding-top:8px!important;padding-bottom:8px!important}
  .modern-receipt-content{min-height:220px!important}
}
@media(max-width:900px){
  .modern-receipt-upload-card{grid-template-columns:minmax(0,1fr) minmax(170px,.55fr)!important}
  .modern-receipt-upload-card #startBulkUploadBtn{grid-column:2}
  .modern-receipt-toolbar{grid-template-columns:minmax(0,1fr) 190px auto!important}
}
@media(max-width:700px){
  .modern-receipt-dialog[open]{width:calc(100vw - 12px)!important;height:96vh!important;max-height:96vh!important}
  .modern-receipt-shell{display:flex!important;flex-direction:column!important;overflow-y:auto!important}
  .modern-receipt-upload-card,.modern-receipt-toolbar{grid-template-columns:1fr!important}
  .modern-receipt-upload-card #startBulkUploadBtn{grid-column:auto}
  .modern-receipt-summary{grid-template-columns:repeat(4,1fr)!important}
  .modern-receipt-summary>div{grid-template-columns:auto auto!important;justify-content:center!important;padding:7px 4px!important}
  .modern-receipt-summary small{display:none}
  .modern-receipt-toolbar button{grid-column:auto!important}
  .modern-receipt-content{flex:1 0 55vh;height:auto!important;overflow:visible!important}
}

/* v49.68 — mobile-safe modal scrolling and invitation sharing */
.invite-share-actions{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:9px
}
.invite-share-actions button{min-height:42px;white-space:normal}

html.transaction-modal-open,
body.transaction-modal-open{
  overflow:hidden!important;
  overscroll-behavior:none!important
}
body.transaction-modal-open{
  position:fixed;
  left:0;
  right:0;
  width:100%
}

@media(max-width:700px){
  #entryDialog[open],
  #listDialog[open],
  #settingsDialog[open],
  #locationPerformanceDialog[open]{
    width:calc(100vw - 12px)!important;
    height:calc(var(--modal-visual-height,100dvh) - max(12px,env(safe-area-inset-top,0px)) - max(12px,env(safe-area-inset-bottom,0px)))!important;
    max-height:calc(var(--modal-visual-height,100dvh) - max(12px,env(safe-area-inset-top,0px)) - max(12px,env(safe-area-inset-bottom,0px)))!important;
    margin-top:max(6px,env(safe-area-inset-top,0px))!important;
    margin-bottom:max(6px,env(safe-area-inset-bottom,0px))!important;
    overflow:hidden!important;
    overscroll-behavior:contain!important
  }

  #entryDialog[open],
  #settingsDialog[open],
  #locationPerformanceDialog[open]{
    display:grid!important;
    grid-template-rows:minmax(0,1fr)!important
  }

  #entryDialog .modern-entry-form,
  #settingsDialog .modern-settings-shell,
  #locationPerformanceDialog .location-performance-shell{
    width:100%!important;
    height:100%!important;
    max-height:100%!important;
    min-height:0!important;
    overflow:hidden!important
  }

  #entryDialog .modern-entry-form{
    grid-template-rows:auto minmax(0,1fr) auto!important
  }
  #entryDialog .modern-entry-grid{
    min-height:0!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    -webkit-overflow-scrolling:touch!important;
    overscroll-behavior-y:contain!important;
    touch-action:pan-y!important
  }

  #settingsDialog .modern-settings-body{
    display:block!important;
    height:100%!important;
    max-height:100%!important;
    min-height:0!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    -webkit-overflow-scrolling:touch!important;
    overscroll-behavior-y:contain!important;
    touch-action:pan-y!important
  }
  #settingsDialog .modern-settings-content{
    min-height:auto!important;
    overflow:visible!important
  }

  #locationPerformanceDialog .location-performance-scroll{
    height:100%!important;
    max-height:100%!important;
    min-height:0!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    -webkit-overflow-scrolling:touch!important;
    overscroll-behavior-y:contain!important;
    touch-action:pan-y!important
  }

  #listDialog[open]{
    grid-template-rows:auto auto auto auto minmax(0,1fr) auto!important
  }
  #listDialog .transaction-tools,
  #listDialog .transaction-list,
  #listDialog .transaction-bulk-actions+.transaction-list,
  #listDialog.filters-collapsed .transaction-list,
  #listDialog.filters-collapsed .transaction-bulk-actions+.transaction-list,
  #listDialog.filters-collapsed .transaction-results-summary+.transaction-list,
  #listDialog.filters-collapsed .transaction-results-summary+.transaction-bulk-actions+.transaction-list{
    min-height:0!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    -webkit-overflow-scrolling:touch!important;
    overscroll-behavior-y:contain!important;
    touch-action:pan-y!important
  }
  #listDialog .transaction-list,
  #listDialog .transaction-bulk-actions+.transaction-list{
    height:100%!important
  }

  .invite-share-actions{grid-template-columns:1fr}
}

/* v49.69 — quick account menu and top-level sign out */
.user-menu-wrap{position:relative;flex:0 0 auto}
button.signed-in-user-chip{margin:0;text-align:left;font-family:inherit}
.user-menu-chevron{color:var(--muted);font-size:11px;line-height:1;transition:transform .16s ease}
.signed-in-user-chip[aria-expanded="true"] .user-menu-chevron{transform:rotate(180deg)}
.user-menu{
  position:absolute;
  top:calc(100% + 9px);
  right:0;
  z-index:95;
  width:210px;
  padding:8px;
  border:1px solid var(--line);
  border-radius:14px;
  background:var(--panel);
  box-shadow:var(--shadow)
}
.user-menu-item{
  display:block;
  width:100%;
  margin:0;
  padding:12px 13px;
  border-radius:10px;
  background:transparent;
  color:var(--text);
  text-align:left;
  font-weight:800
}
.user-menu-item:hover,.user-menu-item:focus-visible{background:var(--panel2);outline:none}
.user-menu-sign-out{color:#ff9b8e}
html[data-platform-theme="light"] .user-menu{background:#fff;border-color:#d0d5dd}
html[data-platform-theme="light"] .user-menu-item{color:#344054}
html[data-platform-theme="light"] .user-menu-item:hover,
html[data-platform-theme="light"] .user-menu-item:focus-visible{background:#f2f4f7}
html[data-platform-theme="light"] .user-menu-sign-out{color:#b42318}
@media(max-width:700px){
  .user-menu{right:0;left:auto;width:min(210px,calc(100vw - 24px))}
  .user-menu-chevron{display:none}
}

/* v49.75 — Keep daily and quick sale actions visible on narrow screens. */
@media(max-width:700px){
  .dashboard-modern-actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:100%}
  .dashboard-modern-actions #dailySalesBtn,.dashboard-modern-actions #modernAddSaleBtn,.dashboard-modern-actions #modernAddExpenseBtn{display:inline-flex!important;width:100%!important;min-width:0;min-height:52px;margin:0!important;padding:10px 8px!important;white-space:normal!important;text-align:center}
  .dashboard-modern-actions #modernAddExpenseBtn{grid-column:1/-1}
  .dashboard-modern-actions #dashboardCompactBtn{display:none!important}
}
.tools-menu-version{border-top:1px solid var(--line);margin:5px 5px 0;padding:10px 8px 3px;color:var(--muted);font-size:12px}
.bulk-import-dialog #downloadImportTemplateBtn{display:block;margin:0 0 14px}
/* v49.70 — Food / Drinks division entry, reporting, and exports */
.division-performance-dialog{width:min(1180px,calc(100vw - 24px))!important;height:min(920px,calc(100dvh - 24px))!important;max-height:calc(100dvh - 24px)!important;padding:0!important;overflow:hidden!important}
.division-performance-shell{display:grid;grid-template-rows:auto minmax(0,1fr);height:100%;min-height:0}
.division-performance-head{position:relative;z-index:2;padding:20px 24px!important;border-bottom:1px solid rgba(255,255,255,.08);background:var(--panel)}
.division-performance-scroll{min-height:0;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;touch-action:pan-y;padding:18px 24px calc(24px + env(safe-area-inset-bottom,0px))}
.division-report-controls{display:grid;grid-template-columns:1fr minmax(220px,1fr) 1fr auto;gap:0;border:1px solid var(--line);border-radius:16px;overflow:hidden;margin-bottom:16px}
.division-report-controls label{display:grid;gap:5px;margin:0;padding:13px 16px;border-right:1px solid var(--line)}
.division-report-controls label span{color:var(--muted);font-size:12px}.division-report-controls label b{font-size:16px}
.division-report-controls select{margin:0;min-height:42px}.division-report-controls button{margin:10px;align-self:center;white-space:nowrap}
.division-performance-cards{display:grid;gap:14px}
.division-performance-card,.division-consolidated-card{border:1px solid var(--line);border-radius:18px;background:var(--panel2);padding:18px}
.division-performance-card.division-food{border-top:3px solid #f6c453}.division-performance-card.division-drinks{border-top:3px solid #67b7ff}.division-performance-card.division-shared{border-top:3px solid #9aa4b2}.division-performance-card.division-unassigned{border-top:3px solid #ff9a7a}
.division-card-head h4,.division-consolidated-card h4{margin:3px 0;font-size:21px}.division-card-head small,.division-consolidated-card small{color:var(--muted)}
.division-card-metrics{display:grid;grid-template-columns:repeat(6,1fr);margin-top:14px;border:1px solid rgba(255,255,255,.07);border-radius:12px;overflow:hidden}
.division-card-metrics>div{display:grid;gap:5px;padding:12px}.division-card-metrics>div+div{border-left:1px solid rgba(255,255,255,.07)}
.division-card-metrics span{color:var(--muted);font-size:11px}.division-card-metrics b{font-size:15px}.division-card-metrics .positive{color:#55d98a}.division-card-metrics .negative{color:#ff9a7a}
.division-subgroups{display:grid;grid-template-columns:repeat(auto-fit,minmax(165px,1fr));gap:8px;margin-top:12px}
.division-subgroups>div{display:grid;gap:3px;padding:10px 12px;border:1px solid var(--line);border-radius:11px;background:rgba(255,255,255,.025)}
.division-subgroups span{font-weight:800}.division-subgroups small,.division-empty{color:var(--muted)}.division-empty{padding-top:12px}
.division-consolidated-card{margin-top:16px;border-color:rgba(125,91,255,.65);background:linear-gradient(145deg,rgba(109,76,255,.10),var(--panel2))}
.division-consolidated-card .location-consolidated-metrics{grid-template-columns:repeat(6,1fr)}
.daily-sales-top-grid{grid-template-columns:repeat(3,minmax(160px,1fr))!important}
.product-report-filters{grid-template-columns:repeat(3,minmax(160px,1fr))!important}
html[data-platform-theme="light"] .division-performance-head{background:#fff;border-color:#e4e7ec}
html[data-platform-theme="light"] .division-performance-card,html[data-platform-theme="light"] .division-consolidated-card{background:#fff;border-color:#d0d5dd;color:#101828}
html[data-platform-theme="light"] .division-card-metrics{border-color:#e4e7ec}html[data-platform-theme="light"] .division-card-metrics>div+div{border-color:#e4e7ec}
@media(max-width:850px){.division-card-metrics,.division-consolidated-card .location-consolidated-metrics{grid-template-columns:repeat(2,1fr)}.division-card-metrics>div+div{border-left:0;border-top:1px solid rgba(255,255,255,.07)}.division-report-controls{grid-template-columns:1fr 1fr}.division-report-controls button{grid-column:1/-1}}
@media(max-width:700px){
  #divisionPerformanceDialog[open]{width:calc(100vw - 12px)!important;height:calc(var(--modal-visual-height,100dvh) - max(12px,env(safe-area-inset-top,0px)) - max(12px,env(safe-area-inset-bottom,0px)))!important;max-height:calc(var(--modal-visual-height,100dvh) - max(12px,env(safe-area-inset-top,0px)) - max(12px,env(safe-area-inset-bottom,0px)))!important;margin-top:max(6px,env(safe-area-inset-top,0px))!important;margin-bottom:max(6px,env(safe-area-inset-bottom,0px))!important;overflow:hidden!important;overscroll-behavior:contain!important;padding:0!important;display:grid!important;grid-template-rows:minmax(0,1fr)!important}
  .division-performance-shell{width:100%;height:100%;max-height:100%;min-height:0;overflow:hidden}.division-performance-head{position:sticky;top:0;padding:16px!important}.division-performance-head .location-performance-title{gap:10px}.division-performance-head h3{font-size:23px!important}.division-performance-head small{font-size:13px}
  .division-performance-scroll{position:relative;min-height:0;height:100%;overflow-y:scroll!important;-webkit-overflow-scrolling:touch!important;overscroll-behavior-y:contain!important;touch-action:pan-y!important;padding:14px 12px calc(24px + env(safe-area-inset-bottom,0px))}
  .division-report-controls{grid-template-columns:1fr}.division-report-controls label{border-right:0;border-bottom:1px solid var(--line)}.division-card-metrics,.division-consolidated-card .location-consolidated-metrics{grid-template-columns:1fr}.daily-sales-top-grid,.product-report-filters{grid-template-columns:1fr!important}
}
.finance-access-notice{margin:24px auto;padding:22px;max-width:680px;border:1px solid #6d4aff;border-radius:16px}
#appScreen[data-finance-access="false"] > :not(.app-header):not(.finance-access-notice){display:none!important}
#appScreen[data-finance-access="false"] .app-header #toolsMenuWrap,
#appScreen[data-finance-access="false"] .app-header #locationButton,
#appScreen[data-finance-access="false"] .app-header #currencyBtn,
#appScreen[data-finance-access="false"] .app-header .location-performance-link{display:none!important}
.group-report-form{padding:20px;display:grid;gap:10px;max-width:720px;margin:auto}
.group-report-form input,.group-report-form select{font-size:16px}
.group-report-form .primary{min-height:48px}
.group-report-result{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;margin-top:12px}
.group-report-result article{border:1px solid var(--line);border-radius:12px;padding:14px;background:var(--panel)}
.group-report-result article small{display:block;color:var(--muted);margin-bottom:6px}

/* Isolated test environment identification. */
.restore-test-banner{padding:7px 12px;background:#fff3cd;color:#664d03;text-align:center;font-size:12px;line-height:1.4;overflow-wrap:anywhere;}

.daily-entry-mode{width:165px;min-height:44px!important;margin-bottom:6px!important}.daily-sales-table .daily-price{width:165px;font-size:16px}.daily-sales-table .daily-qty{font-size:16px}

/* TEST pilot: one scroll area, compact quantity rows, persistent checkout actions. */
#posPilotDialog,#employeeClockDialog{width:min(740px,calc(100vw - 24px));max-height:calc(100dvh - 24px);padding:0;overflow:hidden;background:var(--panel);color:var(--text)}
#posPilotDialog[open],#employeeClockDialog[open]{display:flex;flex-direction:column}
#posPilotDialog .dialog-head,#employeeClockDialog .dialog-head{flex:0 0 auto;gap:12px;padding:16px 20px;border-bottom:1px solid var(--line);align-items:flex-start}
#posPilotDialog .dialog-head>div,#employeeClockDialog .dialog-head>div{min-width:0}
#posPilotDialog .dialog-head h3,#employeeClockDialog .dialog-head h3{margin:4px 0;font-size:20px;line-height:1.3}
#posPilotDialog .dialog-head small,#employeeClockDialog .dialog-head small{display:block;font-size:12px;line-height:1.4}
#posPilotDialog .icon-btn,#employeeClockDialog .icon-btn{flex:0 0 40px}
#posPilotDialog .internal-orders-body,#employeeClockDialog .internal-orders-body{flex:1 1 auto;min-height:0;max-height:none;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;padding:16px 20px;gap:12px}
#posPilotDialog label,#employeeClockDialog label{margin:0;min-width:0;color:var(--text)}
#posPilotDialog input,#posPilotDialog select,#employeeClockDialog select{font-size:16px;min-height:44px;margin:0;padding:10px 12px;min-width:0}
#posPilotCart{display:grid;gap:8px}
#posPilotDialog .pilot-menu h4,#posPilotDialog .pilot-cart-section h4{margin:12px 0 8px}
.pilot-categories{display:flex;gap:8px;overflow-x:auto;padding:4px 0 10px;scrollbar-width:thin}
#posPilotDialog .pilot-category{flex:0 0 auto;min-height:48px;padding:8px 16px;border:1px solid var(--line);border-radius:999px;background:var(--panel2);color:var(--text);font-weight:700;cursor:pointer}
#posPilotDialog .pilot-category.active{background:var(--accent);border-color:var(--accent);color:#17191f}
.pilot-menu-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(142px,1fr));gap:10px}
.pilot-drink-choices{margin:10px 0;padding:12px;border:1px solid var(--line);border-radius:14px;background:var(--panel2)}
.pilot-drink-choices[hidden]{display:none}
.pilot-drink-choices strong{display:block;margin-bottom:10px;line-height:1.35}
.pilot-drink-buttons{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:8px}
.pilot-drink-buttons button{min-height:48px;text-align:left;white-space:normal}
#posPilotDialog .pilot-product{display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:16px;min-height:108px;padding:16px;border:1px solid var(--line);border-radius:16px;background:var(--panel2);color:var(--text);text-align:left;cursor:pointer;overflow-wrap:anywhere}
#posPilotDialog .pilot-product strong{font-size:16px;line-height:1.3}
#posPilotDialog .pilot-product span{font-size:15px;font-weight:700}
#posPilotDialog .pilot-product small{font-size:11px;color:var(--muted);line-height:1.3}
#posPilotDialog .pilot-menu .pilot-payment-note{margin:0 0 10px}
#posPilotDialog .pilot-product:active{transform:scale(.98)}
#posPilotDialog .pilot-product:disabled{cursor:default;opacity:.55}
#posPilotDialog .pilot-item-row[hidden]{display:none}
#posPilotEmpty{color:var(--muted);margin:0;padding:10px 0}
#posPilotCart .pilot-item-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:10px;border:1px solid var(--line);border-radius:12px;line-height:1.5;background:var(--panel2)}
#posPilotCart .pilot-item-row span{overflow-wrap:anywhere}
#posPilotCart .pilot-configure{grid-column:1/-1}
#posPilotCart .pilot-quantity-controls{display:flex;align-items:center;gap:4px}
#posPilotCart .pilot-quantity-controls button{width:44px;min-width:44px;min-height:44px;padding:6px;font-size:22px;line-height:1}
#posPilotCart input{text-align:center;font-size:20px;font-weight:700;width:58px;padding:6px}
.pilot-payment-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}
#posPilotDialog .pilot-payment-note{font-size:12px;line-height:1.4;margin:0;color:var(--muted)}
#posPilotDialog .pilot-checkout-footer{flex:0 0 auto;padding:12px 20px calc(12px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--line);background:var(--panel);display:grid;gap:8px}
#posPilotTotal{margin:0;font-size:24px;font-weight:800}
#posPilotStatus,#posPilotSaveHint,#posPilotReceipt{font-size:13px;line-height:1.4;overflow-wrap:anywhere}
#posPilotDialog #posPilotPaper{font-size:16px;min-height:44px}
#posPilotRecent{min-width:0}
#posPilotRecentList{display:grid;gap:8px;margin:10px 0}
#posPilotRecentList button{text-align:left;min-height:44px;overflow-wrap:anywhere}
#posPilotRecentStatus{font-size:13px;line-height:1.4}
.menu-ingredient-row{display:grid;grid-template-columns:minmax(0,1fr) 160px auto auto;gap:8px;align-items:center;margin:8px 0}
.menu-ingredient-row input,.menu-ingredient-row select{min-width:0}
#menuSetupComponents,#menuSetupProducts{min-width:0}
#menuSetupProducts{overflow-x:auto}
#menuSetupProducts table{min-width:560px}
#ingredientSetupPanel{border:1px solid var(--line);border-radius:12px;padding:12px;min-width:0}
#ingredientSetupPanel summary{cursor:pointer;font-weight:700}
#ingredientSetupPanel label{display:block;margin:10px 0}
#ingredientSetupPanel label input,#ingredientSetupPanel label select{width:100%;min-width:0}
#ingredientSetupPanel .funding-check input{width:auto}
#ingredientCreateStatus,#ingredientReceiveStatus{overflow-wrap:anywhere;font-size:13px;margin:8px 0}
@media(max-width:600px){.menu-ingredient-row{grid-template-columns:minmax(0,1fr) 120px}.menu-ingredient-row span{padding-left:4px}}
#posPilotStatus:empty,#posPilotSaveHint:empty,#posPilotReceipt:empty{display:none}
#posPilotDialog .pilot-offline-link{margin:0;font-size:13px}
#posPilotDialog .pilot-offline-link a{color:var(--accent);font-weight:700}
#posPilotDialog .primary,#posPilotDialog .secondary,#employeeClockDialog .primary,#employeeClockDialog .secondary{margin:0;min-height:44px;padding:12px;font-size:14px;line-height:1.4}
#posPilotDialog [hidden]{display:none!important}
.employee-clock-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
#employeeClockDialog h4,#employeeClockDialog p{margin:0;line-height:1.5}
#employeeShiftList{overflow-x:auto;min-width:0}
#employeeShiftList table{table-layout:fixed;width:100%;min-width:620px;font-size:13px}
#employeeShiftList th,#employeeShiftList td{white-space:normal;overflow-wrap:anywhere;text-align:left;padding:10px 8px}
#employeeShiftList th:last-child,#employeeShiftList td:last-child{width:20%;text-align:right}
#employeeTeamHours{min-width:0}
#employeeTeamList{overflow-x:auto;min-width:0}
#employeeTeamList table{min-width:760px}
@media(max-width:480px){
 #posPilotDialog{width:calc(100vw - 12px);height:calc(100dvh - 12px)}
 #posPilotDialog .dialog-head{align-items:center;gap:8px;padding:10px 12px}
 #posPilotDialog .dialog-head h3{font-size:17px;line-height:1.2}
 #posPilotDialog .dialog-head small{display:none}
 #posPilotDialog .eyebrow{font-size:10px}
 #posPilotDialog .internal-orders-body{gap:10px;padding:10px 12px}
 #posPilotDialog .pilot-menu h4,#posPilotDialog .pilot-cart-section h4{margin:6px 0}
 #posPilotDialog .pilot-menu-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 #posPilotDialog .pilot-product{min-width:0;min-height:88px;padding:10px;gap:8px}
 #posPilotDialog .pilot-product strong{font-size:14px}
 #posPilotDialog .pilot-product span{font-size:14px}
 #posPilotDialog #posPilotCart .pilot-item-row{grid-template-columns:minmax(0,1fr);gap:6px;padding:10px}
 #posPilotDialog #posPilotCart .pilot-item-row span{min-width:0;white-space:normal;font-size:15px;line-height:1.35}
 #posPilotDialog #posPilotCart .pilot-quantity-controls{justify-content:flex-start}
 #posPilotDialog .pilot-payment-fields{grid-template-columns:minmax(0,1fr)}
 #posPilotDialog .pilot-checkout-footer{gap:5px;padding:8px 12px calc(8px + env(safe-area-inset-bottom,0px))}
 #posPilotDialog #posPilotTotal{font-size:20px}
 #posPilotDialog #posPilotStatus{max-height:2.8em;overflow-y:auto}
 #posPilotDialog #posPilotSubmit{min-height:46px;padding:8px 10px}
 .employee-clock-actions{grid-template-columns:1fr}
 #posPilotDialog,#employeeClockDialog{width:calc(100vw - 12px);max-height:calc(100dvh - 12px);border-radius:16px}
 #posPilotDialog .dialog-head,#employeeClockDialog .dialog-head{padding:12px}
 #posPilotDialog .internal-orders-body,#employeeClockDialog .internal-orders-body{padding:12px}
 #posPilotDialog .pilot-checkout-footer{padding:10px 12px calc(10px + env(safe-area-inset-bottom,0px))}
 #employeeShiftList th,#employeeShiftList td{padding:8px 4px;font-size:12px}
}
/* TEST stock requests share the compact, single-scroll modal layout. */
#internalOrdersDialog{width:min(850px,calc(100vw - 24px));max-height:calc(100dvh - 24px);padding:0;overflow:hidden}
#internalOrdersDialog[open]{display:flex;flex-direction:column}
#internalOrdersDialog .dialog-head{flex:0 0 auto;padding:16px 20px;gap:12px;border-bottom:1px solid var(--line)}
#internalOrdersDialog .dialog-head .icon-btn{flex:0 0 40px}
#internalOrdersDialog .internal-orders-body{flex:1 1 auto;min-height:0;max-height:none;overflow-y:auto;padding:16px 20px}
#internalRequestForm{padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--panel2)}
#internalRequestForm summary{cursor:pointer;font-weight:750;min-height:32px}
#internalRequestForm p{font-size:13px;line-height:1.5}
#internalRequestForm input,#internalRequestForm select{font-size:16px;min-width:0;min-height:44px;margin:0}
#internalRequestItems{display:grid;gap:8px;margin:12px 0}
.request-item-row{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:12px;border-bottom:1px solid var(--line);padding-bottom:10px}
#internalRequestForm label{min-width:0;margin:0;line-height:1.5;color:var(--text)}
#internalRequestStatus{overflow-wrap:anywhere;font-size:13px;line-height:1.5;margin-top:12px}
#internalRequestForm [hidden]{display:none!important}
@media(max-width:480px){#internalOrdersDialog .dialog-head,#internalOrdersDialog .internal-orders-body{padding:12px}.request-item-row{grid-template-columns:1fr}}
.operational-alert-summary{max-width:720px;margin-top:10px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;font-size:12px;line-height:1.5;color:var(--muted);background:var(--panel)}
#operationalAlertsSummary[hidden]{display:none!important}
.business-location-controls .has-operational-alert{background:var(--accent);color:#17191f;font-weight:800;border-radius:8px;padding:6px 10px}
#internalOrderActions{padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--panel2)}
.internal-issue-links{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:8px 0 14px;padding:10px;border:1px solid var(--line);border-radius:10px}
.internal-issue-links button{min-height:44px}
#internalOrderActions[hidden]{display:none!important}
#internalOrderActions p{margin:0 0 12px;font-size:13px;line-height:1.5}
#internalOrderActions input{font-size:16px}
#internalOrderActions .fulfillment-confirm{display:flex;gap:10px;align-items:flex-start;margin:12px 0;line-height:1.5}
#internalOrderActions .fulfillment-confirm input{width:22px;height:22px;flex:0 0 22px;margin:0;accent-color:var(--accent)}
#receiptIssuePanel{border-top:1px solid var(--line);margin-top:16px;padding-top:14px;min-width:0}
#receiptIssuePanel label{display:block;margin:10px 0;font-size:13px;line-height:1.4}
#receiptIssuePanel label input:not([type=checkbox]),#receiptIssuePanel label select{display:block;width:100%;min-width:0;margin-top:5px;font-size:16px}
#receiptIssuePanel label input[type=checkbox]{width:22px;height:22px;vertical-align:middle;margin-right:8px}
#receiptIssuePanel button{min-height:44px;white-space:normal}
#receiptIssuePanel [role=status]{overflow-wrap:anywhere;font-size:13px}
.receipt-issue-form{border-top:1px solid var(--line);padding-top:12px;margin-top:12px}
#internalFulfillmentStatus{font-size:13px;line-height:1.5;overflow-wrap:anywhere}
.internal-settlement-form{margin-top:16px;padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--panel2)}
#internalSettlementForm[hidden]{display:none!important}
.internal-settlement-form p,#internalSettlementSummary,#internalSettlementStatus{font-size:13px;line-height:1.5;overflow-wrap:anywhere}
.settlement-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}
.settlement-fields label{display:grid;gap:6px;min-width:0;margin:0}
.settlement-fields input,.settlement-fields select{font-size:16px;margin:0;min-width:0;min-height:44px}
.internal-settlement-form .settlement-confirm{display:flex;align-items:flex-start;gap:10px;line-height:1.5}
.settlement-confirm input{width:22px;height:22px;flex:0 0 22px;margin:0;accent-color:var(--accent)}
@media(max-width:480px){.settlement-fields{grid-template-columns:1fr}}
#partnerFundingDialog{width:min(950px,calc(100vw - 24px));max-height:calc(100dvh - 24px);padding:0;overflow:hidden}
#partnerFundingDialog[open]{display:flex;flex-direction:column}
#partnerFundingDialog .dialog-head{flex:0 0 auto;gap:12px;padding:16px 20px;border-bottom:1px solid var(--line)}
#partnerFundingDialog .icon-btn{flex:0 0 40px}
#partnerFundingDialog .internal-orders-body{flex:1 1 auto;min-height:0;max-height:none;overflow-y:auto;padding:16px 20px}
#partnerFundingDialog h4{margin:0}#partnerFundingDialog label{margin:0;min-width:0;color:var(--text)}
#partnerFundingDialog input,#partnerFundingDialog select{font-size:16px;min-width:0;min-height:44px}
#partnerFundingEditor{padding:0;border:0;display:grid;gap:16px;min-width:0}
#partnerFundingEditor[hidden],#partnerFundingDialog button[hidden]{display:none!important}
#partnerFundingEditor details,.funding-payment-details{display:grid;gap:12px;padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--panel2)}
#partnerFundingEditor summary{cursor:pointer;font-weight:750;margin-bottom:12px}
#partnerFundingEditor p,#fundingWriteStatus,#partnerFundingStatus{font-size:13px;line-height:1.5;overflow-wrap:anywhere}
#fundingAllocationRows,#fundingSplitRows{display:grid;gap:10px;margin-top:12px}
.funding-allocation-row{display:grid;grid-template-columns:1fr 1.5fr 1fr auto;gap:8px;align-items:center}
.funding-allocation-row .secondary{margin:0;padding:10px}
#partnerFundingEditor .funding-check{display:flex;align-items:flex-start;gap:10px;line-height:1.5;margin-top:12px}
#partnerFundingEditor .funding-check input{width:22px;height:22px;min-height:22px;flex:0 0 22px;margin:0;accent-color:var(--accent)}
@media(max-width:600px){.funding-allocation-row{grid-template-columns:1fr 1fr}#partnerFundingDialog .dialog-head,#partnerFundingDialog .internal-orders-body{padding:12px}}

#lowStockDialog .internal-orders-body{max-height:min(72vh,700px);overflow-y:auto;overflow-x:hidden}
.low-stock-order-list{display:grid;gap:10px}.low-stock-order-row{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:6px 12px;border:1px solid var(--line);border-radius:10px;padding:12px;align-items:center}.low-stock-order-row>label:first-child{display:flex;gap:10px;align-items:center;min-width:0}.low-stock-order-row>label:first-child span{overflow-wrap:anywhere}.low-stock-order-row small{grid-column:1;overflow-wrap:anywhere}.low-stock-order-row input[type=checkbox]{width:22px;height:22px;flex:none}.low-stock-order-row input[type=number]{width:100%;font-size:16px;min-height:42px}@media(max-width:600px){.low-stock-order-row{grid-template-columns:1fr}.low-stock-order-row small{grid-column:1}}

/* TEST partial refunds and scoped contribution report. */
#posRefundDialog,#rewardSetupDialog{width:min(700px,94vw);max-height:90vh;max-height:90dvh;overflow:auto;padding:20px;background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:16px}
.pos-contribution-table{width:100%;max-width:100%;overflow:auto;margin-top:14px}
.pos-contribution-table table{width:100%;min-width:580px;border-collapse:collapse}
.pos-contribution-table th,.pos-contribution-table td{padding:10px;text-align:left;border-bottom:1px solid var(--line)}
