@import "../ui/t2b-index.css";

#s-finance{
  --finance-page-a:var(--t2b-bg-a);
  --finance-page-b:var(--t2b-bg-b);
  --finance-page-c:var(--t2b-bg-c);
  --finance-surface:var(--t2b-surface-card);
  --finance-control:var(--t2b-surface-control);
  --finance-line:var(--t2b-line);
  --finance-line-soft:var(--t2b-line-soft);
  --finance-text:var(--t2b-text);
  --finance-text-2:var(--t2b-text-2);
  --finance-muted:var(--t2b-muted);
  --finance-meta:var(--t2b-meta);
  background:linear-gradient(105deg,var(--finance-page-a),var(--finance-page-b) 50%,var(--finance-page-c));
}

#finance-content{
  min-height:100%;
  background:transparent;
}

#s-finance .finance-screen{
  width:min(980px,100%);
  margin:0 auto;
  display:grid;
  align-content:start;
  gap:8px;
  padding:8px 10px calc(122px + env(safe-area-inset-bottom));
}

#s-finance .finance-hero,
#s-finance .finance-admin-card,
#s-finance .finance-list-card,
#s-finance .finance-form,
#s-finance .finance-state{
  background:var(--finance-surface);
  border:1px solid var(--finance-line);
  border-radius:var(--t2b-radius-card);
  box-shadow:var(--t2b-shadow-card);
}

#s-finance .finance-hero{
  background:transparent;
  border:0;
  box-shadow:none;
  padding:0;
}

#s-finance .finance-hero{
  padding:0;
  display:grid;
  gap:0;
}

#s-finance .finance-hero-top{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:10px;
}

#s-finance .finance-badge,
#s-finance .finance-row-icon,
#s-finance .finance-due-icon{
  width:38px;
  height:38px;
  border-radius:999px;
  display:grid;
  place-items:center;
  background:linear-gradient(145deg,var(--t2b-brand),var(--t2b-good));
  color:var(--t2b-on-accent);
  font-family:var(--t2b-font);
  font-size:var(--t2b-font-body);
  font-weight:900;
  flex:0 0 auto;
}

#s-finance .finance-title{
  min-width:0;
  display:grid;
  gap:2px;
}

#s-finance .finance-title span,
#s-finance .finance-card-head > span,
#s-finance .finance-stat span,
#s-finance .finance-stat em,
#s-finance .finance-row-main span,
#s-finance .finance-row-main em,
#s-finance .finance-row-amount span,
#s-finance .finance-due-main span,
#s-finance .finance-due-side i,
#s-finance .finance-form-title span,
#s-finance .finance-form-grid label span{
  color:var(--finance-meta);
  font-size:var(--t2b-font-meta);
  line-height:1.25;
  font-weight:560;
  font-style:normal;
}

#s-finance .finance-title b{
  color:var(--t2b-brand-text-deep);
  font-size:calc(var(--t2b-font-title) * 1.18);
  line-height:1;
  font-weight:820;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

#s-finance .finance-balance{
  min-height:32px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  padding:0 10px;
  background:var(--t2b-brand-soft);
  color:var(--t2b-brand-text-deep);
  font-size:var(--t2b-font-score);
  font-weight:780;
}

#s-finance .finance-balance.minus,
#s-finance .finance-row-amount.minus b,
#s-finance .finance-stat.expense b{color:var(--t2b-hot);}

#s-finance .finance-summary-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
  padding:2px 0 0;
  align-items:stretch;
}

#s-finance .finance-stat{
  min-width:0;
  border:1px solid var(--finance-line-soft);
  border-radius:12px;
  background:var(--t2b-surface-soft);
  min-height:72px;
  padding:9px 8px 10px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}

#s-finance .finance-stat b{
  display:block;
  margin-top:3px;
  color:var(--t2b-brand);
  font-size:var(--t2b-font-score)!important;
  line-height:1;
  font-weight:620;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

#s-finance .finance-stat em{
  display:block;
  margin-top:3px;
}

#s-finance .finance-admin-card,
#s-finance .finance-list-card{
  overflow:hidden;
}

#s-finance .finance-ledger-actions{
  background:transparent;
  border:0;
  box-shadow:none;
  border-radius:0;
  overflow:visible;
}

#s-finance .finance-ledger-card .finance-ledger-actions{
  padding:8px 10px 0;
}

#s-finance .finance-ledger-actions .finance-action-grid{
  padding:0;
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-start;
  gap:7px;
}

#s-finance .finance-card-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:9px 11px;
  border-bottom:1px solid var(--finance-line-soft);
  background:var(--t2b-surface-soft);
}

#s-finance .finance-card-head-main{
  display:flex;
  align-items:center;
  gap:8px;
  min-width:0;
  flex:0 0 auto;
}

#s-finance .finance-card-head-main .finance-action{
  min-width:auto;
  padding:0 12px;
}

#s-finance .finance-mini-action{
  min-height:32px;
  display:inline-flex;
  align-items:center;
  gap:6px;
  border:1px solid color-mix(in srgb,var(--t2b-brand) 18%,var(--finance-surface));
  border-radius:999px;
  background:linear-gradient(180deg,var(--t2b-brand-soft) 0%,#f4fbf5 100%);
  color:var(--t2b-brand-text-deep);
  font-family:var(--t2b-font);
  font-size:11.5px;
  font-weight:630;
  padding:0 10px;
  white-space:nowrap;
  overflow:visible;
  text-overflow:clip;
  box-shadow:none;
  flex:0 0 auto;
  width:auto;
  min-width:112px;
}

#s-finance .finance-ticket-card .finance-mini-action,
#s-finance .finance-bill-card-wrap .finance-mini-action,
#s-finance .finance-list-card .finance-card-head .finance-mini-action{
  min-width:132px;
}

#s-finance .finance-mini-action i{
  width:16px;
  height:16px;
  border-radius:999px;
  display:grid;
  place-items:center;
  background:var(--t2b-brand);
  color:var(--t2b-on-accent);
  font-style:normal;
  font-size:10px;
  line-height:1;
  flex:0 0 16px;
}

#s-finance .finance-mini-action span{
  white-space:nowrap;
  overflow:visible;
  text-overflow:clip;
  flex:0 0 auto;
}

#s-finance .finance-mini-action > span{
  display:inline!important;
  margin-top:0!important;
  max-width:none!important;
  width:auto!important;
  text-align:left!important;
}

#s-finance .finance-bill-head .finance-mini-action{
  width:max-content;
  max-width:none;
  min-width:160px;
  flex:0 0 auto;
  padding-inline:14px 16px;
}

#s-finance .finance-empty-state{
  margin:10px;
  min-height:146px;
  border:0;
  background:transparent;
  box-shadow:none;
}

#s-finance .finance-empty-state .t2b-avatar{
  background:linear-gradient(145deg,var(--t2b-brand),var(--t2b-good));
  color:#fff;
  font-size:15px;
  font-weight:860;
}

#s-finance .finance-empty-state b{
  color:#111827;
  font-size:14px;
  font-weight:720;
}

#s-finance .finance-empty-state span{
  color:#758198;
  font-size:11.5px;
  line-height:1.35;
  font-weight:430;
}

#s-finance .finance-empty-state .t2b-btn{
  min-height:34px;
  padding:0 17px;
  border-radius:999px;
  background:var(--t2b-brand);
  color:#fff;
  box-shadow:0 9px 22px color-mix(in srgb,var(--t2b-brand) 28%,transparent);
}

#s-finance .finance-card-head b,
#s-finance .finance-form-title b{
  color:var(--finance-text);
  font-size:var(--t2b-font-title)!important;
  line-height:1.15;
  font-weight:620;
}

#s-finance .finance-card-head > span{
  text-align:right;
  min-width:0;
  flex:1 1 auto;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

#s-finance .finance-action-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  padding:10px;
}

#s-finance .finance-action,
#s-finance .finance-submit,
#s-finance .finance-cancel,
#s-finance .finance-due-filters button:not(.t2b-btn),
#s-finance .finance-due-side button{
  min-height:36px;
  border:1px solid color-mix(in srgb,var(--t2b-brand) 18%,var(--finance-surface));
  border-radius:999px;
  background:linear-gradient(180deg,var(--t2b-brand-soft) 0%,#f4fbf5 100%);
  color:var(--t2b-brand-text-deep);
  font-family:var(--t2b-font);
  font-size:12px;
  font-weight:650;
  letter-spacing:0;
  cursor:pointer;
  box-shadow:none;
  white-space:nowrap;
}

#s-finance .finance-action{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:6px;
  padding:0 10px;
  transition:transform .12s ease, filter .12s ease, box-shadow .12s ease;
  width:auto;
  flex:0 0 auto;
}

#s-finance .finance-action span{
  display:inline;
  white-space:nowrap;
}

#s-finance .finance-action i{
  font-style:normal;
  width:16px;
  height:16px;
  border-radius:999px;
  display:grid;
  place-items:center;
  background:var(--t2b-brand);
  color:var(--t2b-on-accent);
  font-size:10px;
  line-height:1;
  flex:0 0 16px;
}

#s-finance .finance-action.expense i{
  background:var(--t2b-hot);
}

#s-finance .finance-action.adjust i{
  background:#0f766e;
}

#s-finance .finance-action:active,
#s-finance .finance-mini-action:active,
#s-finance .finance-icon-action:active{
  transform:translateY(1px) scale(.98);
  filter:saturate(1.08);
}

#s-finance .finance-action.active,
#s-finance .finance-submit{
  background:linear-gradient(135deg,var(--t2b-brand),var(--t2b-brand-deep));
  color:var(--t2b-on-accent);
  border-color:transparent;
}

#s-finance .finance-action.expense.active{
  background:linear-gradient(135deg,var(--t2b-hot),var(--t2b-hot-deep));
}

#s-finance .finance-auto-status{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  border:1px solid var(--finance-line-soft);
  border-radius:14px;
  background:var(--t2b-surface-soft);
  padding:9px 10px;
  color:var(--finance-text-2);
  font-size:var(--t2b-font-meta);
  font-weight:620;
}

#s-finance .finance-auto-status b{color:var(--finance-text);}
#s-finance .finance-auto-status.email_ready span,
#s-finance .finance-auto-status.email_scanning span{color:var(--t2b-brand-text-deep);}
#s-finance .finance-auto-status.email_error span,
#s-finance .finance-auto-status.bank_not_configured span{color:var(--t2b-hot);}

