/* Reset + base element styling. No component classes here. */
*,*::before,*::after{box-sizing:border-box}
*{margin:0}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scrollbar-gutter:stable;overflow-y:scroll}
html,body{height:100%}
body{
  font-family:var(--font-sans);
  font-size:var(--text-base);
  font-weight:var(--weight-regular);
  line-height:var(--leading-normal);
  color:var(--text-primary);
  background:var(--bg-canvas);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
img,svg,video,canvas{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit}
input,select,textarea{font-family:inherit}
h1,h2,h3,h4{font-weight:var(--weight-semibold);line-height:var(--leading-tight);color:var(--text-primary)}
p{line-height:var(--leading-relaxed)}
table{border-collapse:collapse}
ul,ol{list-style:none;padding:0}
hr{border:0;border-top:1px solid var(--border-default)}

::selection{background:var(--color-primary-100);color:var(--color-primary-700)}

::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:999px;border:2px solid var(--bg-canvas)}
::-webkit-scrollbar-thumb:hover{background:var(--gray-400)}
*{scrollbar-width:thin;scrollbar-color:var(--gray-300) transparent}

:focus-visible{outline:2px solid var(--color-primary-500);outline-offset:2px;border-radius:4px}

@media print{
  .app-header,.nav-toggle,.report-preview-modal,.modal-backdrop{display:none!important}
}
