/* root */
:root {	
	--button-background: #222222;
	--button-background-focus: #222222;
	--button-background-hover: #3f3f3f;
	--button-background-active: #000000;
	--button-color: #fff;
	
	--button-brand-background: #B21F3D;
	
	--button-background-disabled: #f2f2f2;
	--button-color-disabled: #c1c1c1;
	
	--button-grey-background: #E6E6E6;
	--button-grey-background-hover: #fff;
	--button-grey-color: #171717;
	
	--border-color: #E5E5E5;
	--border-radius: .25rem;
	
	--color-red: #EF4343;
	--color-grey: #737373;
}

/* html */
html {
	scroll-behavior: smooth;
}

[id] {
	scroll-margin-top: calc(65px + 1rem);
}

/* body */
body {
	font-size: 16px;
	font-family: "Inter", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	margin: 0;
	padding: 0;
	
	line-height: 1.43;
	color: #222222;
	background-color: #fff;
}

/* h tags */
h1, h2, h3, h4, h5, h6 {
	margin: 0;
	font-weight: 600;
}
h1 {
    font-size: 30px;
}
h2 {
    font-size: 26px;
}
h3 {
    font-size: 24px;
}
h4 {
    font-size: 22px;
}

/* p */
p {
	line-height: 1.5;
}

/* button */
button,
.button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .5rem;
	border-radius: var(--border-radius);
	/*height: 48px;*/
	height: 38px;
	padding: 0 1rem;
	font-size: 1rem;
	text-decoration: none;
	outline: none;
	border: none;
	cursor: pointer;
	text-decoration: none;
	background: var(--button-background);
	color: var(--button-color);
}
@media (focus: focus) {
	button:focus,
	.button:focus {
		background: var(--button-background-focus);
	}
}
@media (hover: hover) {
	button:hover,
	.button:hover {
		background: var(--button-background-hover);
	}
}
@media (active: active) {
	button:active,
	.button:active {
		background: var(--button-background-active);
	}
}
button.brand,
.button.brand {
	background: var(--button-brand-background);
}
button.grey,
.button.grey {
	background: var(--button-grey-background);
	color: var(--button-grey-color);
}
@media (hover: hover) {
	button.grey:hover,
	.button.grey:hover {
		background: var(--button-grey-background-hover);
	}
}

/* a links */
a {
	color: inherit;
	text-decoration: underline;
}
@media (hover: hover) {
	a:hover {
		text-decoration: none;
	}
}

/* table */
.table_responsive {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
	margin-bottom: 1rem;
}
table {
	width: 100%;
	border-collapse: collapse;
	margin: 1rem 0;
}
table thead {
	background: #f9f9f9;
}
table th,
table td {
	padding: 8px 10px;
	text-align: left;
	border-bottom: 1px solid #eee;
}
table th {
	font-weight: 600;
}
@media (hover: hover) {
	table tr:hover {
		background: #fafafa;
	}
}
table input[type="text"] {
	width: 100%;
	outline: 0;
	border: 1px solid #2d2f29;
	border-radius: .25rem;
	height: 30px;
	padding: .25rem .5rem;
}
table input[readonly] {
	background-color: #f5f5f5;
	color: #666;
	cursor: not-allowed;
}

/* form */
form {
	display: flex;
	flex-direction: column;
	gap: .75rem;
}

/* input */
input,
select {
    box-sizing: border-box;
    height: 48px;
    width: 100%;
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius);
	font-size: 1rem;
	padding: 0 .5rem;
}
input:focus,
select:focus {
    outline: 0;
    border-color: var(--border-color);
    box-shadow: 0 0 0 2px var(--border-color);
}
input::placeholder,
textarea::placeholder {
    opacity: .75;
	font-size: .925rem;
}
input[readonly],
textarea[readonly] {
	background-color: #f5f5f5;
	color: #666;
	cursor: not-allowed;
}
input[type="checkbox"] {
    width: 18px;
    height: 18px;
}
input[type="radio"] {
	display: none;
}
input[type="radio"] + label {
	border: 1px solid var(--border-color);
	border-radius: var(--border-radius);
}
input[type="radio"]:hover + label {
	cursor: pointer;
	background: #dcdfe4;
}
input[type="radio"]:checked + label {
    background: #1a2b49;
	color: #fff;
}

/* breadcrumbs */
.breadcrumbs nav {
	padding: .5rem 0;
	font-size: .85rem;
}
.breadcrumbs nav ol {
    list-style: none;
    margin: 0;
    padding: 0;
	list-style-type:none;
	text-overflow:ellipsis;
	white-space:nowrap;
	overflow:hidden;
}
.breadcrumbs nav> ol li {
    display: inline;
    margin: 0;
}
.breadcrumbs nav ol li:before {
	color: initial;
}
.breadcrumbs nav> ol li+li:before {
    content: "\203A";
    padding: 0 .5rem 0 .25rem;
}
.breadcrumbs nav> ol li a {
    text-decoration: none;
}
@media (hover: hover) {
	.breadcrumbs nav> ol li a:hover {
		text-decoration: underline;
	}
}

/* form_group */
.form_groups {
    display: grid;
    gap: 1rem;
}
.form_groups .form_row {
    display: flex;
	flex-wrap: wrap;
    column-gap: .5rem;
	row-gap: .25rem;
}
.form_groups .form_row .form_field {
    flex: 1;
    display: flex;
    flex-direction: column;
	justify-content: end;
    gap: .35rem;
}
.form_groups .form_row .form_field.form_alert {
	align-items: center;
	justify-content: unset;
	flex-direction: row;
	gap: .25rem;
	background: #fffbeb;
	color: #7b3306;
	padding: .5rem;
	font-size: .75rem;
	border-radius: var(--border-radius);
}
.form_groups .form_row .form_field.form_alert svg {
	stroke: #e17100;
}

/* label */
label {
	font-size: .825rem;
	display: flex;
	align-items: center;
	gap: .5rem;
}

/* status_badge */
.status_badge {
	display: inline-flex;
	align-items: center;
	padding: 4px 8px;
	border-radius: 999px;
	font-size: 0.8rem;
	font-weight: 700;
	line-height: 1.2;
	white-space: nowrap;
}
.status_badge.status_new {
	background: #e5e7eb;
	color: #374151;
}
/*.status_badge.status_contacted {
	background: #f3e8ff;
	color: #6b21a8;
}*/
.status_badge.status_pending {
	background: #fef3c7;
	color: #92400e;
}
.status_badge.status_accepted {
	background: #dbeafe;
	color: #1d4ed8;
}
.status_badge.status_declined {
	background: #fee2e2;
	color: #991b1b;
}
.status_badge.status_completed {
	background: #dcfce7;
	color: #166534;
}