#s-finance .finance-tab-bar{
  display:flex;
  gap:0;
  padding:3px;
  border:1px solid var(--finance-line);
  border-radius:16px;
  background:var(--finance-surface);
  box-shadow:var(--t2b-shadow-soft);
  overflow-x:auto;
  scrollbar-width:none;
}

#s-finance .finance-tab-bar::-webkit-scrollbar{display:none;}

#s-finance .finance-tab{
  flex:1 0 auto;
  min-height:43px;
  border:0;
  border-radius:12px;
  background:transparent;
  color:var(--finance-muted);
  font-family:var(--t2b-font);
  font-size:var(--t2b-font-meta);
  font-weight:540;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:4px;
  padding:0 7px;
  cursor:pointer;
  position:relative;
}

#s-finance .finance-tab.on{
  background:var(--t2b-brand-soft);
  color:var(--t2b-brand-text-deep);
}

#s-finance .finance-tab:before{
  content:none;
}

#s-finance .finance-tab b{
  order:2;
}

#s-finance .finance-tab:not(:last-child):after{
  content:"";
  position:absolute;
  right:0;
  top:9px;
  bottom:9px;
  width:1px;
  background:color-mix(in srgb,var(--finance-line) 70%,transparent);
}

#s-finance .finance-tab.on:after,
#s-finance .finance-tab:has(+ .finance-tab.on):after{
  opacity:.35;
}

#s-finance .finance-tab-ico{
  width:16px;
  height:16px;
  border-radius:999px;
  display:grid;
  place-items:center;
  background:color-mix(in srgb,var(--t2b-brand) 12%,transparent);
  font-size:10px;
  font-weight:560;
  order:1;
}

#s-finance .finance-tab.has-count .finance-tab-ico{
  min-width:16px;
  height:16px;
  border-radius:999px;
  display:grid;
  place-items:center;
  background:var(--t2b-hot);
  color:#fff;
  font-size:10px;
  font-weight:650;
}

#s-finance .finance-tab i{
  display:none;
  font-style:normal;
  font-size:10px;
}

#s-finance .finance-filter-row,
#s-finance .finance-bulk-bar{
  display:flex;
  gap:6px;
  padding:6px 10px 8px;
  border-bottom:1px solid var(--finance-line-soft);
  overflow-x:auto;
  flex-wrap:nowrap;
  scrollbar-width:none;
}

#s-finance .finance-filter-row::-webkit-scrollbar,
#s-finance .finance-bulk-bar::-webkit-scrollbar{display:none;}

#s-finance .finance-filter-row button,
#s-finance .finance-row-amount button,
#s-finance .finance-share-row button,
#s-finance .finance-debt-row button,
#s-finance .finance-refund-btn{
  min-height:31px;
  border:1px solid color-mix(in srgb,var(--t2b-brand) 24%,var(--finance-surface));
  border-radius:999px;
  background:transparent;
  color:var(--t2b-brand-text-deep);
  font-family:var(--t2b-font);
  font-size:var(--t2b-font-meta);
  font-weight:540;
  padding:0 9px;
  white-space:nowrap;
}

#s-finance .finance-filter-row button.active{
  background:var(--t2b-brand-soft);
  color:var(--t2b-brand-text-deep);
  border-color:color-mix(in srgb,var(--t2b-brand) 36%,var(--finance-line));
}

#s-finance .finance-info-line{
  margin:10px;
  border:1px solid var(--finance-line-soft);
  border-radius:14px;
  background:var(--t2b-surface-soft);
  color:var(--finance-text-2);
  font-size:var(--t2b-font-meta);
  font-weight:560;
  line-height:1.35;
  padding:10px;
}

#s-finance .finance-summary-grid.compact{
  padding:10px;
  grid-template-columns:repeat(2,minmax(0,1fr));
  border-bottom:1px solid var(--finance-line-soft);
}

#s-finance .finance-form{
  display:grid;
  gap:9px;
  margin:0 10px 10px;
  padding:10px;
  box-shadow:var(--t2b-shadow-soft);
}

#s-finance .finance-form.finance-form-sheet{
  margin:0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}

#s-finance .finance-ledger-form-grid{
  grid-template-columns:1fr 1fr;
}

#s-finance .finance-ledger-amount-field,
#s-finance .finance-ledger-note-field{
  grid-column:1/-1;
}

#s-finance .finance-form-title{
  display:grid;
  gap:3px;
}

#s-finance .finance-form-grid{
  display:grid;
  grid-template-columns:160px minmax(0,1fr);
  gap:8px;
}

#s-finance .finance-form-grid label,
#s-finance .finance-due-filters label:not(.t2b-field){
  display:grid;
  gap:4px;
  min-width:0;
}

#s-finance .finance-form-grid input,
#s-finance .finance-due-filters input:not(.t2b-input),
#s-finance .finance-due-filters select:not(.t2b-select){
  height:34px;
  min-width:0;
  border:1px solid var(--t2b-line-control);
  border-radius:999px;
  background:var(--finance-control);
  color:var(--finance-text-2);
  font-family:var(--t2b-font);
  font-size:var(--t2b-font-control);
  font-weight:560;
  padding:0 10px;
}

#s-finance .finance-form-status{
  min-height:18px;
  color:var(--finance-meta);
  font-size:var(--t2b-font-meta);
  font-weight:560;
}

#s-finance .finance-form-status.error{color:var(--t2b-hot);}
#s-finance .finance-form-status.success{color:var(--t2b-brand);}

#s-finance .finance-form-actions{
  display:flex;
  gap:8px;
  flex-wrap:nowrap;
}

#s-finance .finance-submit,
#s-finance .finance-cancel{
  padding:0 14px;
}

#s-finance .finance-cancel{
  background:var(--finance-control);
  color:var(--finance-muted);
  border-color:var(--finance-line);
}

#s-finance .finance-due-filters{
  display:grid;
  grid-template-columns:minmax(160px,1fr) 150px auto;
  gap:8px;
  padding:10px;
  border-bottom:1px solid var(--finance-line-soft);
  background:var(--finance-surface);
}

#s-finance .finance-due-list,
#s-finance .finance-list{
  display:grid;
}

#s-finance .finance-beer-member-list{
  background:var(--finance-surface);
}

#s-finance .finance-beer-member-row{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  column-gap:10px;
  min-height:72px;
  padding:9px 12px;
  border-bottom:1px solid var(--finance-line-soft);
  background:var(--finance-surface);
  cursor:pointer;
}

#s-finance .finance-beer-member-row:last-child{
  border-bottom:0;
}

#s-finance .finance-beer-inline-detail{
  display:grid;
  gap:8px;
  padding:8px 10px 10px;
  border-bottom:1px solid var(--finance-line-soft);
  background:linear-gradient(180deg,var(--finance-surface),var(--t2b-surface-soft));
}

#s-finance .finance-beer-inline-detail .finance-beer-detail-summary{
  margin:0;
}

#s-finance .finance-beer-inline-detail .finance-beer-detail-list{
  max-height:none;
}

#s-finance .finance-beer-member-avatar{
  background:linear-gradient(145deg,color-mix(in srgb,var(--t2b-brand) 55%,var(--t2b-accent,#6757ff)),var(--t2b-brand));
}

#s-finance .finance-beer-member-row.clean .finance-beer-member-avatar{
  background:linear-gradient(145deg,var(--t2b-brand),var(--t2b-good));
}

#s-finance .finance-beer-member-row.debt .finance-progress i{
  background:var(--t2b-hot);
}

#s-finance .finance-beer-member-row.clean .finance-bill-list-side strong{
  color:var(--t2b-brand);
}

#s-finance .finance-beer-member-row.debt .finance-bill-list-side strong{
  color:var(--t2b-hot);
}

#s-finance .finance-beer-member-row .finance-bill-list-main em{
  color:var(--finance-meta);
  font-size:var(--t2b-font-meta);
  font-style:normal;
  font-weight:460;
}

#s-finance .finance-beer-own-action{
  padding:9px 11px;
  border-top:1px solid var(--finance-line-soft);
  background:var(--finance-surface);
}

#s-finance .finance-beer-row-list-actions{
  gap:4px;
}

#s-finance .finance-beer-row-list-actions button{
  width:26px;
  height:26px;
  font-size:12px;
}

#s-finance .finance-beer-row-list-actions .finance-beer-manual-confirm{
  width:auto;
  min-width:54px;
  padding:0 8px;
  font-size:11px;
  white-space:nowrap;
}

#s-finance .finance-row,
#s-finance .finance-due-row{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:10px;
  padding:10px 12px;
  border-bottom:1px solid var(--finance-line-soft);
  background:var(--finance-surface);
}

#s-finance .finance-row:last-child,
#s-finance .finance-due-row:last-child{border-bottom:0;}

#s-finance .finance-row-main,
#s-finance .finance-due-main,
#s-finance .finance-row-amount,
#s-finance .finance-due-side{min-width:0;}

#s-finance .finance-row-main b,
#s-finance .finance-due-main b{
  display:block;
  color:var(--finance-text);
  font-size:var(--t2b-font-body)!important;
  line-height:1.2!important;
  font-weight:680;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

#s-finance .finance-row-main span,
#s-finance .finance-row-main em,
#s-finance .finance-due-main span{
  display:block;
  margin-top:3px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

#s-finance .finance-due-main em{
  display:inline-flex;
  min-height:20px;
  align-items:center;
  border-radius:999px;
  padding:0 7px;
  margin-right:5px;
  background:var(--t2b-brand-soft);
  color:var(--t2b-brand-text-deep);
  font-style:normal;
  font-size:var(--t2b-font-meta);
  font-weight:680;
}

#s-finance .finance-row-amount,
#s-finance .finance-due-side{
  display:grid;
  gap:3px;
  justify-items:end;
  text-align:right;
}

#s-finance .finance-row-amount b,
#s-finance .finance-due-side strong{
  color:var(--t2b-brand);
  font-size:var(--t2b-font-score)!important;
  line-height:1;
  font-weight:780;
  white-space:nowrap;
}

#s-finance .finance-due-side button{
  min-height:36px;
  padding:0 12px;
  font-size:var(--t2b-font-meta);
}

#s-finance .finance-due-row.pending .finance-due-icon{
  background:linear-gradient(145deg,var(--t2b-warn),var(--t2b-warn-deep));
}

