/* ---- Tablet / foldable, company edition (2026-10-21, 「横屏左栏+两栏」) ----
   Phones (< 600px wide, portrait-locked) never reach these rules. #app[data-pg] / [data-otab] come from
   app-tablet-01.js. Landscape (left rail above) and a wide portrait (>= 760px) get two columns:
   首页 cards as two balanced columns, list rows two per row, report / member pages two cards per row. */
@media (min-width:760px) and (max-width:839.98px){
  html.ent .app:not(.no-nav){max-width:none}
  html.ent .nav{max-width:none}
  html.ent .fab{right:22px}
}
@media (min-width:760px){
  /* 首页: two balanced columns of cards; the greeting and the reminder banners stay full width on top */
  html.ent #app[data-pg=home]{column-count:2;column-gap:16px}
  html.ent #app[data-pg=home] > *{break-inside:avoid}
  html.ent #app[data-pg=home] > .phome-top,
  html.ent #app[data-pg=home] > .info-banner{column-span:all}
  html.ent #app[data-pg=home] > .card,
  html.ent #app[data-pg=home] > .banner{display:block;width:100%;box-sizing:border-box}
  html.ent #app[data-pg=home] > :not(.phome-top):not(.fab){margin-top:0;margin-bottom:12px}
  /* list rows (单子 / 发票 / 记账 days …) two per row; everything else on the page stays full width */
  html.ent #app:has(> .item ~ .item){display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:12px;align-content:start}
  html.ent #app:has(> .item ~ .item) > *{grid-column:1/-1;min-width:0}
  html.ent #app:has(> .item ~ .item) > .item{grid-column:auto}
  html.ent #app:has(> .item ~ .item) > .fab{grid-column:auto}
  html.ent #app:has(> .item ~ .item) > .card:has(+ .card.summary),
  html.ent #app:has(> .item ~ .item) > .card + .card.summary{grid-column:auto;align-self:start}
  /* 报表 (记账本 → 报表): the cards two per row, tiles / chips / period bar / buttons full width */
  html.ent #app[data-otab=report]{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:16px;align-content:start}
  html.ent #app[data-otab=report] > *{grid-column:1/-1;min-width:0}
  html.ent #app[data-otab=report] > .card{grid-column:auto;align-self:stretch}
  html.ent #app[data-otab=report] > .card:nth-last-child(1 of .card):nth-child(odd of .card){grid-column:1/-1}
  html.ent #app[data-otab=report] > .btn:has(+ .btn),
  html.ent #app[data-otab=report] > .btn + .btn{grid-column:auto;width:auto;margin-top:12px!important;align-self:stretch}
  /* member / approval / payroll pages (one .punch-page): cards that follow each other, two per row */
  html.ent :is(.punch-page,.adv-page,.stf-page):has(> .card + .card){display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:16px;align-items:start}
  html.ent :is(.punch-page,.adv-page,.stf-page):has(> .card + .card) > *{grid-column:1/-1;min-width:0}
  html.ent :is(.punch-page,.adv-page,.stf-page) > .card:has(+ .card),
  html.ent :is(.punch-page,.adv-page,.stf-page) > .card + .card{grid-column:auto}
  html.ent :is(.punch-page,.adv-page,.stf-page) > .card + .card + .card:not(:has(+ .card)){grid-column:1/-1}
  /* 办公 menu: taller chips, easier to hit on a big screen */
  html.ent .office-tabs.ogrp.ofit .pill{height:42px;font-size:14px}
}
@media (orientation:landscape) and (min-width:700px) and (min-height:520px){
  html.ent .sheet,html.ent .sign-sheet{max-height:calc(100vh - 48px)}
}
