github.com/shoshinnikita/budget-manager@v0.7.1-0.20220131195411-8c46ff1c6778/static/css/common.css (about)

     1  /* | Variables */
     2  
     3  :root {
     4  	--base-color: #ffffff;
     5  	--background-color: #ffffff;
     6  
     7  	--font-color: #212121;
     8  	--font-color--disabled: #21212140;
     9  	--font-color--faded: #999999;
    10  
    11  	--border-color: #f4f4f4;
    12  	--border-color--accent: #d2d2d2;
    13  
    14  	--hover-color: #fafafa;
    15  
    16  	--icon-color: #888888;
    17  	--icon-color--hover: #666666;
    18  
    19  	--scrollbar-track-color: var(--background-color);
    20  	--scrollbar-thumb-color: #e1e1e1;
    21  }
    22  
    23  [data-theme="dark"] {
    24  	--base-color: #0d1117;
    25  	--background-color: #10141a; /* Base Color + rgba(255, 255, 255, 0.01) */
    26  
    27  	--font-color: #ffffffa0;
    28  	--font-color--disabled: #ffffff40;
    29  	--font-color--faded: #666666;
    30  
    31  	--border-color: #242424;
    32  	--border-color--accent: #555555;
    33  
    34  	--hover-color: #161a20; /* Base Color + rgba(255, 255, 255, 0.04) */
    35  
    36  	--icon-color--hover: #aaaaaa;
    37  
    38  	--scrollbar-thumb-color: #414141;
    39  }
    40  
    41  /* | Common */
    42  
    43  * {
    44  	box-sizing: border-box;
    45  	color: var(--font-color);
    46  	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
    47  		Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
    48  	font-weight: normal;
    49  }
    50  
    51  /* | Layout
    52  
    53  All pages should stick to this layout:
    54  
    55    body
    56      #app
    57        #header
    58        #content
    59        #footer
    60  
    61  */
    62  
    63  body {
    64  	background-color: var(--base-color);
    65  	height: 100vh;
    66  	margin: 0;
    67  	padding: 0px;
    68  	width: 100vw;
    69  }
    70  
    71  #app {
    72  	display: grid;
    73  	grid-template-rows: 40px calc(100% - 70px - 20px) 30px;
    74  	height: 100%;
    75  	margin: auto;
    76  	max-width: 2000px;
    77  	min-width: 900px;
    78  	padding: 10px 20px;
    79  	row-gap: 10px;
    80  	width: 100%;
    81  }
    82  
    83  #header {
    84  	border-bottom: 1px solid var(--border-color--accent);
    85  	box-sizing: content-box;
    86  	font-size: 20px;
    87  	height: 35px;
    88  	line-height: 35px;
    89  	padding-bottom: 5px;
    90  	width: 100%;
    91  }
    92  
    93  .header__path__element::after {
    94  	content: ' /';
    95  }
    96  
    97  .header__path__element:last-child::after {
    98  	content: '';
    99  }
   100  
   101  @media (max-width: 1350px) {
   102  	#app {
   103  		padding: 0 10px;
   104  	}
   105  
   106  	#header {
   107  		font-size: 18px;
   108  	}
   109  }
   110  
   111  /* | Card */
   112  
   113  .card {
   114  	background-color: var(--background-color);
   115  	box-shadow: 0 5px 15px rgba(0, 0, 0, .08);
   116  }
   117  
   118  [data-theme="dark"] .card {
   119  	box-shadow: 0 5px 15px rgba(0, 0, 0, 0.8);
   120  }
   121  
   122  .card__title {
   123  	background-color: var(--background-color);
   124  	border-bottom: 1px solid var(--border-color--accent);
   125  	font-size: 1.3rem;
   126  	padding: 5px 10px;
   127  	position: sticky;
   128  	top: 0;
   129  	z-index: 1;
   130  }
   131  
   132  .card__body {
   133  	padding: 10px 5px 20px;
   134  }
   135  
   136  .card--hover {
   137  	transition-duration: 0.175s;
   138  	transition-property: padding-left;
   139  	transition-timing-function: ease-in-out;
   140  }
   141  
   142  .card--hover:focus,
   143  .card--hover:hover {
   144  	background-color: var(--hover-color);
   145  	padding-left: 7%;
   146  }
   147  
   148  a:link.card--hover:focus,
   149  a:link.card--hover:hover {
   150  	text-decoration: none;
   151  }
   152  
   153  /* | Icons */
   154  
   155  .feather-icon > svg {
   156  	fill: none;
   157  	height: 18px;
   158  	stroke: var(--icon-color);
   159  	stroke-linecap: round;
   160  	stroke-linejoin: round;
   161  	stroke-width: 2;
   162  	width: 18px;
   163  }
   164  
   165  a.feather-icon,
   166  button.feather-icon {
   167  	display: block;
   168  	padding: 3px;
   169  	background-color: #00000000;
   170  }
   171  
   172  a.feather-icon:not(.disabled),
   173  button.feather-icon:not(.disabled) {
   174  	cursor: pointer;
   175  }
   176  
   177  a.feather-icon > svg,
   178  button.feather-icon > svg {
   179  	opacity: 0.64;
   180  }
   181  
   182  a.feather-icon:hover:not(.disabled) > svg,
   183  button.feather-icon:hover:not(.disabled) > svg,
   184  a.feather-icon:focus:not(.disabled) > svg,
   185  button.feather-icon:focus:not(.disabled) > svg {
   186  	opacity: 1;
   187  	stroke: var(--icon-color--hover);
   188  }
   189  
   190  /* | Inputs */
   191  
   192  a:focus,
   193  input:not([type="checkbox"]):focus,
   194  select:focus,
   195  textarea:focus,
   196  button:focus {
   197  	outline: none;
   198  }
   199  
   200  button {
   201  	background-color: var(--background-color);
   202  	border: none;
   203  	padding: 0;
   204  }
   205  
   206  input {
   207  	background-color: var(--background-color);
   208  	font-size: 15px;
   209  }
   210  
   211  input[type="text"],
   212  input[type="date"] {
   213  	border: none;
   214  	border-bottom: 1px solid var(--border-color);
   215  	width: 100%;
   216  }
   217  
   218  input[type="text"]:focus,
   219  input[type="date"]:focus {
   220  	border-color: var(--border-color--accent);
   221  }
   222  
   223  input[type="button"],
   224  input[type="submit"] {
   225  	border: 1px solid var(--border-color--accent);
   226  	cursor: pointer;
   227  	padding: 3px;
   228  	width: 80px;
   229  }
   230  
   231  input[type="button"]:hover,
   232  input[type="submit"]:hover,
   233  input[type="button"]:focus,
   234  input[type="submit"]:focus {
   235  	background-color: var(--hover-color);
   236  }
   237  
   238  select {
   239  	appearance: none;
   240  	-moz-appearance: none;
   241  	-webkit-appearance: none;
   242  	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23212121' stroke-width='2' stroke-linecap='round'><polyline points='19 12 12 19 5 12'></polyline></svg>");
   243  	background-position: right;
   244  	background-repeat: no-repeat;
   245  	background-color: var(--background-color);
   246  	border: none;
   247  	border-bottom: 1px solid var(--border-color);
   248  	cursor: pointer;
   249  	padding: 2px 16px 2px 0;
   250  	scrollbar-width: unset;
   251  }
   252  
   253  [data-theme="dark"] select {
   254  	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23ffffffa0' stroke-width='2' stroke-linecap='round'><polyline points='19 12 12 19 5 12'></polyline></svg>");
   255  }
   256  
   257  select:focus {
   258  	border-color: var(--border-color--accent);
   259  }
   260  
   261  select.reverse {
   262  	background-position: left;
   263  	padding-right: 0;
   264  	padding-left: 16px;
   265  	text-align-last: right;
   266  }
   267  
   268  [data-theme="dark"] ::-webkit-calendar-picker-indicator {
   269  	filter: invert(1);
   270  }
   271  
   272  /* | Links */
   273  
   274  a:link,
   275  a:visited {
   276  	text-decoration: none;
   277  	color: #039be5;
   278  }
   279  
   280  a:link:focus,
   281  a:link:hover {
   282  	text-decoration: underline;
   283  }
   284  
   285  /* | Money */
   286  
   287  .money--gain {
   288  	color: green;
   289  }
   290  
   291  .money--gain::before {
   292  	content: "+";
   293  }
   294  
   295  .money--lose {
   296  	color: crimson;
   297  }
   298  
   299  /* | Scrollbar */
   300  
   301  /* || Firefox */
   302  
   303  * {
   304  	scrollbar-width: thin;
   305  }
   306  
   307  /* || WebKit */
   308  
   309  ::-webkit-scrollbar {
   310  	width: 7px;
   311  }
   312  
   313  ::-webkit-scrollbar-track {
   314  	background-color: var(--scrollbar-track-color);
   315  }
   316  
   317  ::-webkit-scrollbar-thumb {
   318  	background-color: var(--scrollbar-thumb-color);
   319  }
   320  
   321  /* | Table */
   322  
   323  table {
   324  	border-collapse: collapse;
   325  	margin-bottom: 1em;
   326  	width: 100%;
   327  }
   328  
   329  table th,
   330  td {
   331  	border-bottom: 1px solid var(--border-color);
   332  	padding: 5px;
   333  	text-align: left;
   334  	word-break: break-word;
   335  }
   336  
   337  table th {
   338  	color: var(--font-color--faded);
   339  }
   340  
   341  table tbody tr:hover {
   342  	background-color: var(--hover-color);
   343  }
   344  
   345  table tr:last-child td {
   346  	border-bottom: none;
   347  }
   348  
   349  /* | Other */
   350  
   351  .noselect {
   352  	cursor: default;
   353  	user-select: none;
   354  }
   355  
   356  .blurred {
   357  	filter: blur(2px);
   358  }