Files
billit/web/assets/scss/_base.scss
2025-12-06 15:31:18 +05:30

117 lines
1.8 KiB
SCSS

// ============================================
// BILLIT - Base/Reset Styles
// ============================================
@use 'variables' as *;
*, *::before, *::after {
box-sizing: border-box;
margin: 0;
padding: 0;
}
html {
font-size: 16px;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
body {
font-family: $font-family-base;
font-size: $font-size-base;
line-height: $line-height-base;
color: $color-gray-900;
background-color: $color-white;
min-height: 100vh;
}
// Typography
h1, h2, h3, h4, h5, h6 {
font-weight: $font-weight-bold;
line-height: $line-height-tight;
margin: 0;
}
h1 { font-size: $font-size-2xl; }
h2 { font-size: $font-size-xl; }
h3 { font-size: $font-size-lg; }
h4 { font-size: $font-size-md; }
h5 { font-size: $font-size-base; }
h6 { font-size: $font-size-sm; }
p {
margin: 0;
}
a {
color: $color-accent;
text-decoration: none;
&:hover {
text-decoration: underline;
}
}
// Lists
ul, ol {
list-style: none;
}
// Images
img {
max-width: 100%;
height: auto;
}
// Tables
table {
border-collapse: collapse;
width: 100%;
}
// Forms
input, select, textarea, button {
font-family: inherit;
font-size: inherit;
line-height: inherit;
}
// Focus styles
:focus {
outline: 2px solid $color-accent;
outline-offset: 1px;
}
:focus:not(:focus-visible) {
outline: none;
}
:focus-visible {
outline: 2px solid $color-accent;
outline-offset: 1px;
}
// Selection
::selection {
background: $color-primary;
color: $color-white;
}
// Scrollbar (webkit)
::-webkit-scrollbar {
width: 8px;
height: 8px;
}
::-webkit-scrollbar-track {
background: $color-gray-100;
}
::-webkit-scrollbar-thumb {
background: $color-gray-400;
&:hover {
background: $color-gray-500;
}
}