input,
select,
table,
textarea {
	width: 100%
}

.actions a,
.category.active>a,
.form-group label,
.letter-filter a.active,
.tabs a.active,
th {
	font-weight: 700
}

.dashboard a,
.dashboard-pending h1,
.pagination,
button {
	text-align: center
}

.dashboard a,
.tabs a {
	text-decoration: none
}

small {
	opacity: .7
}

a {
	transition: background-color .1s, transform .1s
}

a:active,
button:active {
	transform: translateY(2px)
}

a:hover>*,
a>* {
	color: inherit
}

.pagination {
	margin-top: 20px
}

.pagination a,
.pagination span {
	display: inline-block;
	padding: 5px 10px;
	margin: 0 5px;
	text-decoration: none
}

textarea {
	min-height: 100px;
	resize: vertical
}

.form-group {
	margin-bottom: 15px;
	display: flex;
	flex-direction: column
}

.form-group label {
	margin-bottom: 5px
}

.dashboard-pending li:before,
.form-group label:before,
li:before {
	content: "\E13A";
	font-family: Phosphor;
	font-size: 10pt;
	vertical-align: middle;
	margin-right: 5px
}

.form-group label:has(input[type=checkbox]):before {
	content: none
}

#password-strength-message {
	margin-top: 5px
}

fieldset.settings-group {
	padding: 15px
}

fieldset.settings-group legend {
	font-weight: 700;
	padding: 0 10px
}

.letter-filter a {
	padding: 5px
}

.actions a,
.letter-filter a.all {
	padding: 5px 10px
}

button {
	padding: 8px 16px;
	cursor: pointer;
	display: inline-block;
	transition: background-color .1s, transform .1s, box-shadow .1s
}

button:hover {
	filter: brightness(1.1)
}

table {
	border-collapse: collapse
}

td,
th {
	padding: 10px;
	text-align: left
}

th:first-child {
	border-top-left-radius: 10px
}

th:last-child {
	border-top-right-radius: 10px
}

tr:hover {
	transition: background-color .2s
}

.actions {
	display: flex;
	gap: 5px;
	justify-content: flex-end;
	align-items: center
}

.actions a {
	font-size: 8pt;
	text-transform: uppercase
}

ul {
	list-style: none;

	margin: 0
	 background: rgba(255, 255, 255, 0.78);
  backdrop-filter: blur(10px);
  border-radius: 20px;
  border: 1px solid rgba(150, 130, 200, 0.5); /* soft border */
  box-shadow: inset 0 0 8px rgba(197, 180, 216, 0.2),
              0 12px 40px rgba(170, 180, 220, 0.35);
  padding: 10px;
}

li {
	padding: 10px 15px;
	margin-bottom: 8px;
	transition: background-color .2s, transform .1s
	
}

li:hover {
	transform: translateX(3px)
}

.flex {
	display: flex;
	align-items: flex-start
}

.flex>div {
	flex: 1
}

img {
	max-width: 100%
}

button,
input,
optgroup,
select,
textarea {
	font-family: inherit;
	font-size: 100%;
	line-height: 1.15
}

.box,
.messages {
	padding: 15px;
	margin-bottom: 10px
}

.dashboard-pending,
.form {
	margin: 0 auto 10px;
	padding: 15px
}

.dashboard-pending {
	width: 50%
}

.dashboard-pending h1 {
	border: 0
}

.form {
	width: 90%
}

.form button.large {
	width: 50%;
	min-width: 200px;
	margin: 0 auto;
	display: block
}

.affiliates {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(88px, auto));
	gap: 20px
}

.affiliates .affiliate {
	padding: 10px;
	display: flex;
	justify-content: center;
	align-items: center
}

.affiliates img {
	display: block;
	min-width: 88px;
	min-height: 31px;
	object-fit: contain
}

.codes {
	display: flex;
	flex-wrap: wrap;
	gap: 10px
}

.modal-backdrop {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	z-index: 1000
}

.modal {
	background-color: rgba(0, 0, 0, .7);
	backdrop-filter: blur(50px);
	padding: 20px;
	width: 90%;
	max-width: 500px;
	position: relative;
	box-shadow: 0 0 10px rgba(0, 0, 0, .5);
	border: 1px solid rgba(255, 255, 255, .1)
}

.modal-header {
	display: flex;
	justify-content: space-between;
	align-items: center
}

.modal-close-button {
	background: 0 0;
	border: none;
	font-size: 15pt;
	cursor: pointer
}

.dashboard {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
	gap: 10px;
	padding: 10px;
	margin-bottom: 25px
}

.dashboard a {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px;
	transition: background .3s
}

.dashboard a i {
	margin-right: 10px
}

.category-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
	gap: 20px;
	margin: 15px 0
}

.category-grid .grid-item {
	text-align: center;
	padding: 5px
}

.category-grid .grid-item img {
	max-width: 100%;
	aspect-ratio: 1/1;
	object-fit: cover;
	height: auto;
	display: block;
	margin-bottom: 5px
}

.tabs {
	display: flex;
	gap: 10px;
	margin-bottom: 15px;
	
}

.tabs a {
padding: 8px 16px;
  border-radius: 999px;
  background: linear-gradient(135deg, #c5b4d8, #a8c9e3);
  border: none;
  color: #fff;
  cursor: pointer;
  box-shadow: 0 4px 15px rgba(170, 180, 220, 0.35);

.placeholder {
    width: 50px;
    height: 50px;
    display: block;
    background: rgba(0, 0, 0, 0.5);
    border: 1px dotted rgba(255, 255, 255, 0.2);
    font-size: 7pt;
    overflow-wrap: break-word;
    align-items: center;
    display: flex;
    word-break: break-word;
    min-width: 0;
}