/* nzura-mobile-home.css — phone front built by nzura-mobile-home.js.
   Same design as Accounting's #accMobileHome; system fonts and tokens only,
   flat fills, no grey icon pills (circles/tiles are bordered paper buttons). */
.nzmh { display:none; }
@media (max-width:720px) {
  body.nzmh-on .nzmh { display:block; margin:0 0 1rem; min-width:0; max-width:100%; } /* a grid/flex item must not widen its track to the rail's full length */

  .nzmh-greet { display:flex; align-items:center; gap:.5rem; padding:0 .15rem; }
  .nzmh-avatar { width:1.85rem; height:1.85rem; border-radius:50%; flex:0 0 auto; display:grid; place-items:center; background:var(--accent-soft); color:var(--accent-ink); font-size:.66rem; font-weight:600; letter-spacing:.02em; }
  .nzmh-greet-text { display:flex; align-items:baseline; gap:.3rem; min-width:0; line-height:1.25; }
  .nzmh-greet-hi { font-size:.76rem; color:var(--text-muted); white-space:nowrap; }
  .nzmh-greet-name { font-size:.76rem; font-weight:400; font-style:italic; color:var(--text-muted); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }

  .nzmh-balance { display:flex; flex-direction:column; align-items:center; text-align:center; margin:.9rem 0 .4rem; }
  .nzmh-figure { display:flex; align-items:baseline; justify-content:center; gap:.35rem; max-width:100%; font-size:2rem; font-weight:300; line-height:1.1; color:var(--text-primary); letter-spacing:-.01em; font-variant-numeric:tabular-nums; }
  .nzmh-figure-val { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .nzmh-figure.is-long { font-size:1.6rem; }
  .nzmh-cur { font-size:.82rem; font-weight:600; color:var(--accent); letter-spacing:.04em; }
  .nzmh-period-wrap { position:relative; margin-top:.55rem; }
  .nzmh select.nzmh-period { -webkit-appearance:none; appearance:none; font:inherit; font-size:.7rem; color:var(--text-secondary); background:transparent; border:1px solid var(--line); border-radius:999px; padding:.22rem 1.5rem .22rem .75rem; height:auto; min-height:0; width:auto; box-shadow:none; color-scheme:light; cursor:pointer; }
  html.dark .nzmh select.nzmh-period { color-scheme:dark; }
  .nzmh select.nzmh-period:focus { outline:none; border-color:var(--accent); box-shadow:0 0 0 3px var(--accent-soft); }
  .nzmh-period-wrap .nz-chev { position:absolute; right:.55rem; top:50%; margin-top:-.4em; font-size:.75rem; color:var(--text-muted); pointer-events:none; }
  .nzmh-label { display:inline-flex; align-items:center; gap:.4rem; margin-top:.6rem; padding:.15rem .3rem; border:0; background:transparent; color:var(--text-muted); font-size:.66rem; font-weight:600; letter-spacing:.16em; text-transform:uppercase; cursor:pointer; }
  .nzmh-eye-slash { display:none; }
  body.nzmh-hide .nzmh-eye-slash { display:inline; }
  .nzmh-pill { display:inline-flex; align-items:center; gap:.35rem; margin-top:.75rem; padding:.45rem .9rem; border-radius:999px; background:var(--pos); color:#fff; font-size:.76rem; font-weight:600; font-variant-numeric:tabular-nums; max-width:100%; }
  .nzmh-pill svg { width:14px; height:14px; flex:0 0 auto; }
  .nzmh-pill[data-tone="neg"] { background:var(--neg); }
  .nzmh-pill[data-tone="warn"] { background:var(--warn); }
  .nzmh-pill[data-tone="info"] { background:var(--info); }
  .nzmh-pill[hidden] { display:none; }
  .nzmh-pill-word { font-weight:400; opacity:.9; }
  .nzmh.nzmh-nofig .nzmh-balance { display:none; }

  /* Curved "+ New" rail — items ride an arc (translateY set per frame). */
  .nzmh-rail { display:flex; overflow-x:auto; overflow-y:hidden; scrollbar-width:none; -webkit-overflow-scrolling:touch; padding:1.1rem .2rem 2.9rem; margin:0 -.2rem; }
  .nzmh-rail::-webkit-scrollbar { display:none; }
  /* A short rail sits centred; auto margins collapse to 0 once it overflows. */
  .nzmh-rail > :first-child { margin-left:auto; }
  .nzmh-rail > :last-child { margin-right:auto; }
  /* Hand-driven fallback: no native scroll, vertical page pans still pass. */
  .nzmh-rail.nzmh-rail-js { position:relative; overflow-x:hidden; touch-action:pan-y; cursor:grab; -webkit-user-select:none; user-select:none; }
  .nzmh-orb-btn { flex:0 0 4.75rem; display:flex; flex-direction:column; align-items:center; gap:.45rem; padding:0; border:0; background:transparent; color:var(--text-muted); cursor:pointer; text-decoration:none; will-change:transform; -webkit-tap-highlight-color:transparent; }
  .nzmh-orb { width:3.4rem; height:3.4rem; border-radius:50%; display:grid; place-items:center; background:var(--paper); border:1px solid var(--line); box-shadow:0 3px 10px -4px rgba(20,24,40,.14); color:var(--text-primary); transition:background .15s,color .15s,border-color .15s; }
  .nzmh-orb svg { width:1.35rem; height:1.35rem; }
  .nzmh-orb-btn:active .nzmh-orb,
  .nzmh-orb-btn:focus-visible .nzmh-orb { background:var(--accent-soft); color:var(--accent-ink); border-color:var(--accent); }
  .nzmh-orb-btn:focus-visible { outline:none; }
  .nzmh-orb-label { font-size:.68rem; font-weight:500; text-align:center; line-height:1.2; max-width:100%; padding:0 .1rem; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }

  /* Live ticker — a read-out, not links. */
  .nzmh-live { margin:.1rem 0 1.1rem; }
  .nzmh-live-tag { display:inline-flex; align-items:center; gap:.4rem; font-size:.62rem; font-weight:600; letter-spacing:.16em; text-transform:uppercase; color:var(--text-muted); margin:0 0 .45rem .15rem; }
  .nzmh-live-dot { width:.4rem; height:.4rem; border-radius:50%; background:var(--pos); animation:nzmhPulse 1.8s ease-in-out infinite; }
  .nzmh-ticker { overflow:hidden; }
  .nzmh-ticker-track { display:inline-flex; white-space:nowrap; animation:nzmhMarquee 32s linear infinite; }
  .nzmh-ticker:active .nzmh-ticker-track { animation-play-state:paused; }
  .nzmh-tick { display:inline-flex; align-items:baseline; gap:.4rem; padding:0 .85rem; border-right:1px solid var(--line); font-size:.76rem; color:var(--text-secondary); font-variant-numeric:tabular-nums; }
  .nzmh-tick b { font-size:.68rem; font-weight:600; letter-spacing:.06em; text-transform:uppercase; color:var(--text-primary); }

  /* Tabs Quick Access tiles */
  .nzmh-quick-head { display:flex; align-items:center; justify-content:space-between; margin:0 .15rem .65rem; }
  .nzmh-quick-title { font-size:.92rem; font-weight:600; color:var(--text-primary); }
  .nzmh-viewall { display:inline-flex; align-items:center; gap:.3rem; padding:.2rem 0; border:0; background:transparent; color:var(--accent); font-size:.74rem; font-weight:600; cursor:pointer; }
  .nzmh-viewall-less,
  .nzmh-quick.is-open .nzmh-viewall-more { display:none; }
  .nzmh-quick.is-open .nzmh-viewall-less { display:inline; }
  .nzmh-tiles { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.9rem .55rem; }
  .nzmh-tile-extra { display:none !important; }
  .nzmh-quick.is-open .nzmh-tile-extra { display:flex !important; }
  .nzmh-tile-btn { display:flex; flex-direction:column; align-items:center; gap:.4rem; padding:0; border:0; background:transparent; color:var(--text-muted); cursor:pointer; min-width:0; text-decoration:none; -webkit-tap-highlight-color:transparent; }
  .nzmh-tile { width:100%; max-width:3.7rem; aspect-ratio:1; border-radius:1.1rem; display:grid; place-items:center; background:var(--paper); border:1px solid var(--line); color:var(--text-primary); transition:background .15s,color .15s,border-color .15s; }
  .nzmh-tile svg { width:1.35rem; height:1.35rem; }
  .nzmh-tile-btn:active .nzmh-tile,
  .nzmh-tile-btn:focus-visible .nzmh-tile { background:var(--accent-soft); color:var(--accent-ink); border-color:var(--accent); }
  .nzmh-tile-btn:focus-visible { outline:none; }
  .nzmh-tile-label { font-size:.7rem; font-weight:500; text-align:center; line-height:1.2; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
}
@keyframes nzmhMarquee { from { transform:translateX(0); } to { transform:translateX(-50%); } }
@keyframes nzmhPulse { 0%,100% { opacity:1; } 50% { opacity:.3; } }
@media (max-width:720px) and (prefers-reduced-motion:reduce) {
  .nzmh-ticker { overflow-x:auto; scrollbar-width:none; }
  .nzmh-ticker-track { animation:none; }
  .nzmh-live-dot { animation:none; }
}
