/* ============================================================
   Laptop scaler — NC Recovery client portal
   ------------------------------------------------------------
   The desktop layout (280px fixed sidebar + generous padding)
   is tuned for large monitors. Work laptops commonly present
   1280–1536 CSS px wide (1366×768 panels, or 1920×1080 at the
   Windows 125% default), where that layout is cramped and tall.

   Rather than re-flow every page, shrink the whole app shell
   proportionally with CSS `zoom` so a laptop sees the same
   layout a big monitor does, just smaller. Unlike `transform`,
   `zoom` re-flows layout and keeps fixed positioning intact.

   Tiers step down with viewport width. Below 1024px the
   existing tablet/mobile layout (off-canvas sidebar) takes
   over, so the scale resets to 1 there.

   NOT linked on tracking.html — the full-height Google map
   layout is excluded on purpose.

   Verified (Chrome 151): `zoom` scales `100vh` lengths but not
   `top/bottom` insets, hence the sidebar override below.
   ============================================================ */

:root { --nc-ui-scale: 1; }

@media (min-width: 1025px) and (max-width: 1536px) { :root { --nc-ui-scale: 0.92; } }
@media (min-width: 1025px) and (max-width: 1440px) { :root { --nc-ui-scale: 0.88; } }
@media (min-width: 1025px) and (max-width: 1366px) { :root { --nc-ui-scale: 0.84; } }
@media (min-width: 1025px) and (max-width: 1280px) { :root { --nc-ui-scale: 0.80; } }

/* Wide but short (e.g. 1600×900 laptops) — trim a little for height. */
@media (min-width: 1537px) and (max-height: 820px) { :root { --nc-ui-scale: 0.92; } }

body { zoom: var(--nc-ui-scale); }

/* The sidebar is position:fixed with height:100vh. Under zoom the
   100vh is scaled (leaving a gap at the bottom), whereas insets are
   not — so anchor it top-to-bottom instead. */
.sidebar {
  height: auto;
  top: 0;
  bottom: 0;
}
