velora-player/assets/css/admin-settings.css
2026-03-23 16:55:03 +01:00

362 lines
5.8 KiB
CSS

.map-admin-page {
max-width: 1480px;
}
.map-admin-page__intro {
max-width: 820px;
margin: 0 0 18px;
color: #5f6c7b;
}
.map-admin-layout {
display: grid;
grid-template-columns: minmax(0, 1.35fr) minmax(360px, 0.85fr);
gap: 20px;
align-items: start;
}
.map-design-form,
.map-preview-panel {
min-width: 0;
}
.map-settings-shell {
display: grid;
gap: 12px;
padding: 14px;
background: linear-gradient(180deg, #ffffff, #f8fafc);
border: 1px solid #d7dde5;
border-radius: 18px;
box-shadow: 0 16px 40px rgba(15, 23, 42, 0.05);
}
.map-settings-shell__header {
display: flex;
justify-content: space-between;
gap: 18px;
align-items: flex-start;
}
.map-settings-shell__meta h2 {
margin: 2px 0 4px;
font-size: 24px;
line-height: 1.15;
}
.map-settings-shell__meta p {
margin: 0;
max-width: 720px;
color: #5f6c7b;
}
.map-settings-shell__eyebrow {
display: inline-flex;
padding: 5px 10px;
border-radius: 999px;
background: #eef4ff;
color: #2754c5;
font-size: 12px;
font-weight: 700;
letter-spacing: 0.04em;
text-transform: uppercase;
}
.map-settings-actions {
display: flex;
flex-wrap: wrap;
gap: 10px;
align-items: center;
}
.map-settings-actions--header {
justify-content: flex-end;
}
.map-settings-actions--footer {
padding-top: 4px;
}
.map-design-form .nav-tab-wrapper {
display: flex;
flex-wrap: wrap;
gap: 8px;
margin: 0;
padding: 0;
border-bottom: 0 !important;
}
.map-design-form .nav-tab {
margin: 0;
padding: 10px 14px;
border: 1px solid #d7dde5;
border-radius: 12px;
background: #f6f8fb;
color: #334155;
}
.map-design-form .nav-tab:hover {
background: #edf2f7;
color: #0f172a;
}
.map-design-form .nav-tab.nav-tab-active {
border-color: #c9d9ff;
background: #eaf1ff;
color: #1d4ed8;
box-shadow: inset 0 0 0 1px rgba(59, 130, 246, 0.12);
}
.map-settings-panels {
position: relative;
max-height: calc(100vh - 265px);
padding-right: 4px;
overflow-y: auto;
scroll-behavior: smooth;
scrollbar-width: thin;
scrollbar-color: #c3cfdf transparent;
}
.map-settings-panels::-webkit-scrollbar {
width: 8px;
}
.map-settings-panels::-webkit-scrollbar-thumb {
border-radius: 999px;
background: #c3cfdf;
}
.map-settings-panels::-webkit-scrollbar-track {
background: transparent;
}
.map-settings-card {
padding: 16px;
background: #fff;
border: 1px solid #e2e8f0;
border-radius: 16px;
box-shadow: 0 8px 24px rgba(15, 23, 42, 0.04);
}
.map-settings-panel {
display: none;
}
.map-settings-panel.is-active {
display: block;
}
.map-settings-card__header {
margin-bottom: 12px;
}
.map-settings-card__header h2 {
margin: 0 0 2px;
font-size: 22px;
}
.map-settings-card__header p {
margin: 0;
color: #64748b;
}
.map-field-grid {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 12px;
}
.map-field-card {
display: grid;
gap: 8px;
padding: 12px 14px;
border: 1px solid #e7edf4;
border-radius: 14px;
background: #fbfdff;
}
.map-field-card--checkbox,
.map-field-card--select,
.map-field-card--checkbox_group {
grid-column: 1 / -1;
}
.map-field-card__top {
display: grid;
gap: 8px;
}
.map-field-card__label {
display: block;
font-size: 14px;
font-weight: 600;
color: #0f172a;
}
.map-field-card .description {
margin: 0;
color: #64748b;
line-height: 1.45;
}
.map-select-control {
min-width: 220px;
max-width: 340px;
}
.map-color-field {
max-width: 140px;
}
.map-checkbox-group {
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 10px;
}
.map-checkbox-group label {
display: flex;
align-items: center;
gap: 8px;
padding: 10px 12px;
border: 1px solid #d9e3ee;
border-radius: 12px;
background: #fff;
}
.map-range-control {
display: grid;
grid-template-columns: minmax(0, 1fr) auto;
gap: 10px;
align-items: center;
max-width: 100%;
}
.map-range-control__value {
min-width: 56px;
padding: 6px 10px;
border-radius: 999px;
background: #eef4ff;
color: #1e40af;
font-weight: 700;
text-align: center;
}
.map-switch {
display: inline-flex;
align-items: center;
gap: 8px;
width: fit-content;
cursor: pointer;
}
.map-switch input {
position: absolute;
opacity: 0;
pointer-events: none;
}
.map-switch__track {
position: relative;
width: 48px;
height: 28px;
border-radius: 999px;
background: #dbe4ee;
transition: background-color 0.2s ease;
}
.map-switch__track::after {
content: "";
position: absolute;
top: 3px;
left: 3px;
width: 22px;
height: 22px;
border-radius: 50%;
background: #fff;
box-shadow: 0 2px 6px rgba(15, 23, 42, 0.18);
transition: transform 0.2s ease;
}
.map-switch input:checked + .map-switch__track {
background: #2563eb;
}
.map-switch input:checked + .map-switch__track::after {
transform: translateX(20px);
}
.map-switch__label {
font-weight: 600;
color: #334155;
}
.map-field-state {
margin: 0;
font-size: 12px;
color: #7b8794;
}
.map-preview-panel {
position: relative;
}
.map-settings-card--sticky {
position: sticky;
top: 32px;
}
.map-admin-preview-shell {
padding: 16px;
border-radius: 16px;
background:
radial-gradient(circle at top left, rgba(59, 130, 246, 0.16), transparent 34%),
linear-gradient(180deg, #f8fafc, #eef2ff);
}
.map-settings-actions--footer {
padding-top: 0;
}
.map-settings-actions--footer .button-primary {
margin-top: 2px;
}
.map-admin-preview-shell .map-player {
margin: 0;
}
.map-admin-preview-cover {
width: 100%;
height: 100%;
background:
linear-gradient(135deg, rgba(255, 255, 255, 0.22), transparent),
linear-gradient(145deg, #fb7185, #0ea5e9);
}
@media (max-width: 1200px) {
.map-admin-layout {
grid-template-columns: 1fr;
}
.map-settings-panels {
max-height: none;
overflow: visible;
padding-right: 0;
}
.map-settings-card--sticky {
position: static;
}
}
@media (max-width: 820px) {
.map-settings-shell__header {
flex-direction: column;
}
.map-field-grid,
.map-checkbox-group {
grid-template-columns: 1fr;
}
}