/* Cross-device hardening: readable cards, resilient sheets, and reliable icons. */
html,body{max-width:100%;overflow-x:hidden}
.ui-icon{display:block;flex:0 0 auto;pointer-events:none}
button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
.sheet{height:min(92dvh,900px);max-height:100dvh}
.sheet-scroll{-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
.suite-row-main,.deal-card>div:nth-child(2){min-width:0}
.suite-row h3,.suite-row p,.deal-card h3,.deal-card p{overflow-wrap:anywhere}
.deal-delete .ui-icon{width:18px;height:18px}
.header-tools{display:flex;align-items:center;gap:10px;margin-left:auto}
.header-tools .icon-button{display:grid;place-items:center;flex:0 0 48px;padding:0;line-height:0}
.header-tools .privacy-toggle{margin-left:0}
.header-tools .ui-icon{margin:auto}
.setting-row-icon{width:38px;height:38px;border-radius:12px;display:grid!important;place-items:center!important;flex:0 0 38px;background:rgba(0,122,255,.10);color:var(--blue)}
.settings-row:has(.setting-row-icon){justify-content:flex-start;gap:12px}
.settings-row:has(.setting-row-icon)>input{margin-left:auto;width:46px}
.ios-choice button i{display:grid;place-items:center;line-height:0}
.ios-choice button .ui-icon{margin:auto}
.theme-dark .setting-row-icon{background:rgba(10,132,255,.17);color:#64a9ff}
@media(max-width:520px){
  .deal-card{grid-template-columns:42px minmax(0,1fr) 38px!important;grid-template-areas:"avatar details delete" "avatar money delete";column-gap:11px;row-gap:5px;align-items:center}
  .deal-card .deal-avatar{grid-area:avatar}
  .deal-card>div:nth-child(2){grid-area:details}
  .deal-card .deal-money{grid-area:money;display:flex;align-items:center;gap:8px;text-align:left}
  .deal-card .deal-money small{display:inline;margin:0}
  .deal-card .deal-delete{grid-area:delete}
  .deal-card h3{line-height:1.18}
  .deal-card p{line-height:1.28}
  .sheet header{padding-left:max(10px,env(safe-area-inset-left));padding-right:max(10px,env(safe-area-inset-right))}
}
@media(max-width:350px){
  .app-shell{padding-left:9px;padding-right:9px}
  .month-tile{padding-left:13px;padding-right:13px}
  .month-tile-top{flex-wrap:wrap}
  .month-tile-top .tile-print{margin-left:auto}
  .customize-button{margin-left:0}
  .suite-nav .tab b{font-size:8px}
  .header-tools{gap:7px}
  .header-tools .icon-button{width:44px;height:44px;flex-basis:44px}
}
