444 lines
7.7 KiB
CSS
444 lines
7.7 KiB
CSS
.summaryPanel {
|
|
display: grid;
|
|
grid-template-columns: minmax(0, 1fr) auto;
|
|
gap: 16px;
|
|
align-items: center;
|
|
padding: 22px 28px;
|
|
border-bottom: 1px solid var(--border);
|
|
background: var(--bg-card);
|
|
}
|
|
|
|
.summaryScrollArea {
|
|
min-width: 0;
|
|
overflow-x: auto;
|
|
}
|
|
|
|
.summaryContent {
|
|
display: flex;
|
|
min-width: 980px;
|
|
gap: 22px;
|
|
align-items: center;
|
|
}
|
|
|
|
.summaryHeader {
|
|
display: flex;
|
|
align-items: center;
|
|
min-width: 126px;
|
|
}
|
|
|
|
.title {
|
|
font-size: 16px;
|
|
font-weight: 700;
|
|
color: var(--text-primary);
|
|
}
|
|
|
|
.summaryItems {
|
|
display: grid;
|
|
grid-template-columns: repeat(6, minmax(120px, auto));
|
|
gap: 12px;
|
|
align-items: center;
|
|
}
|
|
|
|
.summaryItem,
|
|
.stack {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 4px;
|
|
min-width: 0;
|
|
}
|
|
|
|
.summaryLabel,
|
|
.meta {
|
|
color: var(--text-secondary);
|
|
font-size: 12px;
|
|
line-height: 1.35;
|
|
}
|
|
|
|
.summaryValue,
|
|
.name {
|
|
color: var(--text-primary);
|
|
font-weight: 700;
|
|
line-height: 1.35;
|
|
}
|
|
|
|
.levelPreview {
|
|
display: flex;
|
|
gap: 8px;
|
|
align-items: center;
|
|
min-height: 34px;
|
|
}
|
|
|
|
.levelPill {
|
|
display: inline-flex;
|
|
gap: 6px;
|
|
align-items: center;
|
|
height: 34px;
|
|
padding: 0 10px;
|
|
border: 1px solid var(--border);
|
|
border-radius: 8px;
|
|
background: var(--bg-card-strong);
|
|
color: var(--text-primary);
|
|
font-size: 12px;
|
|
font-weight: 700;
|
|
}
|
|
|
|
.summaryActions {
|
|
display: flex;
|
|
gap: 10px;
|
|
align-items: center;
|
|
}
|
|
|
|
.assetBadges {
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
gap: 8px;
|
|
}
|
|
|
|
.editorPage {
|
|
display: flex;
|
|
flex: 1;
|
|
min-width: 0;
|
|
min-height: 0;
|
|
flex-direction: column;
|
|
overflow: hidden;
|
|
}
|
|
|
|
.editorActionBar {
|
|
z-index: 2;
|
|
display: flex;
|
|
flex: 0 0 auto;
|
|
min-width: 0;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
gap: 16px;
|
|
padding: 10px 24px;
|
|
border-bottom: 1px solid var(--border);
|
|
background: var(--bg-card);
|
|
}
|
|
|
|
.editorScrollBody {
|
|
flex: 1;
|
|
min-width: 0;
|
|
min-height: 0;
|
|
overflow-x: hidden;
|
|
overflow-y: auto;
|
|
overscroll-behavior: contain;
|
|
scrollbar-gutter: stable;
|
|
}
|
|
|
|
.editorTitleGroup,
|
|
.editorActions {
|
|
display: flex;
|
|
min-width: 0;
|
|
align-items: center;
|
|
gap: 12px;
|
|
}
|
|
|
|
.editorActions {
|
|
flex: 0 0 auto;
|
|
}
|
|
|
|
.editorSection {
|
|
display: grid;
|
|
min-width: 0;
|
|
gap: 12px;
|
|
padding: 16px 24px;
|
|
border-bottom: 1px solid var(--border);
|
|
}
|
|
|
|
.editorPage :global(.MuiTextField-root),
|
|
.editorPage :global(.MuiFormControl-root) {
|
|
--admin-control-height: 30px;
|
|
--admin-control-font-size: 13px;
|
|
}
|
|
|
|
.editorPage :global(.MuiTabs-root) {
|
|
min-height: 36px;
|
|
}
|
|
|
|
.editorPage :global(.MuiTab-root) {
|
|
min-height: 36px;
|
|
padding: 0 14px;
|
|
font-size: 13px;
|
|
}
|
|
|
|
.sectionTitle {
|
|
color: var(--text-primary);
|
|
font-size: 15px;
|
|
font-weight: 760;
|
|
}
|
|
|
|
.basicGrid {
|
|
display: grid;
|
|
grid-template-columns: repeat(4, minmax(180px, 1fr));
|
|
gap: 10px 12px;
|
|
}
|
|
|
|
.switchField {
|
|
display: flex;
|
|
min-height: 30px;
|
|
min-width: 0;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
gap: 12px;
|
|
padding: 0 10px;
|
|
border: 1px solid var(--border);
|
|
border-radius: var(--radius-control);
|
|
background: var(--bg-card);
|
|
color: var(--text-primary);
|
|
font-size: 13px;
|
|
font-weight: 700;
|
|
}
|
|
|
|
.levelWorkspace {
|
|
display: grid;
|
|
min-width: 0;
|
|
grid-template-columns: 188px minmax(0, 1fr);
|
|
gap: 16px;
|
|
align-items: start;
|
|
}
|
|
|
|
.levelNav {
|
|
position: sticky;
|
|
top: 12px;
|
|
display: grid;
|
|
gap: 6px;
|
|
}
|
|
|
|
.levelNavItem {
|
|
display: grid;
|
|
min-width: 0;
|
|
gap: 2px;
|
|
padding: 9px 10px;
|
|
border: 1px solid var(--border);
|
|
border-radius: 8px;
|
|
background: var(--bg-card);
|
|
color: var(--text-primary);
|
|
cursor: pointer;
|
|
text-align: left;
|
|
}
|
|
|
|
.levelNavItemActive {
|
|
border-color: var(--primary);
|
|
background: var(--primary-hover);
|
|
}
|
|
|
|
.levelNavMain {
|
|
color: var(--text-primary);
|
|
font-size: 14px;
|
|
font-weight: 800;
|
|
}
|
|
|
|
.levelNavMeta {
|
|
overflow: hidden;
|
|
color: var(--text-secondary);
|
|
font-size: 12px;
|
|
text-overflow: ellipsis;
|
|
white-space: nowrap;
|
|
}
|
|
|
|
.levelDetail {
|
|
display: grid;
|
|
min-width: 0;
|
|
gap: 12px;
|
|
}
|
|
|
|
.levelDetailHeader {
|
|
display: grid;
|
|
grid-template-columns: minmax(0, 1fr) minmax(200px, 240px);
|
|
gap: 12px;
|
|
align-items: center;
|
|
}
|
|
|
|
.materialGrid {
|
|
display: grid;
|
|
grid-template-columns: repeat(4, minmax(170px, 1fr));
|
|
gap: 10px;
|
|
}
|
|
|
|
.rewardPanel {
|
|
display: grid;
|
|
min-width: 0;
|
|
gap: 10px;
|
|
}
|
|
|
|
.rewardPanelHead,
|
|
.fuelRuleToolbar {
|
|
display: flex;
|
|
min-width: 0;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
gap: 10px;
|
|
}
|
|
|
|
.rewardTable,
|
|
.fuelRuleEditor,
|
|
.fuelRuleTable {
|
|
display: grid;
|
|
min-width: 0;
|
|
gap: 8px;
|
|
}
|
|
|
|
.rewardTableHead,
|
|
.rewardTableRow {
|
|
display: grid;
|
|
min-width: 0;
|
|
grid-template-columns: minmax(200px, 1.2fr) 96px minmax(150px, 1fr) minmax(170px, 1fr) var(--control-height);
|
|
gap: 8px;
|
|
align-items: start;
|
|
}
|
|
|
|
.rewardTableWithQuantity {
|
|
grid-template-columns: minmax(200px, 1.2fr) 88px 88px minmax(150px, 1fr) minmax(170px, 1fr) var(--control-height);
|
|
}
|
|
|
|
.rewardTableHead,
|
|
.fuelRuleTableHead {
|
|
align-items: center;
|
|
color: var(--text-secondary);
|
|
font-size: 12px;
|
|
font-weight: 700;
|
|
}
|
|
|
|
.rewardTableRow,
|
|
.fuelRuleTableRow {
|
|
padding: 8px 0;
|
|
border-top: 1px solid var(--border);
|
|
}
|
|
|
|
.fuelRuleTableHead,
|
|
.fuelRuleTableRow {
|
|
display: grid;
|
|
min-width: 0;
|
|
grid-template-columns: minmax(140px, 1fr) minmax(140px, 1fr) 130px 130px 120px var(--control-height);
|
|
gap: 8px;
|
|
align-items: start;
|
|
}
|
|
|
|
.emptyState {
|
|
min-height: var(--control-height);
|
|
display: flex;
|
|
align-items: center;
|
|
color: var(--text-secondary);
|
|
font-weight: 700;
|
|
}
|
|
|
|
.sectionHeader {
|
|
display: flex;
|
|
gap: 12px;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
}
|
|
|
|
.levelEditor {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 18px;
|
|
}
|
|
|
|
.levelCard {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 18px;
|
|
padding: 16px;
|
|
border: 1px solid var(--border);
|
|
border-radius: 8px;
|
|
background: var(--bg-card);
|
|
}
|
|
|
|
.levelHeader {
|
|
display: grid;
|
|
grid-template-columns: 72px minmax(180px, 260px);
|
|
gap: 12px;
|
|
align-items: center;
|
|
}
|
|
|
|
.assetGrid {
|
|
display: grid;
|
|
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
gap: 14px;
|
|
}
|
|
|
|
.rewardBlock {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 12px;
|
|
}
|
|
|
|
.rewardTitle {
|
|
color: var(--text-primary);
|
|
font-size: 14px;
|
|
font-weight: 700;
|
|
}
|
|
|
|
.rewardRows,
|
|
.ruleEditor {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 12px;
|
|
}
|
|
|
|
.rewardRow {
|
|
display: grid;
|
|
grid-template-columns: minmax(180px, 1.2fr) minmax(160px, 1fr) 110px auto;
|
|
gap: 12px;
|
|
align-items: center;
|
|
}
|
|
|
|
.ruleRow {
|
|
display: grid;
|
|
grid-template-columns: repeat(4, minmax(120px, 1fr)) 120px auto;
|
|
gap: 12px;
|
|
align-items: center;
|
|
}
|
|
|
|
@media (max-width: 960px) {
|
|
.summaryPanel {
|
|
grid-template-columns: 1fr;
|
|
}
|
|
|
|
.summaryActions {
|
|
justify-content: flex-end;
|
|
}
|
|
|
|
.editorActionBar,
|
|
.editorTitleGroup,
|
|
.editorActions,
|
|
.rewardPanelHead,
|
|
.fuelRuleToolbar {
|
|
align-items: stretch;
|
|
flex-direction: column;
|
|
}
|
|
|
|
.editorActions {
|
|
width: 100%;
|
|
}
|
|
|
|
.editorActions > * {
|
|
width: 100%;
|
|
}
|
|
|
|
.basicGrid,
|
|
.levelWorkspace,
|
|
.levelDetailHeader,
|
|
.materialGrid,
|
|
.rewardTableHead,
|
|
.rewardTableRow,
|
|
.fuelRuleTableHead,
|
|
.fuelRuleTableRow {
|
|
grid-template-columns: 1fr;
|
|
}
|
|
|
|
.levelNav {
|
|
position: static;
|
|
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
}
|
|
|
|
.assetGrid,
|
|
.levelHeader,
|
|
.rewardRow,
|
|
.ruleRow {
|
|
grid-template-columns: 1fr;
|
|
}
|
|
}
|