#s-finance .finance-due-row.manual .finance-due-icon,
#s-finance .finance-row.expense .finance-row-icon{
  background:linear-gradient(145deg,var(--t2b-hot),var(--t2b-hot-deep));
}

#s-finance .finance-state{
  padding:24px 14px;
  text-align:center;
}

#s-finance .finance-state b{
  display:block;
  color:var(--finance-text);
  font-size:var(--t2b-font-title);
  font-weight:720;
}

#s-finance .finance-state span{
  display:block;
  margin-top:5px;
  color:var(--finance-muted);
  font-size:var(--t2b-font-body);
  line-height:1.35;
  font-weight:650;
}

#s-finance .finance-bottom-space{height:42px;}

#s-finance .finance-badge-small{
  display:inline-flex;
  align-items:center;
  min-height:18px;
  padding:0 7px;
  border-radius:999px;
  margin-left:4px;
  font-size:var(--t2b-font-meta);
  font-weight:680;
  background:var(--t2b-brand-soft);
  color:var(--t2b-brand-text-deep);
}

#s-finance .finance-badge-small.wait{
  background:color-mix(in srgb,var(--t2b-hot) 12%,transparent);
  color:var(--t2b-hot);
}

#s-finance .finance-primary-action{
  border-bottom:0;
  padding:8px 10px 4px;
}

#s-finance .finance-primary-action .finance-submit{
  width:100%;
  min-height:44px;
}

#s-finance .finance-three-stats{
  grid-template-columns:repeat(3,minmax(0,1fr));
}

#s-finance .finance-summary-grid.compact.finance-three-stats{
  grid-template-columns:repeat(3,minmax(0,1fr));
}

#s-finance .finance-chip-row{
  padding-top:6px;
}

#s-finance .finance-date-title{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:8px;
}

#s-finance .finance-date-title em{
  color:var(--finance-meta);
  font-style:normal;
  font-size:var(--t2b-font-meta);
  font-weight:800;
}

#s-finance .finance-ticket-icon{
  background:linear-gradient(145deg,var(--t2b-good),var(--t2b-brand));
}

#s-finance .finance-row.pending .finance-ticket-icon{
  background:color-mix(in srgb,var(--t2b-brand) 50%,var(--t2b-accent,#6757ff));
}

#s-finance .finance-ticket-list-row{
  padding:9px 12px;
  border-bottom:1px solid var(--finance-line-soft);
  background:var(--finance-surface);
  cursor:pointer;
}

#s-finance .finance-ticket-list-row.pending .finance-bill-list-side strong{
  color:var(--t2b-hot-deep,var(--t2b-hot));
}

#s-finance .finance-ticket-list-row.paid .finance-bill-list-side strong{
  color:var(--t2b-brand);
}

#s-finance .finance-bill-card{
  display:grid;
  gap:8px;
  padding:9px 12px;
  border-bottom:1px solid var(--finance-line-soft);
  background:var(--finance-surface);
  position:relative;
  cursor:pointer;
}

#s-finance .finance-bill-list-row{
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  column-gap:10px;
  min-height:72px;
}

#s-finance .finance-bill-list-icon{
  width:34px;
  height:34px;
  font-size:13px;
  font-weight:780;
}

#s-finance .finance-bill-list-main{
  min-width:0;
  display:grid;
  gap:4px;
}

#s-finance .finance-bill-list-main > div{
  display:flex;
  align-items:center;
  gap:7px;
  min-width:0;
}

#s-finance .finance-bill-list-main b{
  min-width:0;
  color:var(--finance-text);
  font-size:var(--t2b-font-body);
  line-height:1.2;
  font-weight:500;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

#s-finance .finance-bill-list-main em{
  color:var(--finance-meta);
  font-size:var(--t2b-font-meta);
  font-weight:500;
  font-style:normal;
  margin-top:2px;
}

#s-finance .finance-bill-list-main span:not(.finance-bill-badge){
  min-width:0;
  color:var(--finance-meta);
  font-size:var(--t2b-font-meta);
  font-weight:540;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

#s-finance .finance-bill-list-side{
  display:grid;
  gap:3px;
  justify-items:end;
  text-align:right;
  white-space:nowrap;
}

#s-finance .finance-bill-list-side strong{
  color:var(--t2b-brand);
  font-size:var(--t2b-font-body);
  font-weight:560;
}

#s-finance .finance-bill-card.open .finance-bill-list-side strong,
#s-finance .finance-bill-card.new .finance-bill-list-side strong,
#s-finance .finance-bill-card.refund .finance-bill-list-side strong{
  color:var(--t2b-hot-deep,var(--t2b-hot));
}

#s-finance .finance-bill-card.done .finance-bill-list-side strong{
  color:var(--t2b-brand);
}

#s-finance .finance-bill-list-side span{
  color:var(--finance-meta);
  font-size:var(--t2b-font-meta);
  font-weight:540;
}

#s-finance .finance-bill-list-actions{
  display:flex;
  justify-content:flex-end;
  gap:5px;
}

#s-finance .finance-icon-action{
  width:auto!important;
  min-width:32px;
  min-height:32px;
  height:32px;
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  gap:0;
  border:1px solid color-mix(in srgb,var(--t2b-brand) 22%,var(--finance-line));
  border-radius:999px;
  background:var(--t2b-brand-soft)!important;
  color:var(--t2b-brand-text-deep);
  font-family:var(--t2b-font);
  font-size:10.5px;
  font-weight:620;
  line-height:1;
  padding:0;
  white-space:nowrap;
  box-shadow:none;
  transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease,background .14s ease;
}

#s-finance button.finance-icon-action.qr,
#s-finance button.finance-icon-action.share,
#s-finance button.finance-icon-action.copy,
#s-finance button.finance-icon-action.paid{
  background:var(--t2b-brand-soft)!important;
}

.finance-sheet .finance-icon-action{
  width:auto!important;
  min-width:28px;
  min-height:28px;
  height:28px;
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  gap:4px;
  border:1px solid color-mix(in srgb,var(--t2b-brand,#0a8f08) 22%,var(--t2b-line,#dbe6ef));
  border-radius:999px;
  background:var(--t2b-brand-soft,#e7f8e7);
  color:var(--t2b-brand-text-deep,#057000);
  font-family:var(--t2b-font);
  font-size:10.5px;
  font-weight:620;
  line-height:1;
  padding:0 8px;
  white-space:nowrap;
  box-shadow:none;
}

.finance-sheet .finance-icon-action svg{
  width:14px;
  height:14px;
  flex:0 0 14px;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}

#s-finance .finance-icon-action svg{
  width:14px;
  height:14px;
  flex:0 0 14px;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}

#s-finance .finance-icon-action span,
.finance-sheet .finance-icon-action span{
  display:none!important;
}

#s-finance .finance-icon-action.paid{
  background:color-mix(in srgb,var(--t2b-brand-soft) 72%,var(--finance-surface));
}

#s-finance .finance-icon-action:active,
#s-finance .finance-icon-action[data-busy="1"]{
  transform:scale(.94);
  box-shadow:0 6px 14px color-mix(in srgb,var(--t2b-brand) 16%,transparent);
}

#s-finance .finance-icon-action[data-busy="1"] svg,
.finance-sheet .finance-icon-action[data-busy="1"] svg{
  animation:finance-action-busy .8s ease-in-out infinite alternate;
}

#s-finance .finance-bill-list-actions button{
  width:auto;
  min-width:32px;
  min-height:32px;
  height:32px;
  border:1px solid color-mix(in srgb,var(--t2b-brand) 22%,var(--finance-line));
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:4px;
  padding:0 10px;
  background:linear-gradient(180deg,var(--finance-surface),var(--t2b-brand-soft));
  color:var(--t2b-brand-text-deep);
  font-size:14px;
  font-weight:650;
  cursor:pointer;
  box-shadow:none;
  transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease;
}

#s-finance .finance-bill-list-actions svg{
  width:15px;
  height:15px;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}

#s-finance .finance-bill-list-actions button:hover{
  border-color:color-mix(in srgb,var(--t2b-brand) 55%,var(--finance-line));
  box-shadow:none;
}

#s-finance .finance-bill-list-actions button:active{
  transform:scale(.92);
}

#s-finance .finance-bill-list-actions button.danger{
  border-color:color-mix(in srgb,var(--t2b-hot,#ef4444) 28%,var(--finance-line));
  background:color-mix(in srgb,var(--t2b-hot,#ef4444) 8%,var(--finance-surface));
  color:var(--t2b-hot,#ef4444);
}

#s-finance .finance-bill-list-actions button[data-busy="1"]{
  opacity:.62;
  cursor:progress;
  pointer-events:none;
  transform:scale(.96);
}

#s-finance .finance-bill-list-actions button[data-busy="1"] svg{
  animation:finance-action-busy .8s ease-in-out infinite alternate;
}

@keyframes finance-action-busy{
  from{transform:scale(.9);opacity:.55;}
  to{transform:scale(1.04);opacity:1;}
}

#s-finance .finance-bill-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
}

#s-finance .finance-bill-top b{
  color:var(--finance-text);
  font-size:var(--t2b-font-title);
  font-weight:720;
}

#s-finance .finance-bill-top span{
  display:block;
  margin-top:3px;
  color:var(--finance-meta);
  font-size:var(--t2b-font-meta);
  font-weight:750;
}

#s-finance .finance-bill-top strong{
  color:var(--t2b-brand);
  font-size:var(--t2b-font-score);
  font-weight:780;
  white-space:nowrap;
}

#s-finance .finance-progress{
  position:relative;
  height:5px;
  border-radius:999px;
  background:var(--finance-line-soft);
  overflow:hidden;
}

#s-finance .finance-progress i{
  display:block;
  height:100%;
  border-radius:999px;
  background:linear-gradient(90deg,var(--t2b-brand),var(--t2b-good));
}

#s-finance .finance-progress u{
  position:absolute;
  top:0;
  display:block;
  height:100%;
  border-radius:999px;
  background:linear-gradient(90deg,color-mix(in srgb,var(--t2b-brand) 38%,#fff),color-mix(in srgb,var(--t2b-good) 44%,#fff));
}

#s-finance .finance-bill-card.partial .finance-progress i,
.finance-step.partial i{background:var(--t2b-warn);}

#s-finance .finance-bill-card.new .finance-progress i,
.finance-step.new i{background:var(--t2b-hot);}

#s-finance .finance-bill-card.refund .finance-progress i,
.finance-step.refund i{background:var(--t2b-hot);}

#s-finance .finance-bill-meta{
  display:flex;
  justify-content:space-between;
  gap:8px;
  color:var(--finance-meta);
  font-size:var(--t2b-font-meta);
  font-weight:560;
}

