@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@200..800&display=swap');

body {
	margin: 0;
	font-family: "Manrope", sans-serif;
	background: #181818;
}

p {
	margin: 0;
}

.page {
	display: flex;
	height: 100vh;
}

.sidebar {
	width: 35%;
	max-width: 420px;
	background: #181818;
	border-right: 1px solid #2b2b2b;
	display: flex;
	flex-direction: column;
}

.sidebar-header {
	padding: 20px 20px;
	font-weight: 600;
	padding-bottom: 12px;
	font-size: 20px;
	font-weight: 800;
	color: white;
}

.shop-list {
	list-style: none;
	margin: 0;
	padding: 0;
	overflow-y: auto;
}

.shop-item {
	padding: 10px 20px;
	border-bottom: 1px solid #232323;
	cursor: pointer;
	font-size: 14px;
	color: white;
    transition: 0.2s;
}

.shop-item:hover {
	background: #272727;
}

.shop-item.active {
	background: #353535;
}

.content {
	flex: 1;
	padding: 20px;
	overflow-y: auto;
    background-color: #242424;
}

.content h2 {
	margin-top: 0;
	margin-bottom: 16px;
	font-size: 20px;
	font-weight: 800;
	color: white;
}

.form-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px 24px;
}

.form-row {
	display: flex;
	flex-direction: column;
	font-size: 14px;
}

label {
	margin-bottom: 8px;
	color: #818181;
	font-weight: 500;
}

input[type="text"],
input[type="time"],
input[type="date"],
textarea,
select {
	padding: 8px 12px;
	border-radius: 4px;
	font-size: 14px;
	background: #2d2d2d;
	border: 1px solid #3f3f3f;
	color: white;
	font-family: 'Manrope';
	font-weight: 500;
    outline: none;
    transition: 0.2s;
}
input[type="text"]:focus,
input[type="time"]:focus,
input[type="date"]:focus,
textarea:focus {
    border: 1px solid #535353;
}

textarea {
	resize: vertical;
	min-height: 80px;
	margin-bottom: 4px;
}

.checkbox-row {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-top: 4px;
}

.actions {
	margin-top: 20px;
	display: flex;
	gap: 10px;
	align-items: center;
}

button {
	padding: 8px 16px;
	border-radius: 4px;
	border: none;
	background: #679F73;
	color: #fff;
	font-size: 14px;
	cursor: pointer;
	font-family: 'Manrope';
	font-weight: 600;
}

button:disabled {
	opacity: 0.6;
	cursor: default;
}

.status {
	font-size: 14px;
	margin-left: 8px;
	font-weight: 500;
    color: #818181;
}

.status.ok {
	color: #21bd5b;
}

.status.error {
	color: #b91c1c;
}

.hint {
	font-size: 12px;
	color: #888;
}


::-webkit-scrollbar {
    width: 14px;
    height: 14px;
}
::-webkit-scrollbar-corner {
    background-color: #ffffff;
}
::-webkit-scrollbar-thumb {
    background-color: #747474;
    border-radius: 20px;
    border: 4px solid #181818;
}
::-webkit-scrollbar-track {
    background-color: #181818;
}

label[for="stocks"] {
    margin-bottom: 2px;
}
[hidden] {
    display: none;
}
desc {
    margin-left: 4px;
    color: #a3a3a3;
}

.form-grid, .actions {
    display: none;
}
.page[shopSelected] .form-grid {
    display: grid;
}
.page[shopSelected] .actions {
    display: flex;
}
select {
    padding: 7px 12px;
}



.ui {
	display: flex;
}
.pageSelector {
	border-right: 1px solid #232323;
    padding: 7px;
}
.pageSelector .button {
	width: 40px;
    height: 40px;
    border-radius: 8px;
    display: flex;
    justify-content: center;
    align-items: anchor-center;
    margin-bottom: 4px;
	transition: 0.2s;
	cursor: pointer;
}
.pageSelector .button:hover {
	background: #212121;
}
.pageSelector .button svg path {
	fill: #5f5f5f;
}
.pageSelector .button[active] {
	background: #2d2d2d;
}
.pageSelector .button[active] svg path {
	fill: #71b780;
}
.contents {
	width: 100%;
}

#shopEditing, #mapStats {
	display: none;
}
.contents[currentPage="shopEditing"] #shopEditing, .contents[currentPage="mapStats"] #mapStats {
	display: flex;
}

.statsInfo {
	width: 500px;
	height: 100%;
    overflow-y: auto;
}
.statsInfo .section {
	padding: 20px;
    border-bottom: 1px solid #232323;
}
.statsInfo .section:last-child {
	border-bottom: none;
}
.statsInfo .section p.header {
	color: white;
    font-size: 18px;
    font-weight: 600;
	margin-bottom: 20px;
}

.map {
	width: calc(100% - 420px);
    background: white;
}

.checkbox-input {
    margin-bottom: 5px;
}
.checkbox-input label {
    margin-left: 5px;
    font-size: 16px;
    color: #979797;
}
.checkbox-input:last-child {
    margin-bottom: 0px;
}

table {
	width: 100%;
    border-collapse: collapse;
	background-color: #1c1c1c;
}
td, th {
	border: 1px solid #333333;
	text-align: left;
	padding: 8px 12px;
	color: aliceblue;
}
td {
    text-align: end;
}
.table-body {
	overflow-y: auto;
    height: calc(100vh - 496px);
}

.inputs-grid {
	display: grid;
    gap: 8px;
    grid-template-columns: 1fr 1fr;
    margin-top: 16px;
}
.inputs-grid .row {
	display: flex;
    flex-direction: column;
}
.inputs-grid .row p {
	color: #777777;
    font-size: 14px;
    font-weight: 500;
    margin-bottom: 4px;
}

.map {
	display: flex;
    padding: 30px;
}
.map #map {
	width: 100%;
    height: 100%;
}