:root {
	--bg: #0b0e11;
	--text: #e6eef7;
	--text-muted: #6b7b89;
	--order-gradient: linear-gradient(135deg, #0fd3e2, #0666ff);
	--solved-gradient: linear-gradient(135deg, #4ca98c, #2b5e54);
	--card-bg: #111418;
	--modal-bg:#1b1c20;
	--radius:10px;
}
.btn-primary {
	padding: 12px 22px;
	border: 0px solid #fdc700;
	border-radius: var(--radius);
	background: transparent;
	color:#000000;
	cursor: pointer;
	font-weight: 500;
	margin-top:20px;
	background:#bf9f29;
}
.container {
	max-width:1000px;
	margin: auto;
}

/* Puzzle Grid */
.puzzle-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(50px, 5fr));
	gap: 0;
	margin-top:30px;
}

.puzzle-price {
	--r: 2px;
	--s: 50px;
	
	height: calc(var(--s) + var(--r));
	position: relative;
	margin: calc(var(--r) * -0.5) 0 0 calc(var(--r) * -0.5);
	
	background: #18171d;
	border: 1px solid #27272a;
	color: #676767;
	
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: monospace;
	font-size: 14px;
	cursor: pointer;
	user-select: none;
}

.puzzle-price.solved {
	background: 
	
	repeating-linear-gradient(
	45deg,
	transparent,
	transparent 5px,
	rgba(130, 169, 255, 0.25) 5px,
	rgba(130, 169, 255, 0.25) 6px
	),
	
	linear-gradient(
	135deg,
	rgba(130, 169, 255, 0.05) 0%,
	transparent 50%,
	rgba(130, 169, 255, 0.05) 100%
	),
	
	#121212;
	color: #82a9ff;
	border-color: #27272a;
	position: relative;
	border: 1px solid rgba(130, 169, 255, 0.2);
}

.puzzle-price.progress {
	color: #7f7f7f;
}

.puzzle-price.order {
	color:#fdc700;
	font-weight: bold;
	border-color: #313653;
	animation: softPulse 2s cubic-bezier(0, 0.01, 0.4, 0.2) infinite;
	background: repeating-linear-gradient(45deg, transparent, transparent 5px, rgba(130, 169, 255, 0.25) 5px, rgba(130, 169, 255, 0.25) 6px), linear-gradient(135deg, rgba(130, 169, 255, 0.05) 0%, transparent 50%, rgba(130, 169, 255, 0.05) 100%), #121212;
}

@keyframes softPulse {
	0%, 60% {
		background-color: #bf9c1b;
	}
	10% {
		background-color: #9d811e;
	}
}

.puzzle-price:hover {
	transform: scale(1.08);
	z-index: 100;
	transition: transform 0.2s;
	box-shadow: 0 0 15px rgba(255, 255, 255, 0.2);
}

.payment-box {
	margin: 5px 0;
	padding: 5px;
	border-radius: var(--radius);
	display: flex;
	align-items: center;
	gap: 20px;
}

.info-block {
	margin: 14px 0;
}
code {
	font-size: 14px;
	color: #818181;
}
.info-block {
	display: block;
	word-break: break-all;
	border-radius: var(--radius);
}

strong {
	font-size: 14px;
}
sup {
	font-size: 10px;
	margin-top:-5px;
}
/* TABS */
.status-badge {
	font-size: 1em;
	padding: 4px 10px;
	border-radius: 8px;
	display: inline-block;
}
.status-active {
	background: rgba(255,70,70,0.12);
	color: #ff6262;
	border: 1px solid rgba(255,70,70,0.3);
}
.status-inactive {
	background: rgba(58,255,151,0.12);
	color: #4fffab;
	1border: 1px solid rgba(58,255,151,0.3);
}

.tab-content {
	display: none;
}
.tab-content.active-p {
	display: block;
}

/* mini */
.mini-switcher {
	background: #1e1f21;
	border-radius: 6px;
	display: inline-flex;
	padding: 2px;
	gap: 1px;
	border: 1px solid #333333;
}

.mini-tab {
	padding: 4px 12px;
	border: none;
	background: transparent;
	color: #696969;
	font-family: monospace;
	font-size: 12px;
	border-radius: 4px;
	cursor: pointer;
	transition: all 0.2s;
}
.mini-tab:hover {
	background: rgba(130, 169, 255, 0.1);
}
.mini-tab.active-p {
	background: #2c3984;
	color: #b6b9bf;
}
/* table */

.table-container {
	background: #1c2741;
	border-radius: 8px;
	border: 1px solid #313653;
	overflow: hidden;
}

.simple-table {
	background:#1b1c20;
	width: 100%;
	border-collapse: collapse;
	color: #777;
	font-size: 14px;
	font-family: 'Roboto', sans-serif;
	font-style: normal;
}

.simple-table thead {
	background: #1b1c20;
	color: #777;
	font-size: 16px;
	height:70px;
}

.simple-table th {
	padding: 7px 16px;
	text-align: left;
	border-top: 1px solid #27272a;
	border-bottom: 2px solid #27272a;
	color: #777;
	font-size: 14px;
	height:80px;
}

.simple-table td {
	padding: 5px 10px;
	border-bottom: 1px solid #27272a;
}

.simple-table tbody tr:hover {
	background-color: #25262a;
}

.simple-table tbody tr:last-child td {
	border-bottom: none;
}