#s-finance .finance-bill-badge{
  min-height:22px;
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  padding:0 8px;
  background:var(--t2b-brand-soft);
  color:var(--t2b-brand-text-deep);
  font-size:var(--t2b-font-meta);
  font-weight:540;
  flex:0 0 auto;
}

#s-finance .finance-bill-badge.partial{background:color-mix(in srgb,var(--t2b-warn) 16%,transparent);color:var(--t2b-warn);}
#s-finance .finance-bill-badge.new,
#s-finance .finance-bill-badge.open,
#s-finance .finance-bill-badge.refund{background:color-mix(in srgb,var(--t2b-hot) 12%,transparent);color:var(--t2b-hot);}
#s-finance .finance-bill-badge.done{background:var(--t2b-brand-soft);color:var(--t2b-brand-text-deep);}

#s-finance .finance-bill-shares{
  display:grid;
  gap:6px;
  padding-right:48px;
}

#s-finance .finance-share-row,
#s-finance .finance-debt-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto auto auto auto;
  align-items:center;
  gap:7px;
  border:1px solid var(--finance-line-soft);
  border-radius:13px;
  background:var(--t2b-surface-soft);
  padding:8px;
}

#s-finance .finance-share-row span,
#s-finance .finance-debt-row b{
  color:var(--finance-text);
  font-size:var(--t2b-font-body);
  font-weight:850;
  min-width:0;
}

#s-finance .finance-share-row span em{
  margin-left:4px;
  color:var(--finance-meta);
  font-size:var(--t2b-font-meta);
  font-style:normal;
}

#s-finance .finance-share-row b,
#s-finance .finance-debt-row strong{
  color:var(--t2b-brand);
  font-size:var(--t2b-font-body);
  font-weight:950;
  white-space:nowrap;
}

#s-finance .finance-share-row.pending b,
#s-finance .finance-debt-row strong{color:var(--t2b-hot-deep,var(--t2b-hot));}

#s-finance .finance-share-row.paid b{
  color:var(--t2b-brand);
}

#s-finance .finance-share-row i{
  color:var(--finance-meta);
  font-style:normal;
  font-size:var(--t2b-font-meta);
  font-weight:800;
  white-space:nowrap;
}

#s-finance .finance-refund-btn{
  justify-self:start;
  color:var(--t2b-hot);
  background:color-mix(in srgb,var(--t2b-hot) 10%,transparent);
  border-color:color-mix(in srgb,var(--t2b-hot) 24%,var(--finance-surface));
}

#s-finance .finance-section-title{
  padding:8px 12px;
  background:var(--t2b-surface-soft);
  color:var(--finance-meta);
  font-size:var(--t2b-font-meta);
  font-weight:620;
  text-transform:uppercase;
  letter-spacing:.04em;
}

#s-finance .finance-debt-row{
  grid-template-columns:auto minmax(0,1fr) auto auto;
  margin:8px 10px;
}

#s-finance .finance-debt-row span{
  display:block;
  margin-top:2px;
  color:var(--finance-meta);
  font-size:var(--t2b-font-meta);
  font-weight:750;
}

#s-finance .finance-debt-row.refund strong{color:var(--t2b-brand);}

#s-finance .finance-avatar{
  width:32px;
  height:32px;
  border-radius:999px;
  display:grid;
  place-items:center;
  background:linear-gradient(145deg,var(--t2b-brand),var(--t2b-good));
  color:var(--t2b-on-accent);
  font-size:11px;
  font-weight:950;
}

.finance-sheet-modal{
  position:fixed;
  inset:0;
  z-index:21000;
  display:none;
  align-items:flex-end;
  justify-content:center;
  background:rgba(15,23,42,.58);
  padding:16px 10px 0;
}

.finance-sheet-modal.open{display:flex;}

