/* Rubik, self-hosted (assets/fonts/rubik-variable.woff2) rather than loaded live from
   Google Fonts - no external request on every page load, works offline/behind
   restrictive network policies. Variable font covering weights 300-900 in one file,
   includes Hebrew. */
@font-face {
font-family: 'Rubik';
src: url('../assets/fonts/rubik-variable.woff2') format('woff2-variations');
font-weight: 300 900;
font-style: normal;
font-display: swap;
}

/* CSS Reset */
*, *::before, *::after {
box-sizing: border-box;
margin: 0;
padding: 0;
}

html {
font-size: 16px;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
/* Without this, any element that's even slightly wider than the viewport (a
   table forced to a min-width, a flex row that doesn't wrap in time, etc.)
   makes the whole page scroll horizontally - which drags fixed-position
   elements like .app-sidebar along with the visual scroll, making it look
   like the sidebar is "stuck half-open" on mobile. Inner overflow-x:auto
   containers (tables, etc.) are unaffected since they scroll independently.
*/
overflow-x: hidden;
}

body {
line-height: 1.6;
font-family: 'Rubik', sans-serif;
overflow-x: hidden;
}

ul, ol {
list-style: none;
}

a {
text-decoration: none;
color: inherit;
}

button {
border: none;
background: none;
font-family: inherit;
cursor: pointer;
}

input, select, textarea {
font-family: inherit;
font-size: inherit;
}

img, svg {
display: block;
max-width: 100%;
height: auto;
}

table {
border-collapse: collapse;
border-spacing: 0;
}