.cell-id {
	word-break: break-all;
	margin-left:30px;
	text-align: right;
	width:45px;
}

.cell-r {
	text-align: left;
	width:75px;
}

.cell-address,
.cell-key {
	word-break: break-all;
	max-width: 300px;
}

.cell-date {
	width: 100px;
}

.status-solved {
	background: rgba(34, 197, 94, 0.2);
	color: #22c55e;
}
.code3plus {
	background: repeating-linear-gradient(45deg, transparent, transparent 5px, rgba(130, 169, 255, 0.25) 5px, rgba(130, 169, 255, 0.25) 6px), linear-gradient(135deg, rgba(130, 169, 255, 0.05) 0%, transparent 50%, rgba(130, 169, 255, 0.05) 100%), #e6c7001f;
}

/* new */

.modal {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,0.6);
	align-items: center;
	justify-content: center;
}

.modal-content {
	background: var(--modal-bg);
	padding: 65px 40px;
	border-radius: var(--radius);
	width: 450px;
	box-shadow: 0px -2px 12px 2px #000;
	color: #b9b9b9;
	font-size: 16px;
}

.modal-overlay, 
.modal-backdrop,
[class*="modal"] {
	z-index: 10000 !important;
}

.text_puzze {
	margin-top: 20px;
	background: linear-gradient(290deg, #d235ff 0%, #a062ff 30%, #3088ff 66%, #61d8ff 100%);
	font-weight: bold;
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}
.info_reservation {
	color: rgb(119, 119, 119);
	font-size: 14px;
	margin-top: 20px;
	display: block;
	text-align:left;
}
.chart-container { width: 100%; height: 400px; padding: 10px; border-radius: 8px; }
.container-tr {
	max-width: 830px;
	margin: 20px auto;
	background: linear-gradient(180deg, rgb(34 33 37) 0%, rgb(10 9 14) 100%), #1E2126;
	padding: 50px;
	border-radius: 10px;
}

.modal {
	display: none;
	position: fixed;
	top: 0; left: 0;
	width: 100%; height: 100%;
	background: rgba(0,0,0,0.5);
}

.modal > div {
	margin: 30px auto;
	padding: 50px 40px;
	max-width: 420px;
	background-color: #1b1c20;
}

.inputNew {
	padding: 0 10px;
	height: 32px;
	border-radius: 3px;
	-webkit-box-shadow: inset 0 1px 4px rgb(0 0 0 / 30%), 0 1px rgb(255 255 255 / 6%);
	border: 1px solid #04090e;
	background-color: #222222;
	color: #acb2b8;
	font-size: 14px;
}
.char {
	position:absolute;
	color: #5a5a5a;
}
.status-active {
	background: rgba(255, 70, 70, 0.12);
	color: #ff6262;
	border: 1px solid rgba(255, 70, 70, 0.3);
	margin-top: 20px;
	font-size: 14px;
	padding: 20px;
	display: none;
	line-height: 1.2;
}
.status-order {
	background: #00364f57;
	color: #bdbdbd;
	border: 1px solid rgb(43 70 103);
	margin-top: 20px;
	font-size: 14px;
	padding: 20px;
	display: none;
	line-height: 1.2;
}
.status-success {
	background: #ffeb3b30;
	color: #FFEB3B;
	border: 1px solid #5b562a;
	margin-top: 20px;
	font-size: 14px;
	padding: 20px;
	display: none;
	line-height: 1.2;
}
.status-active {
	display: none;
}
.modal_van {
	font-size: 14px;
	position: fixed;
	opacity: 1;
	color: white;
	text-align: left;
	z-index: 1000;
	width: 420px;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	background-color: #1b1c20;
	padding: 30px 40px 30px 40px;
	
	color: #000;
	border-radius: 10px;
	box-shadow: 0px -2px 12px 2px #000;
}

/* modal */

.modal-content {
	border-radius: 10px;
	padding: 32px;
	max-width: 600px;
	width: 90%;
	box-shadow: 0px -2px 12px 2px #000;
}


.modal-title {
	color: #dfdbdb;
	font-size: 24px;
	margin: 0 0 24px 0;
	font-weight: 500;
	letter-spacing: 0.5px;
}

.info-grid {
	display: flex;
	flex-direction: column;
	gap: 0px;
	margin-bottom: 28px;
}

.info-row {
	display: grid;
	grid-template-columns: 120px 1fr;
	align-items: baseline;
	border-bottom: 1px solid #27272a;
	padding: 5px;
}

.info-row:last-child {
	border-bottom: none;
}

.info-label {
	color:#a5a5a5;
	font-size: 14px;
	font-weight: 500;
	letter-spacing: 0.3px;
}

.info-value {
	color: #777;
	font-size: 14px;
	padding: 4px 8px;
	border-radius: 6px;
	word-break: break-all;
}

.code-address {
	color: #7aa2f7;
}

.code-highlight {
	color: #9ece6a;
}

.code-key {
	color: #bb9af7;
}

.range-values {
	display: flex;
	align-items: center;
	gap: 0px;
	flex-wrap: wrap;
}

.range-separator {
	color: #8f9bb3;
	font-size: 14px;
}

@media (max-width: 600px) {
	.modal-content {
		padding: 20px;
	}
	
	.info-row {
		grid-template-columns: 1fr;
		gap: 4px;
	}
	
	.modal-title {
		font-size: 24px;
	}
}