input {
    box-sizing: border-box;
}

input:not(.css-logowanie), select, textarea {
    border-radius: var(--border-radius-input, var(--border-radius));
    padding: var(--input-padding-v, 4px) var(--input-padding-h, 4px) var(--input-padding-v, 4px) var(--input-padding-h, 4px) !important;
}

input:not(.css-logowanie), select, textarea,
.checkbox-dictionary-control .przycisk {
    border: 1px solid var(--input-kolor-obramowanie) !important;
}

.checkbox-dictionary-control .przycisk {
    overflow: hidden;
    text-overflow: ellipsis;
    width: 100%;
}

input[type="text"], input[type="password"], input[type="number"], input:not([type]) {
    height: calc(var(--input-wysokosc, 18px) + 2 * var(--input-padding-v, 4px));
}

select {
    min-width: 40px;
    height: calc(var(--select-wysokosc, 18px) + 2 * var(--input-padding-v, 4px));
}

[browser="safari"] select {
    -webkit-appearance: none;
}

/* checkbox w tabeli */
[checkbox], [radio] {
    min-height: var(--checkbox-rozmiar);
    min-width: var(--checkbox-rozmiar);
    position: relative;
    display: inline-flex;
    border: 1px solid transparent;
    width: max-content;
}

[checkbox],
[checkbox]::before,
[checkbox]::after,
[radio],
[radio]::before,
[radio]::after {
    box-sizing: content-box;
    line-height: var(--checkbox-rozmiar);
}

[checkbox] img, [radio] img {
    display: none;
}

[checkbox] > table, [radio] > table {
    margin-left: var(--checkbox-rozmiar) !important;
}

[checkbox]::before, [radio]::before {
    position: absolute;
    display: block;
    content: '';
    left: -1px;
    top: -1px;
    width: var(--checkbox-rozmiar);
    height: var(--checkbox-rozmiar);
    border-radius: var(--border-radius-maly);
    border: 1px solid var(--checkbox-color, var(--kolor-domyslny));
}

[radio]::before {
    border-radius: 50%;
}

[checkbox][selected="true"]::after,
[radio][selected="true"]::after {
    opacity: 1;
}

[checkbox][selected="false"]::after,
[radio][selected="false"]::after {
    opacity: 0;
}

[checkbox][selected="false"][enabled="true"]:hover::after,
[radio][selected="false"][enabled="true"]:hover::after {
    opacity: 0.2;
}

[checkbox][selected]::after,
[radio][selected]::after {
	position: absolute;
	display: block;
	left: -1px;
	top: -1px;
	width: var(--checkbox-rozmiar);
	height: var(--checkbox-rozmiar);
	background: var(--checkbox-color, var(--kolor-domyslny));
	font-family: 'vaadin-icons';
	content: '\e75b';
	font-size: var(--checkbox-font-size, var(--checkbox-rozmiar));
	transition: all 0.2s;
	color: var(--checkbox-color-contrast, var(--kolor-domyslny-kontrast));
	border-radius: var(--border-radius-maly);
	border: 1px solid transparent;
	text-align: center;
}

[radio][selected]::after {
    content: "";
    border-radius: 50%;
    background-color: transparent;
}

[radio][selected="true"]::before {
    background: radial-gradient(circle,
        var(--checkbox-color, var(--kolor-domyslny)) 0%,
        var(--checkbox-color, var(--kolor-domyslny)) 40%,
        rgba(0,0,0,0) 46%
    );
}

/* placeholdery */
::-webkit-input-placeholder { /* Chrome/Opera/Safari */
    color: darkgray;
    font-style: italic;
}

::-moz-placeholder { /* Firefox 19+ */
    color: darkgray;
    font-style: italic;
}

:-ms-input-placeholder { /* IE 10+ */
    color: darkgray;
    font-style: italic;
}

:-moz-placeholder { /* Firefox 18- */
    color: darkgray;
    font-style: italic;
}

[checkbox].readonly::before, [checkbox].readonly::after,
[radio].readonly::before, [radio].readonly::after {
    cursor: not-allowed;
}

input.readonly, select.readonly {
    background-color: #ededed !important;
    cursor: not-allowed;
}

.generator-label::after {
    display: flex;
    content: '*';
    font-size: 9px;
    color: transparent;
    align-items: center;
    margin: var(--margin-etykieta-generator, 0 2px 0 4px);
}

.wymagane.generator-label::after {
    color: red;
}

.generator-label {
    display: inline-flex;
    justify-content: end;
    align-items: center;
    text-align: end;
}

fieldset {
    border: 1px solid var(--input-kolor-obramowanie);
}

.cb-highlighted-item {
    background-color: rgba(0, 0, 0, 0.2);
}

.options-dropdown {
    width: max-content;
}

.options-dropdown[border] {
    border: 1px solid var(--input-kolor-obramowanie);
    border-radius: var(--border-radius-input, var(--border-radius));
}

.options-dropdown[border] .przycisk.przycisk-tylko-ikona.options-dropdown-options-button {
    border-left: 1px solid var(--input-kolor-obramowanie);
}

.przycisk.przycisk-tylko-ikona.options-dropdown-options-button {
    min-width: 2em;
}

.options-dropdown-dropdown {
}

.options-dropdown-option {
}

.options-dropdown-option-primary {
}


input[type="text"], input[type="password"], input[type="number"], input:not([type]), select, textarea {
    font-size: var(--input-font-size, inherit);
}

.filtr-tabeli {
    font-size: var(--input-font-size, inherit) !important;
    width: 100%;
}