.przycisk {
	box-sizing: border-box;
	position: relative;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	cursor: pointer;
	outline: none;
	border: none;
	-webkit-tap-highlight-color: transparent;
	display: inline-block;
	white-space: nowrap;
	text-decoration: none;
	vertical-align: baseline;
	text-align: center;
	margin: 0;
	min-width: 64px;
	line-height: 36px;
	padding: 0 16px;
	border-radius: var(--border-radius-przycisk, var(--border-radius));
	overflow: visible;

	font-family: var(--czcionka);
	font-size: 14px;
	font-weight: 500;

    transition: all 0.2s;

    position: relative;
    z-index: 1;
    background-color: transparent;
}

.przycisk svg {
    margin-right: 3px;
}

.przycisk img {
    margin-right: 3px;
}

.przycisk:not(.przycisk-pelny)::before {
	display: block;
	width: 100%;
	height: 100%;
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	transition: all 0.2s;
	border-radius: var(--border-radius-przycisk, var(--border-radius));

	background-position: center;
	z-index: -1;
}

.przycisk > table {
    position: relative;
    z-index: 1;
    border-collapse: collapse;
}

.przycisk-maly {
    min-width: 30px;
	line-height: 18px;
	padding: 0 5px;

    font-size: 10px;
	font-weight: 400;

	border-radius: var(--border-radius-maly);
}

.przycisk-maly:not(.przycisk-pelny)::before {
    border-radius: var(--border-radius-maly);
}

/* domyslny */
.przycisk::before {
	background: var(--przycisk-domyslny-tlo, transparent);
}

.przycisk-skupiony::before, .przycisk:hover::before {
	background: var(--przycisk-domyslny-tlo-hover, var(--kolor-domyslny-zabarwienie));
}

.przycisk-pelny {
    background: var(--przycisk-domyslny-tlo, transparent);
    background: var(--kolor-domyslny);
    color: var(--kolor-domyslny-kontrast);
    /* box-shadow: 0 3px 1px -2px rgba(82,63,104,.06),0 2px 2px 0 rgba(82,63,104,.042),0 1px 5px 0 rgba(82,63,104,.036); */
}

.przycisk-obramowany {
    border: 1px solid var(--kolor-domyslny);
}

/* glowny */
.przycisk-glowny::before {
	background: var(--kolor-glowny-kontrast);
}

.przycisk-glowny.przycisk-skupiony::before, .przycisk-glowny:hover::before {
	background: var(--kolor-glowny-zabarwienie);
}

.przycisk-glowny {
    color: var(--kolor-glowny);
}

.przycisk-pelny.przycisk-glowny {
    background: var(--kolor-glowny);
    color: var(--kolor-glowny-kontrast);
}

.przycisk-obramowany.przycisk-glowny {
    border: 1px solid var(--kolor-glowny);
}

/* akcent */
.przycisk-akcent::before {
	background: var(--kolor-akcent-kontrast);
}

.przycisk-akcent.przycisk-skupiony::before, .przycisk-akcent:hover::before {
	background: var(--kolor-akcent-zabarwienie);
}

.przycisk-akcent {
    color: var(--kolor-akcent);
}

.przycisk-pelny.przycisk-akcent {
    background: var(--kolor-akcent);
    color: var(--kolor-akcent-kontrast);
}

.przycisk-obramowany.przycisk-akcent {
    border: 1px solid var(--kolor-akcent);
}

/* sukces */
.przycisk-sukces::before {
	background: var(--kolor-sukces-kontrast);
}

.przycisk-sukces.przycisk-skupiony::before, .przycisk-sukces:hover::before {
	background: var(--kolor-sukces-zabarwienie);
}

.przycisk-sukces {
    color: var(--kolor-sukces);
}

.przycisk-pelny.przycisk-sukces {
    background: var(--kolor-sukces);
    color: var(--kolor-sukces-kontrast);
}

.przycisk-obramowany.przycisk-sukces {
    border: 1px solid var(--kolor-sukces);
}

/* blad */
.przycisk-blad::before {
	background: var(--kolor-blad-kontrast);
}

.przycisk-blad.przycisk-skupiony::before, .przycisk-blad:hover::before {
	background: var(--kolor-blad-zabarwienie);
}

.przycisk-blad {
    color: var(--kolor-blad);
}

.przycisk-pelny.przycisk-blad {
    background: var(--kolor-blad);
    color: var(--kolor-blad-kontrast);
}

.przycisk-obramowany.przycisk-blad {
    border: 1px solid var(--kolor-blad);
}

/* ostrzezenie */
.przycisk-ostrzezenie::before {
	background: var(--kolor-ostrzezenie-kontrast);
}

.przycisk-ostrzezenie.przycisk-skupiony::before, .przycisk-ostrzezenie:hover::before {
	background: var(--kolor-ostrzezenie-zabarwienie);
}

.przycisk-ostrzezenie {
    color: var(--kolor-ostrzezenie);
}

.przycisk-pelny.przycisk-ostrzezenie {
    background: var(--kolor-ostrzezenie);
    color: var(--kolor-ostrzezenie-kontrast);
}