.finance-sheet{
  width:min(100%,460px);
  max-height:94vh;
  overflow:auto;
  background:var(--t2b-surface-card,#fff);
  border:1px solid var(--t2b-line,#dbe6ef);
  border-radius:22px 22px 0 0;
  box-shadow:0 -18px 40px rgba(15,23,42,.18);
  padding:16px 14px 18px;
  display:grid;
  gap:10px;
  position:relative;
}

.finance-sheet-close{
  position:absolute;
  top:10px;
  right:12px;
  width:34px;
  height:34px;
  border:1px solid var(--t2b-line,#dbe6ef);
  border-radius:999px;
  background:var(--t2b-surface-soft,#f7fbff);
  color:var(--t2b-text,#111827);
  font-size:22px;
  font-weight:800;
}

.finance-sheet-title{
  padding-right:42px;
  color:var(--t2b-text,#111827);
  font-size:18px;
  font-weight:620;
  line-height:1.2;
}

.finance-qr-box{
  width:180px;
  height:180px;
  margin:auto;
  border:1px solid var(--t2b-line,#dbe6ef);
  border-radius:20px;
  background:#fff;
  display:grid;
  place-items:center;
  padding:10px;
}

.finance-qr-guide{
  display:grid;
  gap:12px;
}

.finance-qr-guide section{
  border:1px solid var(--t2b-line-soft,#edf3f7);
  border-radius:18px;
  background:var(--t2b-surface-soft,#f7fbff);
  padding:10px;
}

.finance-qr-method{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  margin-bottom:9px;
}

.finance-qr-method b{
  color:var(--t2b-text,#111827);
  font-size:14px;
  font-weight:650;
}

.finance-qr-method em{
  color:var(--t2b-brand-text-deep,#057000);
  font-size:10px;
  font-style:normal;
  font-weight:650;
  text-transform:uppercase;
}

.finance-qr-main{
  display:grid;
  grid-template-columns:150px minmax(0,1fr);
  gap:10px;
}

.finance-qr-main-left{
  display:grid;
  gap:8px;
  align-content:start;
}

.finance-qr-guide .finance-qr-box{
  width:150px;
  height:150px;
  border-radius:16px;
}

.finance-qr-guide .finance-qr-box img{
  width:132px;
  height:132px;
}

.finance-save-qr{
  width:100%;
  margin-top:8px;
}

.finance-qr-hint{
  color:#7b8ba3;
  font-size:11px;
  line-height:1.35;
  text-align:center;
}

.finance-qr-box img{
  width:160px;
  height:160px;
  object-fit:contain;
}

.finance-qr-box span{
  color:#64748b;
  text-align:center;
  font-size:12px;
  font-weight:560;
}

.finance-qr-info{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:6px 10px;
  border:1px solid var(--t2b-line-soft,#edf3f7);
  border-radius:14px;
  padding:10px;
}

.finance-qr-guide .finance-qr-info{
  grid-template-columns:74px minmax(0,1fr);
  align-content:start;
}

.finance-qr-amount{
  color:#0f766e!important;
  font-size:18px!important;
}

.finance-qr-copy-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:8px;
  align-items:center;
  border:1px solid var(--t2b-line,#dbe6ef);
  border-radius:14px;
  background:var(--t2b-surface-card,#fff);
  padding:8px;
  margin-top:7px;
}

.finance-qr-copy-row b{
  min-width:0;
  color:var(--t2b-text,#111827);
  font-size:12px;
  font-weight:560;
  overflow-wrap:anywhere;
}

.finance-qr-copy-row button{
  min-height:32px;
  border:1px solid color-mix(in srgb,var(--t2b-brand,#0a8f08) 26%,var(--t2b-line,#dbe6ef));
  border-radius:999px;
  background:var(--t2b-brand-soft,#e7f8e7);
  color:var(--t2b-brand-text-deep,#057000);
  font-size:12px;
  font-weight:560;
  padding:0 10px;
}

.finance-qr-copy-card{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:10px;
  align-items:center;
  border:1px solid var(--t2b-line-soft,#edf3f7);
  border-radius:16px;
  background:#fff;
  padding:10px;
  margin-top:8px;
}

.finance-qr-copy-content{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:6px 8px;
  align-items:center;
}

.finance-qr-copy-btn{
  min-width:56px;
  min-height:42px;
  border:1px solid color-mix(in srgb,var(--t2b-brand,#0a8f08) 24%,var(--t2b-line,#dbe6ef));
  border-radius:14px;
  background:var(--t2b-brand-soft,#e7f8e7);
  color:var(--t2b-brand-text-deep,#057000);
  font-size:12px;
  font-weight:700;
}

.finance-qr-share-actions{
  margin-top:2px;
}

.finance-qr-share-actions .finance-icon-action{
  margin-left:auto;
}

.finance-qr-info span{
  color:var(--t2b-brand,#0a8f08);
  font-size:12px;
  font-weight:560;
}

.finance-qr-info b{
  color:var(--t2b-text,#111827);
  font-size:13px;
  font-weight:680;
  overflow-wrap:anywhere;
}

.finance-check-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:6px;
  max-height:260px;
  overflow:auto;
  border:1px solid var(--t2b-line-soft,#edf3f7);
  border-radius:16px;
  padding:6px;
  background:var(--t2b-surface-card,#fff);
}

.finance-check{
  display:flex;
  align-items:center;
  gap:7px;
  min-height:34px;
  border:1px solid var(--t2b-line-soft,#edf3f7);
  border-radius:13px;
  padding:0 8px;
  background:var(--t2b-surface-soft,#f7fbff);
  color:var(--t2b-text,#111827);
  font-size:13px;
  font-weight:520;
}

.finance-check input{
  accent-color:var(--t2b-brand,#0a8f08);
}

.finance-check span{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.finance-check em{
  margin-left:auto;
  color:var(--t2b-meta,#64748b);
  font-style:normal;
  font-size:12px;
  font-weight:520;
  white-space:nowrap;
}

.finance-check em.manual{
  min-width:92px;
  min-height:28px;
  border:1px solid var(--t2b-line,#dbe6ef);
  border-radius:10px;
  background:var(--t2b-surface-card,#fff);
  color:var(--t2b-text,#111827);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 9px;
  text-align:center;
}

.finance-ticket-preview,
.finance-bill-draft-total,
.finance-bill-sheet-summary,
.finance-bill-sheet-members{
  border:1px solid var(--t2b-line-soft,#edf3f7);
  border-radius:14px;
  background:var(--t2b-surface-soft,#f7fbff);
  padding:10px;
}

.finance-bill-filter-chips{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  margin:10px 0;
}

.finance-bill-filter-chip{
  min-height:46px;
  border-radius:14px;
  border:1px solid var(--t2b-line-soft,#edf3f7);
  background:#fff;
  display:grid;
  justify-items:center;
  align-content:center;
  gap:4px;
  padding:6px 8px;
  transition:transform .12s ease,background .12s ease,border-color .12s ease,box-shadow .12s ease;
}

.finance-bill-filter-chip b{
  font-size:16px;
  line-height:1;
  font-weight:650;
}

.finance-bill-filter-chip span{
  font-size:11px;
  font-weight:500;
}

.finance-bill-filter-chip:active{
  transform:translateY(1px) scale(.98);
}

.finance-bill-filter-chip.active{
  background:var(--t2b-surface-soft,#f7fbff);
  box-shadow:0 8px 18px color-mix(in srgb,var(--t2b-brand,#0a8f08) 10%,transparent);
}

.finance-bill-filter-chip.paid{
  color:var(--t2b-brand-text-deep,#057000);
}

.finance-bill-filter-chip.claimed{
  color:var(--t2b-accent,#3366ff);
}

.finance-bill-filter-chip.pending{
  color:var(--t2b-hot-deep,#be123c);
}

.finance-ticket-preview{
  display:grid;
  gap:4px;
  color:var(--t2b-meta,#64748b);
  font-size:12px;
  font-weight:560;
}

.finance-ticket-preview b,
.finance-ticket-preview em{
  color:var(--t2b-text,#111827);
  font-style:normal;
  overflow-wrap:anywhere;
}

.finance-form-step{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:center;
  gap:8px;
  border-bottom:1px solid color-mix(in srgb,var(--t2b-brand,#0a8f08) 18%,var(--t2b-line-soft,#edf3f7));
  padding:5px 0 7px;
  margin-top:2px;
  color:var(--t2b-meta,#64748b);
  font-size:12px;
  font-weight:560;
  letter-spacing:0;
}

.finance-form-step i{
  width:22px;
  height:22px;
  display:grid;
  place-items:center;
  border-radius:999px;
  background:var(--t2b-brand-soft,#e7f8e7);
  color:var(--t2b-brand-text-deep,#057000);
  font-style:normal;
  font-size:12px;
  font-weight:620;
}

.finance-form-step b{
  color:var(--t2b-brand-text-deep,#057000);
  font-size:12px;
  font-weight:620;
  text-transform:uppercase;
  letter-spacing:.045em;
}

.finance-form-step span{
  display:none;
}

.finance-sheet-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}

.finance-money-date{
  grid-template-columns:minmax(0,1.25fr) minmax(118px,.75fr);
}

.finance-bill-money-field input{
  font-size:18px;
  font-weight:620;
}

.finance-bill-amount-row{
  display:flex;
  align-items:stretch;
  gap:8px;
}

.finance-bill-amount-row .finance-bill-money-field{
  flex:1 1 auto;
  min-width:178px;
}

.finance-bill-amount-row .finance-split-mode{
  flex:0 0 auto;
  align-self:center;
}

.finance-bill-money-field input::placeholder{
  color:color-mix(in srgb,var(--t2b-meta,#64748b) 72%,transparent);
  font-size:14px;
  font-weight:480;
}

.finance-payer-label{
  color:var(--t2b-meta,#64748b);
  font-size:12px;
  font-weight:540;
  padding:2px 2px 0;
}

.finance-bill-draft-total{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  color:var(--t2b-meta,#64748b);
  font-size:13px;
  font-weight:520;
}

.finance-bill-draft-total b{
  color:var(--t2b-text,#111827);
  font-weight:620;
}

.finance-payer-choice,
.finance-split-mode,
.finance-external-box{
  display:grid;
  gap:6px;
}

.finance-bill-check-list .finance-check{
  display:grid;
  grid-template-columns:auto auto auto minmax(0,1fr) minmax(82px,auto);
  align-items:center;
  column-gap:7px;
}

.finance-bill-check-header{
  grid-column:1/-1;
  display:grid;
  grid-template-columns:34px minmax(0,1fr) minmax(82px,auto);
  align-items:center;
  column-gap:8px;
  min-height:34px;
  padding:0 9px;
  border:1px solid var(--t2b-line-soft,#edf3f7);
  border-radius:13px;
  background:var(--t2b-surface-soft,#f7fbff);
  color:color-mix(in srgb,var(--t2b-meta,#64748b) 84%,var(--t2b-brand,#0a8f08));
  font-size:12px;
  font-weight:650;
  letter-spacing:0;
}

.finance-check-all{
  width:22px;
  height:22px;
  display:grid;
  place-items:center;
  position:relative;
}

.finance-check-all input{
  position:absolute;
  inset:0;
  opacity:0;
  margin:0;
}

.finance-check-all span{
  width:18px;
  height:18px;
  border:1px solid color-mix(in srgb,var(--t2b-brand,#0a8f08) 24%,var(--t2b-line,#dbe6ef));
  border-radius:6px;
  background:var(--t2b-surface-card,#fff);
}

.finance-check-all input:checked + span,
.finance-check-all input:indeterminate + span{
  background:var(--t2b-brand-soft,#e7f8e7);
  border-color:color-mix(in srgb,var(--t2b-brand,#0a8f08) 44%,var(--t2b-line,#dbe6ef));
}

.finance-check-all input:checked + span::after{
  content:"";
  display:block;
  width:5px;
  height:9px;
  border:solid var(--t2b-brand-text-deep,#057000);
  border-width:0 2px 2px 0;
  transform:translate(5px,2px) rotate(45deg);
}

.finance-check-all input:indeterminate + span::after{
  content:"";
  display:block;
  width:8px;
  height:2px;
  margin:7px auto 0;
  border-radius:999px;
  background:var(--t2b-brand-text-deep,#057000);
}

.finance-bill-check-list .finance-add-external-row{
  grid-column:1/-1;
  grid-template-columns:1fr;
  min-height:42px;
  border:1px dashed color-mix(in srgb,var(--t2b-brand,#0a8f08) 34%,var(--t2b-line,#dbe6ef));
  background:color-mix(in srgb,var(--t2b-brand-soft,#e7f8e7) 42%,transparent);
  color:var(--t2b-brand-text-deep,#057000);
  justify-items:center;
  cursor:pointer;
}

.finance-bill-check-list .finance-external-person{
  grid-template-columns:auto auto auto minmax(0,1fr) auto auto;
}

.finance-bill-check-list .finance-check em{
  margin-left:0;
  justify-self:end;
}

.finance-bill-check-list .finance-check i{
  width:22px;
  height:22px;
  border-radius:999px;
  display:grid;
  place-items:center;
  background:var(--t2b-surface-soft,#f7fbff);
  color:var(--t2b-meta,#64748b);
  font-style:normal;
  font-size:11px;
  font-weight:560;
}

.finance-bill-check-list .finance-check b{
  width:28px;
  height:28px;
  border-radius:999px;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,color-mix(in srgb,var(--t2b-brand,#0a8f08) 50%,#fff) 0 50%,color-mix(in srgb,var(--t2b-warn,#f0b90b) 55%,#fff) 50% 100%);
  color:var(--t2b-brand-text-deep,#057000);
  font-size:11px;
  font-weight:650;
}

.finance-bill-check-list .finance-external-name{
  min-width:0;
  width:100%;
  border:0;
  outline:0;
  background:transparent;
  color:var(--t2b-text,#111827);
  font-family:var(--t2b-font);
  font-size:13px;
  font-weight:520;
}

.finance-bill-check-list .finance-external-person button{
  width:26px;
  height:26px;
  border:1px solid color-mix(in srgb,var(--t2b-hot,#ef4444) 26%,var(--t2b-line,#dbe6ef));
  border-radius:999px;
  background:color-mix(in srgb,var(--t2b-hot,#ef4444) 8%,#fff);
  color:var(--t2b-hot,#ef4444);
  font-size:15px;
  line-height:1;
}

.finance-payer-choice{
  grid-template-columns:1fr 1fr;
}

.finance-payer-choice label{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:0 7px;
  align-items:center;
  border:1px solid var(--t2b-line,#dbe6ef);
  border-radius:14px;
  background:var(--t2b-surface-soft,#f7fbff);
  padding:8px 10px;
  color:var(--t2b-meta,#64748b);
  font-size:12px;
}

.finance-payer-choice label.on{
  border-color:color-mix(in srgb,var(--t2b-brand,#0a8f08) 42%,var(--t2b-line,#dbe6ef));
  background:var(--t2b-brand-soft,#e7f8e7);
}

.finance-payer-choice input{
  grid-row:1/2;
  margin-top:0;
  accent-color:var(--t2b-brand,#0a8f08);
}

.finance-payer-choice b{
  color:var(--t2b-text,#111827);
  font-size:13px;
  font-weight:560;
}

.finance-bill-payer-paid{
  display:grid;
  gap:0;
}

.finance-bill-payer-paid-toggle{
  min-height:40px;
  display:inline-flex;
  align-items:center;
  gap:8px;
  border:1px solid var(--t2b-line,#dbe6ef);
  border-radius:14px;
  background:var(--t2b-surface-soft,#f7fbff);
  padding:0 12px;
}

.finance-bill-payer-paid-toggle input{
  width:18px;
  height:18px;
  accent-color:var(--t2b-brand,#0a8f08);
}

.finance-bill-payer-paid-toggle b{
  color:var(--t2b-text,#111827);
  font-size:13px;
  font-weight:560;
}

.finance-payer-choice span{
  line-height:1.3;
  font-weight:520;
}

.finance-split-mode{
  grid-template-columns:auto auto;
  justify-content:center;
  border:1px solid var(--t2b-line,#dbe6ef);
  border-radius:999px;
  background:var(--t2b-surface-soft,#f7fbff);
  padding:3px;
  width:max-content;
  margin:0 auto;
}

.finance-bill-amount-row .finance-split-mode{
  width:max-content;
  margin:0;
  justify-content:center;
}

.finance-bill-amount-row .finance-split-mode button{
  width:auto;
  min-width:82px;
  padding:0 14px;
}

.finance-split-mode button,
.finance-external-box > button,
.finance-external-row button{
  min-height:36px;
  border:0;
  border-radius:999px;
  background:transparent;
  color:var(--t2b-meta,#64748b);
  font-family:var(--t2b-font);
  font-size:12px;
  font-weight:560;
  padding:0 12px;
}

.finance-split-mode button.active,
.finance-external-box > button{
  background:var(--t2b-brand-soft,#e7f8e7);
  color:var(--t2b-brand-text-deep,#057000);
}

.finance-external-box > button{
  justify-self:center;
  padding:0 10px;
  width:auto;
  min-height:32px;
}

.finance-optional-fields{
  border:1px solid var(--t2b-line-soft,#edf3f7);
  border-radius:13px;
  background:var(--t2b-surface-soft,#f7fbff);
  padding:0;
}

.finance-optional-fields summary{
  min-height:34px;
  display:flex;
  align-items:center;
  padding:0 10px;
  color:var(--t2b-meta,#64748b);
  font-size:12px;
  font-weight:540;
  cursor:pointer;
}

.finance-optional-fields[open]{
  padding-bottom:8px;
}

.finance-optional-fields[open] summary{
  border-bottom:1px solid var(--t2b-line-soft,#edf3f7);
  margin-bottom:8px;
}

.finance-optional-fields .t2b-field{
  margin:0 8px 7px;
}

.finance-external-box{
  border:1px dashed color-mix(in srgb,var(--t2b-brand,#0a8f08) 34%,var(--t2b-line,#dbe6ef));
  border-radius:16px;
  padding:7px;
  background:color-mix(in srgb,var(--t2b-brand-soft,#e7f8e7) 42%,transparent);
}

#finance-external-list{
  display:grid;
  gap:7px;
}

.finance-external-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(92px,.7fr) auto;
  gap:6px;
}

.finance-external-row button{
  width:36px;
  background:var(--t2b-surface-card,#fff);
  border:1px solid var(--t2b-line,#dbe6ef);
  color:var(--t2b-hot,#ef4444);
  font-size:18px;
}

.finance-stepper{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:0;
  overflow-x:auto;
  padding:2px 0 6px;
}

.finance-step{
  min-width:0;
  display:grid;
  justify-items:center;
  gap:4px;
  color:var(--t2b-meta,#64748b);
  font-size:10px;
  font-weight:560;
  text-align:center;
  padding:2px 2px 0;
  position:relative;
}

.finance-step:not(:last-child):after{
  content:"";
  position:absolute;
  top:16px;
  left:calc(50% + 18px);
  right:calc(-50% + 18px);
  height:2px;
  border-radius:999px;
  background:color-mix(in srgb,var(--t2b-brand,#0a8f08) 26%,var(--t2b-line-soft,#edf3f7));
  z-index:0;
}

.finance-step i{
  width:30px;
  height:30px;
  border-radius:999px;
  display:grid;
  place-items:center;
  border:1px solid var(--t2b-line-soft,#edf3f7);
  background:var(--t2b-surface-card,#fff);
  color:var(--t2b-meta,#64748b);
  font-style:normal;
  font-weight:720;
  box-shadow:0 5px 12px color-mix(in srgb,var(--t2b-brand,#0a8f08) 10%,transparent);
  position:relative;
  z-index:1;
}

.finance-step.on{color:var(--t2b-brand,#0a8f08);}
.finance-step.on i{
  background:var(--t2b-brand,#0a8f08);
  border-color:var(--t2b-brand,#0a8f08);
  color:#fff;
}
.finance-step.current{color:var(--t2b-warn,#f0b90b);}
.finance-step.current i{
  background:var(--t2b-warn,#f0b90b);
  border-color:var(--t2b-warn,#f0b90b);
  color:#172033;
}
.finance-step.done.current{color:var(--t2b-brand,#0a8f08);}
.finance-step.refund.current{color:var(--t2b-hot,#ef4444);}
.finance-step.refund.current i{
  background:var(--t2b-hot,#ef4444);
  border-color:var(--t2b-hot,#ef4444);
  color:#fff;
}
.finance-step:not(.on) i{
  background:var(--t2b-surface-card,#fff);
  border-color:var(--t2b-line-soft,#edf3f7);
  color:var(--t2b-meta,#64748b);
}

.finance-bill-sheet-summary{
  display:grid;
  gap:5px;
  padding:8px;
}

.finance-sheet .finance-auto-status{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
  border:1px solid var(--t2b-line-soft,#edf3f7);
  border-radius:14px;
  background:var(--t2b-surface-soft,#f7fbff);
  padding:8px 9px;
  color:var(--t2b-meta,#64748b);
  font-size:12px;
  line-height:1.3;
  font-weight:560;
}

.finance-sheet .finance-auto-status b{
  color:var(--t2b-text,#111827);
  font-weight:700;
  white-space:nowrap;
}

.finance-sheet .finance-auto-status span{
  text-align:right;
}

.finance-bill-sheet-summary > div:first-child{
  display:flex;
  justify-content:space-between;
  gap:10px;
}

.finance-bill-sheet-money{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:8px;
}

.finance-bill-sheet-money em{
  text-align:right;
}

.finance-bill-sheet-summary b,
.finance-bill-sheet-summary strong{
  color:var(--t2b-text,#111827);
  font-weight:620;
}

.finance-bill-sheet-summary span,
.finance-bill-sheet-summary em{
  color:var(--t2b-meta,#64748b);
  font-size:12px;
  font-style:normal;
  font-weight:480;
}

.finance-sheet-subtitle,
.finance-bill-sheet-member{
  display:grid;
  grid-template-columns:auto auto minmax(0,1fr) auto;
  align-items:center;
  gap:8px;
}

.finance-sheet-subtitle{
  grid-template-columns:minmax(0,1fr) auto;
  color:var(--t2b-meta,#64748b);
  font-size:11px;
  font-weight:620;
  text-transform:uppercase;
  letter-spacing:.04em;
  padding:0 0 8px;
}

.finance-bill-sheet-member{
  border-top:1px solid var(--t2b-line-soft,#edf3f7);
  padding:7px 0;
}

#finance-bill-sheet-members-list{
  display:grid;
  gap:0;
  transition:opacity .16s ease,transform .16s ease;
}

#finance-bill-sheet-members-list.updating{
  opacity:.7;
  transform:translateY(1px);
}

.finance-sheet .finance-avatar{
  width:30px;
  height:30px;
  border-radius:999px;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,color-mix(in srgb,var(--t2b-brand,#0a8f08) 50%,#fff) 0 50%,color-mix(in srgb,var(--t2b-warn,#f0b90b) 55%,#fff) 50% 100%);
  color:var(--t2b-brand-text-deep,#057000);
  font-size:11px;
  font-weight:720;
}

.finance-bill-sheet-member b{
  color:var(--t2b-text,#111827);
  font-size:13px;
  font-weight:560;
}

.finance-bill-sheet-member span{
  display:block;
  margin-top:2px;
  color:var(--t2b-meta,#64748b);
  font-size:11px;
  font-weight:460;
}

.finance-bill-sheet-member strong{
  color:var(--t2b-text,#111827);
  font-size:13px;
  font-weight:620;
  white-space:nowrap;
}

.finance-bill-sheet-side{
  display:grid;
  justify-items:end;
  gap:5px;
  min-width:0;
}
.finance-bill-sheet-member i{
  width:24px;
  height:24px;
  border-radius:999px;
  display:grid;
  place-items:center;
  background:var(--t2b-brand-soft,#e7f8e7);
  color:var(--t2b-brand-text-deep,#057000);
  font-style:normal;
  font-weight:720;
}

.finance-bill-sheet-member .finance-member-index{
  background:var(--t2b-surface-card,#fff);
  color:var(--t2b-meta,#64748b);
  border:1px solid var(--t2b-line-soft,#edf3f7);
  font-size:10px;
  font-weight:560;
}

.finance-bill-sheet-member button{
  min-height:28px;
  border:1px solid var(--t2b-line,#dbe6ef);
  border-radius:999px;
  background:var(--t2b-brand-soft,#e7f8e7);
  color:var(--t2b-brand-text-deep,#057000);
  padding:0 9px;
  font-size:11px;
  font-weight:540;
  cursor:pointer;
  box-shadow:0 4px 10px color-mix(in srgb,var(--t2b-brand,#0a8f08) 10%,transparent);
  transition:transform .14s ease,background .14s ease,border-color .14s ease,box-shadow .14s ease;
}

.finance-bill-sheet-member button:hover{
  border-color:color-mix(in srgb,var(--t2b-brand,#0a8f08) 45%,var(--t2b-line,#dbe6ef));
  background:color-mix(in srgb,var(--t2b-brand-soft,#e7f8e7) 70%,#fff);
  box-shadow:0 6px 14px color-mix(in srgb,var(--t2b-brand,#0a8f08) 16%,transparent);
}

.finance-bill-sheet-member button:active{
  transform:scale(.94);
}

.finance-member-actions{
  display:flex;
  gap:4px;
  justify-content:flex-end;
  flex-wrap:wrap;
}

.finance-member-actions .finance-icon-action.share{
  width:32px!important;
  min-width:32px!important;
  height:32px!important;
  min-height:32px!important;
  padding:0!important;
  border-radius:999px!important;
}

.finance-member-actions .finance-icon-action.share span{
  display:none!important;
}

.finance-share-link-sheet{
  display:grid;
  gap:10px;
}

.finance-share-manual-sheet{
  display:grid;
  gap:10px;
}

.finance-share-manual-sheet b{
  color:var(--t2b-text,#111827);
  font-size:15px;
  font-weight:620;
}

.finance-share-manual-sheet > span,
.finance-share-manual-sheet label small{
  color:var(--t2b-meta,#64748b);
  font-size:12px;
  line-height:1.35;
  font-weight:560;
}

.finance-share-manual-sheet label{
  display:grid;
  gap:6px;
}

.finance-share-manual-qr{
  display:grid;
  place-items:center;
  padding:12px;
  border:1px solid var(--t2b-line-soft,#edf3f7);
  border-radius:16px;
  background:var(--t2b-surface-soft,#f7fbff);
}

.finance-share-manual-qr img{
  width:min(220px,100%);
  aspect-ratio:1;
  object-fit:contain;
}

.finance-share-manual-qr.compact{
  padding:8px;
  width:92px;
  min-width:92px;
}

.finance-share-manual-qr.compact img{
  width:76px;
}

.finance-share-manual-qr-list{
  display:grid;
  gap:10px;
}

.finance-share-manual-qr-item{
  display:grid;
  gap:8px;
  padding:10px;
  border:1px solid var(--t2b-line-soft,#edf3f7);
  border-radius:16px;
  background:var(--t2b-surface-soft,#f7fbff);
}

.finance-share-manual-qr-head{
  display:flex;
  justify-content:space-between;
  gap:8px;
  align-items:baseline;
}

.finance-share-manual-qr-head b{
  font-size:13px;
  font-weight:650;
}

.finance-share-manual-qr-head span{
  color:var(--t2b-meta,#64748b);
  font-size:12px;
  line-height:1.3;
  text-align:right;
}

.finance-share-manual-qr-row{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:10px;
  align-items:center;
}

.finance-share-manual-qr-copy{
  display:grid;
  gap:4px;
  min-width:0;
}

.finance-share-manual-qr-copy b{
  color:var(--t2b-text,#111827);
  font-size:13px;
  font-weight:650;
  line-height:1.25;
}

.finance-share-manual-qr-copy span,
.finance-share-manual-qr-copy small{
  color:var(--t2b-meta,#64748b);
  font-size:12px;
  line-height:1.3;
  font-weight:560;
  word-break:break-word;
}

.finance-share-manual-box,
.finance-share-manual-sheet textarea{
  width:100%;
  padding:10px 12px;
  border:1px solid var(--t2b-line-soft,#edf3f7);
  border-radius:14px;
  background:var(--t2b-surface-soft,#f7fbff);
  color:var(--t2b-text,#111827);
  font:600 13px/1.45 var(--t2b-font);
  word-break:break-word;
}

.finance-share-manual-sheet textarea{
  min-height:110px;
  resize:vertical;
}

.finance-share-link-sheet b{
  color:var(--t2b-text,#111827);
  font-size:15px;
  font-weight:620;
}

.finance-share-link-sheet small{
  display:block;
  padding:10px 12px;
  border:1px solid var(--t2b-line-soft,#edf3f7);
  border-radius:14px;
  background:var(--t2b-surface-soft,#f7fbff);
  color:var(--t2b-meta,#64748b);
  font-size:12px;
  line-height:1.35;
  word-break:break-all;
}

.finance-share-link-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}

.finance-sheet .finance-submit.subtle{
  background:var(--t2b-brand-soft,#e7f8e7);
  color:var(--t2b-brand-text-deep,#057000);
}

.finance-sheet .finance-submit,
.finance-sheet .finance-cancel{
  min-height:40px;
  border:1px solid color-mix(in srgb,var(--t2b-brand,#0a8f08) 24%,var(--t2b-surface-card,#fff));
  border-radius:999px;
  font-family:var(--t2b-font);
  font-size:14px;
  font-weight:620;
  padding:0 14px;
}

.finance-sheet .finance-submit{
  background:linear-gradient(135deg,var(--t2b-brand,#0a8f08),var(--t2b-brand-deep,#057000));
  color:var(--t2b-on-accent,#fff);
}

.finance-sheet .finance-submit:active{
  transform:translateY(1px) scale(.985);
  filter:saturate(1.08);
}

.finance-sheet .finance-submit[data-busy="1"],
.finance-sheet .finance-submit.loading{
  pointer-events:none;
  opacity:.78;
  filter:saturate(.9);
  box-shadow:inset 0 0 0 999px rgba(255,255,255,.08);
}

.finance-sheet .finance-cancel{
  background:var(--t2b-surface-soft,#f7fbff);
  color:var(--t2b-text-2,#475569);
  flex:0 0 auto;
}

.finance-beer-detail-summary{
  display:grid;
  grid-template-columns:auto 1fr auto 1fr;
  align-items:center;
  gap:6px;
  border:1px solid var(--t2b-line-soft,#edf3f7);
  border-radius:14px;
  background:var(--t2b-surface-soft,#f7fbff);
  padding:8px 10px;
}

.finance-beer-detail-summary span{
  color:var(--t2b-meta,#64748b);
  font-size:12px;
  font-weight:520;
}

.finance-beer-detail-summary b{
  color:var(--t2b-text,#111827);
  font-size:13px;
  font-weight:620;
  text-align:right;
}

.finance-beer-detail-list{
  display:grid;
  border:1px solid var(--t2b-line-soft,#edf3f7);
  border-radius:16px;
  overflow:hidden;
  background:var(--t2b-surface-card,#fff);
}

.finance-beer-select-bar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  min-height:30px;
  padding:0 4px;
}

.finance-beer-select-bar label{
  display:inline-flex;
  align-items:center;
  gap:6px;
  color:var(--t2b-meta,#64748b);
  font-size:12px;
  font-weight:560;
}

.finance-beer-select-bar input{
  accent-color:var(--t2b-brand,#0a8f08);
}

.finance-beer-detail-row{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto auto;
  align-items:center;
  gap:8px;
  min-height:54px;
  padding:8px 10px;
  border-bottom:1px solid var(--t2b-line-soft,#edf3f7);
}

.finance-beer-detail-row:last-child{
  border-bottom:0;
}

.finance-beer-detail-pick{
  width:42px;
  min-height:36px;
  border-radius:12px;
  display:grid;
  grid-template-columns:auto auto;
  align-items:center;
  justify-content:center;
  gap:4px;
  background:color-mix(in srgb,var(--t2b-brand-soft,#e7f8e7) 52%,transparent);
  color:var(--t2b-meta,#64748b);
}

.finance-beer-detail-row.pending .finance-beer-detail-pick{
  background:color-mix(in srgb,var(--t2b-brand,#0a8f08) 10%,var(--t2b-surface-soft,#f7fbff));
}

.finance-beer-detail-pick i{
  font-style:normal;
  font-size:11px;
  font-weight:560;
}

.finance-beer-detail-pick input{
  width:14px;
  height:14px;
  accent-color:var(--t2b-brand,#0a8f08);
}

.finance-beer-detail-row b{
  display:block;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:var(--t2b-text,#111827);
  font-size:13px;
  font-weight:560;
}

.finance-beer-detail-row span{
  display:block;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:var(--t2b-meta,#64748b);
  font-size:11px;
  font-style:normal;
  font-weight:460;
}

.finance-beer-detail-row strong{
  color:var(--t2b-hot-deep,#be123c);
  font-size:13px;
  font-weight:620;
  white-space:nowrap;
}

.finance-beer-detail-row.paid strong{
  color:var(--t2b-brand,#0a8f08);
}

.finance-beer-paid-chip,
.finance-beer-unpaid-chip{
  min-height:20px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 8px;
  background:color-mix(in srgb,var(--t2b-hot,#ef4444) 10%,transparent);
  color:var(--t2b-hot,#ef4444);
  font-size:11px;
  font-style:normal;
  font-weight:560;
  white-space:nowrap;
}

.finance-beer-paid-chip{
  background:var(--t2b-brand-soft,#e7f8e7);
  color:var(--t2b-brand-text-deep,#057000);
}

.finance-beer-detail-row button{
  justify-self:end;
  min-height:26px;
  border:1px solid color-mix(in srgb,var(--t2b-brand,#0a8f08) 22%,var(--t2b-line,#dbe6ef));
  border-radius:999px;
  background:var(--t2b-brand-soft,#e7f8e7);
  color:var(--t2b-brand-text-deep,#057000);
  font-family:var(--t2b-font);
  font-size:11px;
  font-weight:560;
  padding:0 10px;
  white-space:nowrap;
}

.finance-beer-row-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:5px;
  min-width:0;
}

.finance-beer-gom-top{
  min-height:38px;
}

#s-finance .finance-bill-list-side strong,
#s-finance .finance-row-amount b{
  white-space:nowrap;
  text-align:right;
  font-weight:680;
}

#s-finance .finance-beer-member-row .finance-bill-list-side strong{
  color:var(--t2b-brand);
}

#s-finance .finance-beer-detail-summary.selected{
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:10px;
}

#s-finance .finance-beer-detail-summary.selected b{
  text-align:right;
  white-space:normal;
  line-height:1.25;
}

#s-finance .finance-ticket-list-row,
#s-finance .finance-debt-row,
#s-finance .finance-ledger-card .finance-row{
  align-items:center;
}

#s-finance .finance-ticket-list-row,
#s-finance .finance-ledger-card .finance-row{
  grid-template-columns:auto minmax(0,1fr) minmax(88px,auto);
}

#s-finance .finance-debt-row{
  grid-template-columns:auto minmax(0,1fr) auto auto;
}

#s-finance .finance-ticket-list-row .finance-bill-list-main,
#s-finance .finance-ledger-card .finance-row-main,
#s-finance .finance-debt-row > div:nth-child(2){
  min-width:0;
}

#s-finance .finance-ticket-list-row .finance-bill-list-main > div,
#s-finance .finance-ledger-card .finance-row-main b,
#s-finance .finance-debt-row b{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

#s-finance .finance-ticket-list-row .finance-bill-list-side,
#s-finance .finance-debt-actions{
  display:grid;
  justify-items:end;
  gap:5px;
}

#s-finance .finance-ticket-list-row .finance-bill-list-actions,
#s-finance .finance-debt-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:5px;
  flex-wrap:nowrap;
}

#s-finance .finance-ticket-list-row .finance-icon-action,
#s-finance .finance-debt-row .finance-icon-action{
  width:auto;
  min-width:32px;
  height:32px;
  min-height:32px;
  padding:0 10px;
}

#s-finance .finance-ticket-list-row .finance-icon-action span,
#s-finance .finance-debt-row .finance-icon-action span{
  display:inline;
}

#s-finance .finance-ticket-list-row .finance-icon-action svg,
#s-finance .finance-debt-row .finance-icon-action svg{
  width:15px;
  height:15px;
}

#s-finance .finance-debt-row .finance-debt-icon-only{
  width:32px!important;
  min-width:32px!important;
  height:32px!important;
  min-height:32px!important;
  padding:0!important;
  border-radius:999px!important;
  background:var(--t2b-brand-soft)!important;
  border-color:color-mix(in srgb,var(--t2b-brand) 26%,var(--finance-line))!important;
  color:var(--t2b-brand-text-deep)!important;
  box-shadow:none;
}

#s-finance .finance-debt-row .finance-debt-icon-only span{
  display:none!important;
}

#s-finance .finance-debt-row .finance-debt-icon-only svg{
  width:15px;
  height:15px;
  stroke-width:2;
}

#s-finance .finance-icon-action.qr,
#s-finance .finance-icon-action.qrgrid,
#s-finance .finance-icon-action.paid,
.finance-sheet .finance-icon-action.qr,
.finance-sheet .finance-icon-action.qrgrid,
.finance-sheet .finance-icon-action.paid{
  width:auto!important;
  min-width:32px!important;
  height:32px!important;
  min-height:32px!important;
  padding:0 10px!important;
  border-radius:999px!important;
  background:var(--t2b-brand-soft,#e7f8e7)!important;
  border-color:color-mix(in srgb,var(--t2b-brand,#0a8f08) 26%,var(--finance-line,#dbe6ef))!important;
  color:var(--t2b-brand-text-deep,#057000)!important;
  box-shadow:none!important;
}

#s-finance .finance-icon-action.qr span,
#s-finance .finance-icon-action.qrgrid span,
#s-finance .finance-icon-action.paid span,
.finance-sheet .finance-icon-action.qr span,
.finance-sheet .finance-icon-action.qrgrid span,
.finance-sheet .finance-icon-action.paid span{
  display:inline!important;
}

#s-finance .finance-icon-action.qr svg,
#s-finance .finance-icon-action.qrgrid svg,
#s-finance .finance-icon-action.paid svg,
.finance-sheet .finance-icon-action.qr svg,
.finance-sheet .finance-icon-action.qrgrid svg,
.finance-sheet .finance-icon-action.paid svg{
  width:15px!important;
  height:15px!important;
  flex:0 0 15px!important;
}

#s-finance .finance-ledger-card .finance-row-amount{
  grid-column:3;
  justify-self:end;
  align-self:center;
  min-width:88px;
  text-align:right;
}

#s-finance .finance-ledger-card .finance-row-amount b{
  display:block;
  white-space:nowrap;
}

#s-finance .finance-ledger-card .finance-row-main span{
  display:block;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

#s-finance .finance-icon-action,
.finance-sheet .finance-icon-action{
  width:32px!important;
  min-width:32px!important;
  height:32px!important;
  min-height:32px!important;
  padding:0!important;
  gap:0!important;
  border-radius:999px!important;
}

#s-finance .finance-icon-action span,
.finance-sheet .finance-icon-action span{
  display:none!important;
}

.finance-ticket-detail{
  display:grid;
  justify-items:center;
  gap:4px;
  border:1px solid var(--t2b-line-soft,#edf3f7);
  border-radius:16px;
  background:var(--t2b-surface-soft,#f7fbff);
  padding:14px;
  text-align:center;
}

.finance-ticket-big{
  width:54px;
  height:54px;
  border-radius:18px;
  display:grid;
  place-items:center;
  background:linear-gradient(145deg,var(--t2b-brand,#0a8f08),var(--t2b-good,#16a34a));
  color:var(--t2b-on-accent,#fff);
  font-size:22px;
  font-weight:780;
}

.finance-ticket-big.pending{
  background:linear-gradient(145deg,var(--t2b-hot,#ef4444),var(--t2b-warn,#f0b90b));
}

.finance-ticket-detail b,
.finance-ticket-detail strong{
  color:var(--t2b-text,#111827);
  font-weight:760;
}

.finance-ticket-detail span,
.finance-ticket-detail em{
  color:var(--t2b-meta,#64748b);
  font-size:12px;
  font-style:normal;
  font-weight:560;
}

.finance-sheet-actions{
  display:flex;
  gap:8px;
  flex-wrap:nowrap;
}

.finance-submit.danger{
  background:linear-gradient(135deg,var(--t2b-hot,#ef4444),var(--t2b-hot-deep,#be123c));
}

@media (max-width:767px){
  .finance-sheet-modal{
    padding:0;
  }
  .finance-sheet{
    width:100%;
    max-height:95vh;
    border-left:0;
    border-right:0;
    border-radius:18px 18px 0 0;
    padding:18px 16px 22px;
    gap:12px;
  }
  .finance-sheet .finance-form-grid,
  .finance-sheet .finance-sheet-grid,
  .finance-sheet .finance-money-date,
  .finance-sheet .finance-ledger-form-grid{
    grid-template-columns:1fr!important;
    gap:10px!important;
  }
  .finance-sheet .t2b-field,
  .finance-sheet .t2b-input,
  .finance-sheet .t2b-select{
    min-width:0;
    width:100%;
  }
  .finance-sheet .t2b-input,
  .finance-sheet .t2b-select{
    font-size:13px;
    line-height:1.2;
    padding-inline:10px;
  }
  .finance-sheet input[type="date"],
  .finance-sheet input[type="time"]{
    font-size:12.5px;
    line-height:1.15;
    padding-inline:8px;
  }
  .finance-sheet .finance-form-actions,
  .finance-sheet-actions{
    display:flex;
    flex-direction:row!important;
    align-items:center;
    gap:10px;
    flex-wrap:nowrap;
  }
  .finance-sheet .finance-form-actions .finance-submit,
  .finance-sheet-actions .finance-submit{
    flex:1 1 auto;
    min-width:0;
  }
  .finance-sheet .finance-form-actions .finance-cancel,
  .finance-sheet-actions .finance-cancel{
    flex:0 0 auto;
    min-width:88px;
  }
  #s-finance .finance-screen{
    padding:6px 7px calc(118px + env(safe-area-inset-bottom));
    gap:7px;
  }
  #s-finance .finance-hero{
    padding:0;
    gap:0;
    border-radius:18px;
    height:auto;
    min-height:0;
    max-height:none;
    overflow:visible;
  }
  #s-finance .finance-hero-top{
    grid-template-columns:auto minmax(0,1fr);
    gap:8px;
  }
  #s-finance .finance-badge{
    width:34px;
    height:34px;
  }
  #s-finance .finance-title b{
    font-size:calc(var(--t2b-font-title) * 1.12);
  }
  #s-finance .finance-balance{
    grid-column:1/-1;
    justify-self:start;
    min-height:28px;
    font-size:16px;
  }
  #s-finance .finance-summary-grid,
  #s-finance .finance-form-grid,
  #s-finance .finance-due-filters{
    grid-template-columns:1fr;
  }
  #s-finance .finance-action-grid{
    grid-template-columns:1fr;
  }
  #s-finance .finance-ledger-actions .finance-action-grid{
    display:flex;
    flex-wrap:wrap;
    justify-content:flex-start;
    gap:7px;
  }
  #s-finance .finance-ledger-form-grid{
    grid-template-columns:1fr;
    gap:10px;
  }
  #s-finance .finance-tab{
    min-width:0;
    flex:1 1 0;
    height:43px;
    min-height:43px;
    padding:0 3px;
    gap:3px;
  }
  #s-finance .finance-tab-bar{
    height:51px;
    min-height:51px;
    align-items:center;
    overflow-y:hidden;
  }
  #s-finance .finance-list-card{
    min-height:0;
  }
  #s-finance .finance-tab b{
    font-size:11px;
    line-height:1;
    white-space:nowrap;
  }
  #s-finance .finance-tab-ico{
    width:15px;
    height:15px;
    font-size:9px;
  }
  #s-finance .finance-summary-grid{
    grid-template-columns:repeat(4,minmax(0,1fr));
    grid-auto-flow:column;
    grid-auto-columns:minmax(0,1fr);
    grid-auto-rows:auto;
    gap:8px;
    padding:4px 0 4px;
    margin:2px 0 8px;
    align-items:stretch;
    min-height:0;
    max-height:none;
    overflow:visible;
  }
  #s-finance .finance-stat{
    padding:10px 8px 10px;
    border-radius:12px;
    min-height:74px;
    max-height:none;
    overflow:visible;
    display:grid;
    align-content:start;
    gap:3px;
  }
  #s-finance .finance-stat b{
    font-size:calc(var(--t2b-font-score) * .82)!important;
  }
  #s-finance .finance-stat em{
    display:block;
    font-size:10px;
    line-height:1.15;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  #s-finance .finance-summary-grid.compact{
    grid-template-columns:1fr;
  }
  #s-finance .finance-three-stats{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  #s-finance .finance-summary-grid.compact.finance-three-stats{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  #s-finance .finance-card-head{
    align-items:flex-start;
  }
  #s-finance .finance-bill-head{
    align-items:center;
  }
  #s-finance .finance-bill-head .finance-card-head-main{
    flex:0 0 auto;
  }
  #s-finance .finance-card-head > span{
    max-width:34%;
    font-size:10px;
  }
  #s-finance .finance-row,
  #s-finance .finance-due-row{
    grid-template-columns:auto minmax(0,1fr);
    align-items:start;
  }
  #s-finance .finance-row-amount,
  #s-finance .finance-due-side{
    grid-column:2;
    justify-items:start;
    text-align:left;
  }
  #s-finance .finance-share-row{
    grid-template-columns:minmax(0,1fr) auto;
  }
  #s-finance .finance-share-row i,
  #s-finance .finance-share-row button{
    grid-column:2;
    justify-self:end;
  }
  #s-finance .finance-debt-row{
    grid-template-columns:auto minmax(0,1fr) auto auto;
  }
  #s-finance .finance-debt-row button{
    grid-column:auto;
    justify-self:end;
  }
  .finance-check-list{
    grid-template-columns:1fr;
  }
  .finance-sheet-grid,
  .finance-sheet-actions{
    grid-template-columns:1fr;
    flex-direction:column;
  }
  .finance-money-date{
    grid-template-columns:1fr;
  }
  #s-finance .finance-form-actions{
    gap:10px;
    flex-wrap:nowrap;
  }
  #s-finance .finance-form-actions .finance-submit{
    flex:1 1 auto;
  }
  #s-finance .finance-form-actions .finance-cancel{
    flex:0 0 auto;
    min-width:88px;
  }
  .finance-bill-sheet-member{
    grid-template-columns:auto auto minmax(0,1fr) auto;
    gap:6px;
  }
  .finance-member-actions{
    grid-column:auto;
    justify-content:flex-end;
  }
  #s-finance .finance-bill-shares{
    padding-right:0;
  }
  #s-finance .finance-bill-list-row{
    grid-template-columns:auto minmax(0,1fr) auto;
    align-items:center;
  }
  #s-finance .finance-bill-list-side{
    grid-column:3;
    justify-items:end;
    text-align:right;
  }
  #s-finance .finance-bill-list-row .finance-refund-btn{
    grid-column:2/-1;
    justify-self:end;
  }
  .finance-payer-choice,
  .finance-external-row{
    grid-template-columns:1fr;
  }
}
