:root{
  --bg:#f5f6fa;--surface:#fff;--ink:#17181c;--muted:#778091;--line:#e7eaf0;
  --black:#111318;--black2:#222733;--red:#e22f3b;--green:#14a05d;--gold:#c99a42;--blue:#2f6df6;
  --shadow:0 14px 34px rgba(17,19,24,.08);--shadow2:0 8px 20px rgba(17,19,24,.10);
  --radius:24px;--bottom-nav-h:76px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;overflow-x:hidden}
body{margin:0;background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,"Microsoft YaHei",sans-serif;line-height:1.45;padding-bottom:18px;overflow-x:hidden;width:100%}
a{color:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent}
button,input,select,textarea{font-family:inherit}
img{max-width:100%;height:auto}.wrap{max-width:1180px;margin:0 auto;padding:18px}

/* Header + desktop navigation */
.app-shell{position:sticky;top:0;z-index:100;background:rgba(245,246,250,.9);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-bottom:1px solid rgba(232,234,240,.9)}
.app-header{max-width:1180px;margin:0 auto;padding:12px 18px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.brand{display:flex;align-items:center;gap:12px;min-width:0}.brand-mark{width:44px;height:44px;border-radius:16px;background:linear-gradient(145deg,#111318,#2c3038);color:#fff;display:grid;place-items:center;font-size:22px;font-weight:950;box-shadow:0 10px 22px rgba(0,0,0,.18)}
.brand b{display:block;font-size:17px;font-weight:950;letter-spacing:.2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.brand small{display:block;margin-top:2px;font-size:12px;color:var(--muted);font-weight:800}
.install-pill,.logout-pill{flex:0 0 auto;background:#fff;border:1px solid var(--line);color:#111;padding:10px 14px;border-radius:999px;font-size:13px;font-weight:950;box-shadow:0 7px 18px rgba(17,19,24,.07);transition:.18s}.install-pill{background:#111318;color:#fff;border-color:#111318}
.nav-wrap{max-width:1180px;margin:0 auto;padding:0 18px 12px}.top-nav{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.app-btn{background:#fff;border:1px solid var(--line);border-radius:18px;padding:12px 8px;display:flex;align-items:center;justify-content:center;gap:6px;text-align:center;font-weight:950;color:#24262c;box-shadow:0 8px 22px rgba(17,19,24,.06);transition:transform .16s,box-shadow .16s,background .16s,color .16s}.app-btn span{font-size:18px;line-height:1}.app-btn em{font-style:normal;font-size:14px;white-space:nowrap}.app-btn.active{background:#111318;color:#fff;border-color:#111318;box-shadow:0 14px 28px rgba(17,19,24,.20)}
.admin-panel{max-width:1180px;margin:12px auto 0;padding:0 18px;display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.admin-panel a{background:#fff;border:1px dashed #d7dae2;border-radius:18px;padding:12px;text-align:center;font-weight:950;color:#333;box-shadow:0 8px 20px rgba(17,19,24,.05);transition:.18s}.admin-panel a.active{background:#fff7e8;border-color:#e5c47c;color:#8a5a00}

/* Common windows/cards */
.page-hero,.hero{background:linear-gradient(145deg,#15171d,#282d36);color:#fff;border-radius:30px;padding:24px 22px;margin:14px 0 16px;box-shadow:0 20px 42px rgba(17,19,24,.22);position:relative;overflow:hidden}.page-hero:before,.hero:before{content:"";position:absolute;right:-60px;top:-70px;width:190px;height:190px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.16),rgba(255,255,255,0) 65%)}.page-hero h1,.hero h1{position:relative;margin:0;font-size:30px;line-height:1.15;color:#fff;letter-spacing:-.8px}.page-hero p,.hero p{position:relative;margin:9px 0 0;color:#d9dce5;font-size:15px}
.section-card,.card,.box,.payment-form-card,.sale-form-card,.wechat-card,.public-bill-box,.export-confirm-card,.payment-preview{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:18px;margin:14px 0;box-shadow:var(--shadow)}
.section-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}.section-title h2,h2{font-size:21px;margin:0;font-weight:950;letter-spacing:-.4px}.muted,.small{color:var(--muted)}.red,.danger{color:var(--red)!important}.ok,.green{color:var(--green)!important}.badge{display:inline-flex;align-items:center;border-radius:999px;background:#f2f3f7;padding:6px 10px;font-size:12px;font-weight:900;color:#4c5360}
.quick-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:14px 0}.quick-card{display:block;background:#fff;border:1px solid var(--line);border-radius:22px;padding:17px;box-shadow:var(--shadow);min-height:112px;transition:.18s}.quick-card .icon{width:42px;height:42px;border-radius:16px;background:#f4f5f8;display:grid;place-items:center;font-size:20px;margin-bottom:10px}.quick-card b{display:block;font-size:16px;font-weight:950}.quick-card small{display:block;margin-top:4px;color:var(--muted);font-size:12px;font-weight:750}
.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.stat,.sum-card{background:#fff;border:1px solid var(--line);border-radius:24px;padding:18px;box-shadow:var(--shadow);min-height:132px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.stat:after,.sum-card:after{content:"";position:absolute;right:-26px;top:-26px;width:86px;height:86px;border-radius:50%;background:#f2f3f7}.stat .label,.sum-card .label{font-weight:900;color:#606675;font-size:14px;position:relative;z-index:1}.stat b,.sum-card b,.sum-card .value{font-size:28px;line-height:1.12;font-weight:1000;letter-spacing:-.8px;position:relative;z-index:1}

/* Forms */
.row{display:grid;grid-template-columns:1fr 1fr;gap:14px}label{display:block;font-weight:950;margin:13px 0 8px;font-size:14px}input,select,textarea{width:100%;padding:15px 14px;border:1px solid #dfe2ea;border-radius:17px;font-size:16px;background:#fff;color:#111;outline:0;transition:.18s}input:focus,select:focus,textarea:focus{border-color:#111318;box-shadow:0 0 0 4px rgba(17,19,24,.08)}textarea{min-height:96px;resize:vertical}
button,.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:0;border-radius:17px;background:#111318;color:#fff;padding:13px 18px;text-decoration:none;font-weight:950;cursor:pointer;box-shadow:0 12px 24px rgba(17,19,24,.16);transition:.18s}.btn.gray,.gray{background:#5d6470}.btn.red,.danger-btn{background:var(--red)!important;color:#fff!important}.btn.green{background:var(--green)}.btn.gold{background:var(--gold)}.actions{display:flex;gap:10px;flex-wrap:wrap}.inline-form{display:inline-flex;gap:8px;align-items:center;margin:0}.mini-btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:999px;background:#111827;color:#fff;padding:8px 12px;font-weight:900;text-decoration:none;cursor:pointer;box-shadow:0 8px 18px rgba(15,23,42,.12);transition:.18s;white-space:nowrap}.danger-mini{background:#ffe4e8!important;color:#c5163d!important;box-shadow:none!important}.gray-mini{background:#eef1f5!important;color:#374151!important}
button:active,.btn:active,.app-btn:active,.quick-card:active,.mini-btn:active,.touching{transform:scale(.96)}
.msg,.err{border-radius:18px;padding:13px 14px;margin:12px 0;font-weight:900}.msg{background:#ebfff4;color:#0f743f;border:1px solid #c9f4db}.err{background:#fff1f3;color:#b00020;border:1px solid #ffd3dc}

/* Tables */
.table-scroll,.table-wrap,.customer-scroll{width:100%;overflow:auto;-webkit-overflow-scrolling:touch;border-radius:20px;border:1px solid var(--line);background:#fff;box-shadow:0 6px 18px rgba(17,19,24,.04)}table,.table{width:100%;border-collapse:collapse;background:#fff}.table th,.table td,table th,table td{padding:14px 13px;border-bottom:1px solid #eef0f4;text-align:left;white-space:nowrap}.table th,table th{background:#f7f8fb;color:#414653;font-size:13px;font-weight:950}.table tr:last-child td,table tr:last-child td{border-bottom:0}.empty,.empty-row,.empty-list{text-align:center;color:var(--muted);padding:24px!important}

/* Customer list/detail */
.customer-search-form{display:grid;grid-template-columns:1fr auto;gap:14px;margin-bottom:16px}.customer-top-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:14px 0 18px}.customer-top-actions .btn{width:100%;height:64px;margin:0;border-radius:24px}.customers-compact-table{min-width:860px;table-layout:fixed}.customers-compact-table th,.customers-compact-table td{padding:14px!important;line-height:1.25!important;vertical-align:middle!important}.customer-name-cell,.customer-store-cell{overflow:hidden;text-overflow:ellipsis}.compact-actions{display:flex;align-items:center;gap:8px;white-space:nowrap}.compact-actions .mini-btn{height:34px;padding:0 12px;font-size:13px;box-shadow:none}.action-grid,.customer-action-grid,.customer-actions-grid,.customer-detail-actions,.detail-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;width:100%}.action-grid a,.action-grid button,.customer-action-grid a,.customer-action-grid button,.customer-actions-grid a,.customer-actions-grid button,.customer-detail-actions a,.customer-detail-actions button,.detail-actions a,.detail-actions button{width:100%;height:76px;margin:0;border-radius:26px;font-size:20px;font-weight:900;display:flex;align-items:center;justify-content:center}

/* Sale item editor */
.sale-section-title{margin-top:18px}.product-editor{background:linear-gradient(180deg,#fff,#fafbfe);border:1px solid var(--line);border-radius:26px;padding:16px;margin:12px 0 16px;box-shadow:0 10px 26px rgba(17,19,24,.05)}.editor-total{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;padding-top:12px;border-top:1px dashed #e1e4ec}.editor-total small{display:block;color:var(--muted);font-weight:900;margin-bottom:3px}.editor-total b{font-size:22px;font-weight:1000}.add-item-btn{width:auto;min-width:138px;background:#111318}.added-items-window{background:#fff;border:1px solid var(--line);border-radius:26px;padding:14px;margin:14px 0 18px;box-shadow:var(--shadow)}.added-items-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:4px 4px 14px;border-bottom:1px solid #eef0f4}.added-items-head b{font-size:18px;font-weight:1000}.added-items-head span{font-weight:1000;color:var(--red)}.items-list{display:grid;gap:10px;padding-top:12px}.empty-state{background:#f7f8fb;border:1px dashed #d9dde7;border-radius:20px;padding:18px;color:var(--muted);font-weight:800;text-align:center}.sku-card{display:grid;grid-template-columns:1.35fr .7fr .8fr .8fr .9fr auto;gap:10px;align-items:center;background:#fbfcff;border:1px solid #e7eaf1;border-radius:22px;padding:12px;box-shadow:0 8px 20px rgba(17,19,24,.04);animation:skuIn .22s ease-out}.sku-main,.sku-data{background:#fff;border:1px solid #edf0f5;border-radius:17px;padding:10px 12px;min-height:64px}.sku-main span,.sku-data span{display:block;color:var(--muted);font-size:12px;font-weight:900}.sku-main b,.sku-data b{display:block;margin-top:4px;font-size:16px;font-weight:1000;color:#16181d}.sku-main b{font-size:18px}.sku-data.total{background:#111318;border-color:#111318}.sku-data.total span{color:#c8ccd6}.sku-data.total b{color:#fff}.sku-actions{display:flex;gap:8px}.save-sale-btn,.save-payment-btn{min-width:180px}@keyframes skuIn{from{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}
.sale-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:22px;flex-wrap:wrap}.danger-zone{border:1px solid #ffe1e1;background:linear-gradient(180deg,#fff,#fff7f7)}

/* Login/public/offline */
.login{max-width:480px;margin:7vh auto;background:#fff;border-radius:28px;padding:28px;box-shadow:var(--shadow)}.login h1{margin-top:0;font-size:28px}.no-print{} .receipt{max-width:760px;margin:20px auto}.bill-code{font-family:ui-monospace,Consolas,monospace;background:#f5f6fa;border-radius:12px;padding:8px 10px}

/* Mobile: move the 5 main buttons to a bottom tab bar */
@media(max-width:768px){
  html,body{max-width:100%;overflow-x:hidden;overscroll-behavior-x:none}
  body{padding-bottom:calc(var(--bottom-nav-h) + 18px + env(safe-area-inset-bottom))}
  .install-pill{width:auto!important;min-width:66px!important;max-width:82px!important;flex:0 0 auto!important;padding:9px 12px!important;border-radius:999px!important;white-space:nowrap!important;text-align:center!important}
  .logout-pill{width:auto!important;min-width:56px!important;flex:0 0 auto!important;white-space:nowrap!important}
  .app-header{max-width:100vw!important;overflow:hidden!important}
  .brand{flex:1 1 auto;min-width:0;overflow:hidden}.brand>div{min-width:0;overflow:hidden}
  .nav-wrap{width:100vw!important;max-width:100vw!important;overflow:hidden!important;transform:translateZ(0);will-change:transform;touch-action:pan-y;overscroll-behavior-x:none}
  .top-nav{width:100%;min-width:0;touch-action:pan-y}
  .app-btn{min-width:0}
  .wrap,.admin-panel,.page-hero,.hero,.section-card,.card,.box{max-width:100%!important}
  .page-hero,.hero{overflow:hidden}
  input,select,textarea{min-width:0}
  table{max-width:none}

  .wrap{padding:14px}.app-shell{position:relative;top:auto;border-bottom:0;background:transparent;backdrop-filter:none}.app-header{padding:8px 14px}.brand-mark{width:38px;height:38px;border-radius:14px;font-size:19px}.brand b{font-size:15px}.brand small{font-size:11px}.logout-pill,.install-pill{padding:9px 12px;font-size:12px;box-shadow:none}
  .nav-wrap{position:fixed;left:0;right:0;bottom:0;z-index:999;padding:8px 10px calc(8px + env(safe-area-inset-bottom));background:rgba(255,255,255,.92);border-top:1px solid rgba(229,232,238,.95);box-shadow:0 -12px 34px rgba(17,19,24,.12);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px)}
  .top-nav{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;max-width:620px;margin:0 auto}.app-btn{height:58px;padding:6px 2px;border-radius:18px;flex-direction:column;gap:2px;box-shadow:none;background:transparent;border:1px solid transparent;color:#30343d}.app-btn span{font-size:23px;line-height:1}.app-btn em{font-size:11px;line-height:1;font-weight:950}.app-btn.active{background:#111318;color:#fff;border-color:#111318;box-shadow:0 10px 22px rgba(17,19,24,.24)}
  .admin-panel{padding:0 14px;margin:8px 0 12px;grid-template-columns:repeat(2,1fr);gap:10px}.admin-panel a{padding:18px 10px;border-radius:22px;font-size:15px;box-shadow:0 8px 20px rgba(17,19,24,.05)}
  .page-hero,.hero{margin-top:8px;border-radius:28px;padding:22px 18px;max-width:100%;overflow:hidden}.page-hero h1,.hero h1{font-size:28px}.section-card,.card,.box,.payment-form-card,.sale-form-card,.wechat-card,.public-bill-box,.export-confirm-card,.payment-preview{padding:16px;border-radius:24px;margin:12px 0;max-width:100%;overflow:hidden}.quick-grid{grid-template-columns:repeat(2,1fr);gap:10px}.quick-card{padding:15px;min-height:105px}.grid{grid-template-columns:repeat(2,1fr);gap:10px}.stat,.sum-card{min-height:124px;padding:16px}.stat b,.sum-card b,.sum-card .value{font-size:25px}.row{grid-template-columns:1fr}main button,main .btn{width:100%;padding:15px 16px}.app-header button,.app-header .btn{width:auto!important}.app-header a{width:auto!important}.install-pill,.logout-pill{width:auto!important}.actions .btn,.actions button{flex:1;min-width:125px}.inline-form{display:flex}.inline-form button{width:auto}.customer-search-form{grid-template-columns:1fr}.customer-search-form input,.customer-search-form button{height:62px;border-radius:24px}.customer-top-actions{grid-template-columns:1fr}.customer-top-actions .btn{height:66px!important;font-size:19px!important}.customers-compact-table{min-width:820px}.action-grid,.customer-action-grid,.customer-actions-grid,.customer-detail-actions,.detail-actions{grid-template-columns:1fr!important;gap:12px!important}.action-grid a,.action-grid button,.customer-action-grid a,.customer-action-grid button,.customer-actions-grid a,.customer-actions-grid button,.customer-detail-actions a,.customer-detail-actions button,.detail-actions a,.detail-actions button{height:64px!important;font-size:18px!important}.editor-total{position:sticky;bottom:calc(var(--bottom-nav-h) + 10px + env(safe-area-inset-bottom));background:rgba(255,255,255,.96);backdrop-filter:blur(14px);padding:12px;border:1px solid var(--line);border-radius:20px;box-shadow:0 12px 28px rgba(17,19,24,.12)}.add-item-btn{width:45%;min-width:120px}.sku-card{grid-template-columns:1fr 1fr;gap:8px}.sku-main,.sku-data.total,.sku-actions{grid-column:1/-1}.sku-actions .mini-btn{flex:1}.added-items-head{align-items:flex-start;flex-direction:column}.save-sale-btn,.save-payment-btn{width:100%}.login{margin:5vh 14px}.table th,.table td,table th,table td{padding:13px 11px}
}
@media(max-width:390px){.app-btn em{font-size:10px}.app-btn span{font-size:21px}.quick-card b{font-size:15px}.stat b,.sum-card b,.sum-card .value{font-size:23px}.page-hero h1,.hero h1{font-size:26px}}
@media(print){.app-shell,.admin-panel,.no-print,.btn,button{display:none!important}body{background:#fff;padding:0}.wrap{max-width:100%;padding:0}.card,.section-card{box-shadow:none;border:0}}

/* V20 final mobile lock + compact header fix */
@media(max-width:768px){
  html,body{width:100%!important;max-width:100vw!important;overflow-x:hidden!important;touch-action:pan-y!important;overscroll-behavior-x:none!important;}
  *{max-width:100vw;}
  .app-shell,.wrap,.admin-panel{max-width:100vw!important;overflow:hidden!important;}
  .app-header{display:grid!important;grid-template-columns:minmax(0,1fr) auto auto!important;align-items:center!important;gap:8px!important;width:100%!important;max-width:100vw!important;overflow:hidden!important;padding:8px 12px!important;}
  .brand{min-width:0!important;overflow:hidden!important;}
  .brand b,.brand small{white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
  .install-pill{width:auto!important;min-width:54px!important;max-width:64px!important;padding:9px 10px!important;flex:0 0 auto!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:clip!important;}
  .logout-pill{width:auto!important;min-width:54px!important;max-width:60px!important;padding:9px 10px!important;flex:0 0 auto!important;white-space:nowrap!important;}
  .nav-wrap{position:fixed!important;left:0!important;right:0!important;bottom:0!important;width:100vw!important;max-width:100vw!important;overflow:hidden!important;transform:translate3d(0,0,0)!important;touch-action:pan-y!important;}
  .top-nav{grid-template-columns:repeat(5,minmax(0,1fr))!important;width:100%!important;max-width:620px!important;min-width:0!important;}
  .app-btn{min-width:0!important;max-width:100%!important;}
  .app-btn em{max-width:100%!important;overflow:hidden!important;text-overflow:ellipsis!important;}
  .page-hero,.hero,.section-card,.card,.box,.payment-form-card,.sale-form-card,.wechat-card,.public-bill-box,.export-confirm-card,.payment-preview{max-width:100%!important;overflow:hidden!important;}
  main button,main .btn{width:100%;}
  .app-header button,.app-header a{width:auto!important;}
}

/* V22 FINAL FIX - Android/PWA cache resistant green button text */
.btn.green,
a.btn.green,
button.btn.green,
.customer-top-actions .btn.green,
.confirm-actions .btn.green,
.customer-detail-actions .btn.green,
.detail-actions .btn.green,
.export-confirm-card .btn.green,
main .btn.green {
  background: #14a05d !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  text-shadow: none !important;
  opacity: 1 !important;
  visibility: visible !important;
  font-weight: 950 !important;
}
.btn.green *,
a.btn.green *,
button.btn.green * {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  opacity: 1 !important;
  visibility: visible !important;
}
.btn.green[data-label],
a.btn.green[data-label],
button.btn.green[data-label] {
  font-size: 0 !important;
  line-height: 1 !important;
  overflow: hidden !important;
}
.btn.green[data-label]::after,
a.btn.green[data-label]::after,
button.btn.green[data-label]::after {
  content: attr(data-label) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 100% !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  font-size: 16px !important;
  font-weight: 950 !important;
  line-height: 1.2 !important;
  white-space: nowrap !important;
  opacity: 1 !important;
  visibility: visible !important;
}
.customer-top-actions .btn.green[data-label]::after,
.action-grid .btn.green[data-label]::after,
.customer-action-grid .btn.green[data-label]::after,
.customer-actions-grid .btn.green[data-label]::after,
.customer-detail-actions .btn.green[data-label]::after,
.detail-actions .btn.green[data-label]::after { font-size: 19px !important; }

/* V26 APP shell enhancements: iPhone/Android install optimization without changing mobile layout */
html {
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  overscroll-behavior-y: none;
}
body {
  min-height: 100dvh;
  -webkit-tap-highlight-color: transparent;
}
a,button,.btn,.app-btn,.quick-card,.install-pill,.logout-pill {
  -webkit-user-select: none;
  user-select: none;
  touch-action: manipulation;
}
input,textarea,select {
  -webkit-user-select: text;
  user-select: text;
}
.ios-install-sheet {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  padding: 16px 16px calc(16px + env(safe-area-inset-bottom));
  background: rgba(17,19,24,.35);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}
.ios-install-card {
  width: min(520px, 100%);
  background: #fff;
  color: #111318;
  border: 1px solid var(--line);
  border-radius: 28px;
  box-shadow: 0 24px 60px rgba(17,19,24,.25);
  padding: 20px;
  position: relative;
}
.ios-install-card b {display:block;font-size:20px;font-weight:1000;margin-bottom:8px;}
.ios-install-card p {margin:0 34px 14px 0;color:#4d5563;font-weight:800;line-height:1.5;}
.ios-install-close {
  position:absolute;right:12px;top:12px;width:36px!important;height:36px!important;border-radius:999px!important;
  padding:0!important;background:#f1f3f7!important;color:#111318!important;box-shadow:none!important;font-size:22px!important;
}
.ios-install-steps {display:grid;grid-template-columns:repeat(3,1fr);gap:8px;}
.ios-install-steps span {background:#f5f6fa;border:1px solid #e6e9f0;border-radius:16px;padding:10px 8px;text-align:center;font-size:13px;font-weight:950;}
@media(max-width:768px){
  body { min-height: 100svh; }
  .app-shell,.nav-wrap { -webkit-transform: translateZ(0); transform: translateZ(0); }
  .ios-install-card { border-radius: 26px; padding:18px; }
}

/* V27 fix: Android PWA bottom navigation must stay fixed at the bottom.
   Do NOT transform the parent .app-shell, because transformed parents make position:fixed
   behave like it is fixed inside the header, which moves the nav to the top on Android WebView/PWA. */
@media(max-width:768px){
  .app-shell{
    position:static!important;
    top:auto!important;
    transform:none!important;
    -webkit-transform:none!important;
    overflow:visible!important;
    z-index:auto!important;
  }
  .nav-wrap{
    position:fixed!important;
    left:0!important;
    right:0!important;
    top:auto!important;
    bottom:0!important;
    z-index:99999!important;
    width:100vw!important;
    max-width:100vw!important;
    transform:none!important;
    -webkit-transform:none!important;
    padding:8px 10px calc(8px + env(safe-area-inset-bottom))!important;
    background:rgba(255,255,255,.94)!important;
    border-top:1px solid rgba(229,232,238,.95)!important;
    border-bottom:0!important;
    box-shadow:0 -12px 34px rgba(17,19,24,.12)!important;
    backdrop-filter:blur(22px)!important;
    -webkit-backdrop-filter:blur(22px)!important;
  }
  .top-nav{
    display:grid!important;
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
    gap:7px!important;
    max-width:620px!important;
    margin:0 auto!important;
  }
  body{
    padding-bottom:calc(var(--bottom-nav-h) + 18px + env(safe-area-inset-bottom))!important;
  }
}

/* V29 accounting safety: voided records + backup center */
.void-card{border-color:#ffd7df;background:linear-gradient(180deg,#fff,#fff7f8)}
.voided-row td{background:#fff1f3!important;color:#9f1239!important;border-bottom-color:#ffd5de!important}
.voided-row b{color:#9f1239!important}.danger-badge{background:#ffe4e8!important;color:#be123c!important}.danger{color:var(--red)!important}
.restore-form{display:grid;grid-template-columns:minmax(120px,1fr) auto;gap:8px;align-items:center;min-width:250px}.restore-form input{height:38px;border-radius:12px;padding:8px 10px}.backup-table td{vertical-align:middle}.backup-table code,code{background:#f4f5f8;border:1px solid #e3e6ee;border-radius:10px;padding:3px 6px;font-weight:900;white-space:normal}.recycle-actions{margin:0}.void-table{margin-bottom:18px}
@media(max-width:768px){.restore-form{grid-template-columns:1fr}.restore-form .mini-btn{width:100%}.backup-table{min-width:980px}.void-table{min-width:820px}}