.przycisk-obramowany.przycisk-ostrzezenie {
    border: 1px solid var(--kolor-ostrzezenie);
}

/* info */
.przycisk-info::before {
	background: var(--kolor-info-kontrast);
}

.przycisk-info.przycisk-skupiony::before, .przycisk-info:hover::before {
	background: var(--kolor-info-zabarwienie);
}

.przycisk-info {
    color: var(--kolor-info);
}

.przycisk-pelny.przycisk-info {
    background: var(--kolor-info);
    color: var(--kolor-info-kontrast);
}

.przycisk-obramowany.przycisk-info {
    border: 1px solid var(--kolor-info);
}

/* nieaktywny */
.przycisk-nieaktywny::before {
	background: var(--kolor-nieaktywny-kontrast);
}

.przycisk-nieaktywny:hover::before {
	background: var(--kolor-nieaktywny-kontrast);
}

.przycisk-nieaktywny.przycisk-skupiony::before {
    background: var(--kolor-nieaktywny-zabarwienie);
}

.przycisk-nieaktywny {
    color: var(--kolor-nieaktywny);
}

.przycisk-pelny.przycisk-nieaktywny {
    background: var(--kolor-nieaktywny);
    color: var(--kolor-nieaktywny-kontrast);
}

.przycisk-obramowany.przycisk-nieaktywny {
    border: 1px solid var(--kolor-nieaktywny);
}

/* input */

.przycisk-input::before {
	background: white;
}

.przycisk-input:hover::before {
	background: white;
}

.przycisk-input {
    color: var(--kolor-nieaktywny);
}

.przycisk-obramowany.przycisk-input {
    border: 1px solid var(--input-kolor-obramowanie);
}

/* okragle */
.przycisk.przycisk-okragly {
    border-radius: 50% !important;
    padding: 0;
    min-width: 30px;
    min-height: 30px;
    line-height: 30px;
}

.przycisk-okragly::after {
    border-radius: 50% !important;
}

.przycisk-okragly::before {
    border-radius: 50% !important;
}

/* Przyciski w echo jesli ma tylko ikone maja 5px padding po prawej spowodowany pustym spacerem ktory normalnie sluzy oddzieleniu ikony od tekstu */
.przycisk.przycisk-tylko-ikona {
    min-width: 0px;
    padding: 2px;
}

.przycisk-tylko-ikona > table > tbody > tr > td:nth-child(2) {
    display: none !important;
}

.przycisk-ikona table td:first-child {
    width: auto !important; /* Override the 100% width */
}

.przycisk-ikona table td:last-child {
    width: auto !important; /* Override the 100% width */
    text-align: center !important;
}

/* Center the button content */
.przycisk-ikona table {
    margin: 0 auto !important;
    width: auto !important;
}

.przycisk-ikona {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
}

.przycisk-vaadin-icons td:first-child:after {
    font-family: 'vaadin-icons';
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    display: inline-block;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    line-height: 1
}

.przycisk-4icons td:first-child:after {
    font-family: '4icons';
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    display: inline-block;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    line-height: 1
}

.okno-wiersz-przyciskow-oraz-pomocy .przycisk {
	padding: 0 8px;
	font-size: 12px;
	line-height: var(--okno-wiersz-przyciskow-przycisk-wysokosc);
	font-weight: 400;
	border-radius: 0 !important;
}

.okno-wiersz-przyciskow-oraz-pomocy .przycisk::before {
    border-radius: 0 !important;
}

.okno-wiersz-przyciskow-oraz-pomocy .przycisk::after {
    border-radius: 0 !important;
}

.css-przycisk-zakladki {
    color: var(--kolor-nieaktywny);
    white-space: nowrap;
    font-size: 12px;
    border-radius: 0 !important;
}

.css-przycisk-zakladki::before {
    border-radius: 0 !important;
}

.css-przycisk-zakladki::after {
    border-radius: 0 !important;
}

.css-przycisk-zakladki-wybrany {
    color: var(--kolor-domyslny);
    background: var(--kolor-domyslny-kontrast);
    font-weight: bold;
}

/* datepicker */
.przycisk.przycisk-sterowanie-kalendarz {
    min-width: 24px;
    padding: 0 8px;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* tabela */
.przycisk.przycisk-tabela {
      min-width: 1.8em;
      height: 1.8em;
      line-height: 1;
      width: min-content;
      padding: 0.35em;
      border: 1px solid var(--kolor-nieaktywny-zabarwienie);
      font-weight: 400;
      font-size: 0.8em;
      border-radius: 0;
}

.przycisk.przycisk-tabela:before {
    border-radius: 0;
}

.przycisk.przycisk-numer-strony {

}

.przycisk.przycisk-numer-strony.strona-aktywna:before {
    background: var(--kolor-nieaktywny);
}

.przycisk.przycisk-numer-strony.strona-aktywna {
    color: var(--kolor-nieaktywny-kontrast);
    border: 1px solid var(--kolor-nieaktywny);
}

.przycisk.przycisk-sterowanie-strona {
    display: flex;
    align-items: center;
    justify-content: center;
}

.przycisk.przycisk-sterowanie-strona > * {
    font-size: 0.5em;
}