/* FAMILY KPI V5.5 — mobile QA, penalties and Piggy Savings */
.admin-mobile-tabs{display:none}
.admin-mobile-tab{border:1px solid var(--line);background:#fff;border-radius:11px;padding:9px 7px;font-size:10px;font-weight:900;color:#61717e;min-height:40px}
.admin-mobile-tab.active{background:#0a9e72;color:#fff;border-color:#0a9e72}
.admin-mobile-tab .tab-count{display:inline-grid;place-items:center;min-width:19px;height:19px;padding:0 5px;border-radius:999px;background:rgba(16,36,58,.08);margin-left:3px;font-size:8px}
.admin-mobile-tab.active .tab-count{background:rgba(255,255,255,.18)}

/* Finance / penalties */
.finance-balances{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:12px}
.finance-balances>div{background:#f7faf8;border-radius:10px;padding:9px;min-width:0}.finance-balances span{display:flex;align-items:center;gap:4px;font-size:8px;color:#71808a;font-weight:850;text-transform:uppercase}.finance-balances b{display:block;margin-top:3px;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.finance-balances .icon-svg{width:12px;height:12px}
.savings-requests{border-color:#f3ddb0;background:#fffdf8}.withdraw-request-row{display:grid;grid-template-columns:44px 1fr auto;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid #f0eee8}.withdraw-request-row:last-child{border-bottom:0}.withdraw-request-row b{font-size:12px}.withdraw-request-row span{display:block;font-size:10px;color:#798690;margin-top:2px}.withdraw-request-actions{display:flex;gap:6px}
.penalty-note{margin-top:12px;border:1px solid #ffd8d5;background:#fff7f6;border-radius:11px;padding:10px;color:#a13b33;font-size:10px;font-weight:750;display:flex;gap:7px;align-items:flex-start}.penalty-note .icon-svg{flex:0 0 auto;margin-top:1px}
.penalty-template-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.penalty-template-card{border:1px solid var(--line);background:#fff;border-radius:14px;padding:12px;display:flex;gap:10px;align-items:flex-start}.template-icon.penalty{background:#fff1ef;color:#c24137}
.link-button{border:0;background:transparent;padding:0;color:#08755a;font-weight:900;font-size:10px}

/* Savings */
.piggy-hero{background:linear-gradient(135deg,#0a8f6c,#08a577 62%,#087258);color:#fff;border-radius:20px;padding:22px;display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:center;box-shadow:0 14px 34px rgba(8,117,90,.17)}
.piggy-hero-icon{width:68px;height:68px;border-radius:20px;background:rgba(255,255,255,.16);display:grid;place-items:center}.piggy-hero-icon .icon-svg{width:38px;height:38px}.piggy-kicker{font-size:10px;letter-spacing:1px;font-weight:900;color:#d5fff1}.piggy-total{font-size:36px;font-weight:950;letter-spacing:-1.2px;margin-top:3px;color:#fff7bc}.piggy-breakdown{font-size:10px;color:#e2fff7;margin-top:3px}.piggy-rate{min-width:145px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.16);border-radius:14px;padding:12px}.piggy-rate span{font-size:9px;font-weight:850;text-transform:uppercase;color:#d6f7ed}.piggy-rate b{display:block;font-size:20px;margin-top:3px}.piggy-rate small{display:block;font-size:8px;line-height:1.4;color:#d8f6ed;margin-top:3px}
.savings-kpis{margin-top:14px}.savings-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:14px}.saving-percent-row{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:10px}.saving-percent-row button{border:1px solid #dce7e2;background:#f8fcfa;border-radius:12px;padding:10px 7px;color:#345467}.saving-percent-row button:hover{border-color:#9ddac5;background:#edf9f4}.saving-percent-row b{display:block;font-size:14px;color:#08755a}.saving-percent-row span{display:block;font-size:9px;font-weight:750;margin-top:2px}.savings-withdraw-btn{margin-top:10px;width:100%;min-height:40px}.withdraw-pending{margin-top:10px;background:#fff7dd;border:1px solid #f1d585;border-radius:11px;padding:10px;font-size:10px;color:#865c00;font-weight:800;display:flex;align-items:center;gap:6px}.goal-big{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-top:4px}.goal-big b{font-size:16px}.goal-big span{display:block;font-size:10px;color:#75838d;margin-top:3px}.goal-big strong{font-size:26px;color:#0a9e72}.goal-track.big{height:12px;margin-top:10px}.savings-history{display:grid}.savings-history-row{display:grid;grid-template-columns:38px 1fr auto;gap:9px;align-items:center;padding:10px 0;border-bottom:1px solid #edf2ef}.savings-history-row:last-child{border-bottom:0}.savings-history-icon{width:36px;height:36px;border-radius:10px;background:#eaf9f3;color:#08755a;display:grid;place-items:center}.savings-history-copy b{display:block;font-size:11px}.savings-history-copy span{display:block;font-size:9px;color:#7b8992;margin-top:2px}.savings-history-amount{font-size:12px;font-weight:950}.savings-history-amount.plus{color:#0a9e72}.savings-history-amount.minus{color:#d04b43}.piggy-modal-summary{display:flex;align-items:center;justify-content:space-between;background:#f2faf6;border:1px solid #d6ede3;border-radius:12px;padding:11px 12px;margin:14px 0}.piggy-modal-summary span{font-size:10px;color:#6c7b8a;font-weight:850}.piggy-modal-summary b{font-size:18px;color:#08755a}.modal-percent-row{margin:10px 0 0}
.account-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.7fr);gap:14px}.account-nav-card{border:1px solid #cfe8de;background:linear-gradient(145deg,#f3fbf7,#fff);border-radius:16px;padding:18px;text-align:left;display:grid;grid-template-columns:52px 1fr auto;gap:12px;align-items:center;color:var(--text);box-shadow:0 5px 18px rgba(16,36,58,.045)}.account-nav-icon{width:50px;height:50px;border-radius:14px;background:#dff7ec;color:#08755a;display:grid;place-items:center}.account-nav-icon .icon-svg{width:26px;height:26px}.account-nav-card b{display:block;font-size:14px}.account-nav-card small{display:block;font-size:10px;line-height:1.5;color:#71808a;margin-top:3px}.account-nav-card strong{display:block;font-size:12px;color:#08755a;margin-top:8px}.account-nav-arrow{font-size:26px;color:#91a0a9}

/* Modal reliability */
.modal{overscroll-behavior:contain}.modal-actions{border-top:1px solid transparent}.modal-saving .modal-close{pointer-events:none;opacity:.45}

@media(min-width:681px) and (max-width:1024px){
  .admin-dashboard .kanban{grid-template-columns:repeat(2,minmax(0,1fr))!important;overflow:visible!important}.admin-dashboard .kan-col{min-width:0!important}.admin-dashboard .kan-col.done{grid-column:1/-1}.admin-right-stack{grid-template-columns:repeat(2,1fr)!important}
  .finance-member-grid{grid-template-columns:1fr!important}.penalty-template-grid{grid-template-columns:repeat(2,1fr)}.savings-grid{grid-template-columns:1fr}.account-grid{grid-template-columns:1fr 1fr}
}

@media(max-width:680px){
  /* Admin dashboard is tabbed, never horizontally scrolled */
  .admin-mobile-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:8px 0;position:sticky;top:68px;z-index:24;background:#f4f8f6;padding:5px 0}
  .admin-dashboard{display:block!important}.admin-dashboard>div{min-width:0}.admin-dashboard .kanban{display:block!important;overflow:visible!important}.admin-dashboard .kan-col{display:none!important;min-width:0!important;min-height:0!important;padding:9px}.admin-dashboard .kan-col.mobile-active{display:block!important}.admin-dashboard .kan-actions{display:grid;grid-template-columns:1fr;gap:7px}.admin-dashboard .kan-actions .btn{width:100%;min-height:44px;font-size:10px!important}.admin-quick-approval{display:none!important}.admin-right-stack{grid-template-columns:1fr!important;margin-top:10px}.admin-right-stack .wallet-mini{padding:9px}.week-goal{margin-top:10px}
  .filter-row{margin:9px 0}.filter-chip{padding:8px 11px}.add-task-main{padding:9px 12px}
  /* Bottom sheet: keyboard-safe and auto-close after successful save */
  .modal-backdrop{padding:0!important;align-items:flex-end!important}.modal{width:100%!important;max-height:min(92dvh,92vh)!important;border-radius:20px 20px 0 0!important;padding:16px 14px calc(10px + env(safe-area-inset-bottom))!important;overflow:auto!important}.modal-head{position:sticky;top:-16px;background:#fff;padding:3px 0 10px;z-index:5}.modal-actions{position:sticky!important;bottom:calc(-10px - env(safe-area-inset-bottom))!important;background:#fff!important;margin-left:-2px;margin-right:-2px;padding:11px 2px calc(5px + env(safe-area-inset-bottom))!important;border-top-color:#edf2ef;display:grid!important;grid-template-columns:1fr 1.25fr!important}.modal-actions .btn{width:100%;min-height:46px;font-size:10px}.field input,.field select,.field textarea{font-size:16px!important;min-height:44px} /* prevent iOS zoom */
  .check-item{min-height:43px}.avatar-file{font-size:12px!important}.template-pick{padding:10px}
  /* Savings */
  .piggy-hero{grid-template-columns:48px 1fr;padding:15px;border-radius:17px;gap:10px}.piggy-hero-icon{width:48px;height:48px;border-radius:14px}.piggy-hero-icon .icon-svg{width:29px;height:29px}.piggy-total{font-size:29px}.piggy-breakdown{line-height:1.45}.piggy-rate{grid-column:1/-1;display:grid;grid-template-columns:auto auto 1fr;gap:8px;align-items:center;min-width:0;padding:9px 10px}.piggy-rate b{font-size:15px;margin:0}.piggy-rate small{margin:0;text-align:right}.savings-kpis{grid-template-columns:1fr!important}.savings-grid{grid-template-columns:1fr}.saving-percent-row{grid-template-columns:repeat(2,1fr)}.saving-percent-row button{min-height:54px}.savings-goal-card{margin-top:0}.savings-history-row{grid-template-columns:34px 1fr auto}.savings-history-icon{width:34px;height:34px}.account-grid{grid-template-columns:1fr}.account-nav-card{grid-template-columns:45px 1fr auto;padding:14px}.account-nav-icon{width:44px;height:44px}.finance-balances{grid-template-columns:1fr 1fr}.finance-balances>div:last-child{grid-column:1/-1}.withdraw-request-row{grid-template-columns:38px 1fr}.withdraw-request-row .avatar{width:38px;height:38px}.withdraw-request-actions{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr}.withdraw-request-actions .btn{min-height:42px}.penalty-template-grid{grid-template-columns:1fr}.finance-member-grid{grid-template-columns:1fr!important}.finance-member-card .toolbar{display:grid;grid-template-columns:1fr 1fr}.finance-member-card .toolbar .btn{min-height:40px}.table-wrap{border-radius:12px;-webkit-overflow-scrolling:touch}.table{min-width:620px}.report-row{grid-template-columns:100px 1fr 55px}
  .main{padding-bottom:calc(92px + env(safe-area-inset-bottom))!important}.mobile-nav{bottom:calc(6px + env(safe-area-inset-bottom))!important}
}

@media(max-width:390px){.grid-4{grid-template-columns:1fr!important}.admin-mobile-tab,.member-mobile-tab{font-size:9px}.piggy-total{font-size:26px}.finance-member-card .toolbar{grid-template-columns:1fr}.modal-actions{grid-template-columns:1fr!important}}
@media(max-width:680px){
  .transaction-wrap{border:0;overflow:visible}.transaction-wrap .table{min-width:0;width:100%;background:transparent}.transaction-wrap thead{display:none}.transaction-wrap tbody{display:grid;gap:9px}.transaction-wrap tr{display:block;background:#fff;border:1px solid var(--line);border-radius:12px;padding:9px 11px}.transaction-wrap td{display:grid!important;grid-template-columns:86px 1fr;gap:8px;padding:5px 0!important;border:0!important;font-size:10px!important;align-items:start}.transaction-wrap td:before{content:attr(data-label);font-size:8px;text-transform:uppercase;letter-spacing:.35px;color:#7b8992;font-weight:900}.transaction-wrap td.amount{font-size:12px!important}.transaction-wrap td .btn{width:100%;min-height:36px}
  .table-wrap:not(.transaction-wrap){scrollbar-width:thin;scroll-snap-type:x proximity}.table-wrap:not(.transaction-wrap) .table{scroll-snap-align:start}
}
