html, body {
    margin: 0;
    min-height: 100%;
}

.admin-content {
    padding: 16px;
}

.admin-grid {
    display: grid;
    grid-template-columns: 240px minmax(0, 1fr);
    gap: 16px;
    align-items: start;
}

.admin-navigation {
    position: sticky;
    top: 76px;
}

.admin-main {
    min-width: 0;
}

.category-grid,
.achievement-grid {
    display: grid;
    grid-template-columns: minmax(320px, 420px) minmax(0, 1fr);
    gap: 16px;
    align-items: start;
}

.achievement-list-pane {
    max-height: calc(100vh - 150px);
    overflow: auto;
}

.achievement-editor-grid {
    display: grid;
    grid-template-columns: minmax(340px, 440px) minmax(420px, 1fr);
    gap: 12px;
}

.achievement-map {
    width: 100%;
    min-height: 440px;
    border-radius: var(--mud-default-borderradius);
    overflow: hidden;
    background: var(--mud-palette-background-grey);
}

#blazor-error-ui {
    display: none;
    position: fixed;
    inset: auto 0 0;
    z-index: 2000;
    padding: 12px;
    background: var(--mud-palette-warning-lighten);
}

@media (max-width: 1100px) {
    .admin-grid,
    .category-grid,
    .achievement-grid,
    .achievement-editor-grid {
        grid-template-columns: 1fr;
    }

    .admin-navigation {
        position: static;
    }
}

@media (max-width: 600px) {
    .admin-content {
        padding: 12px;
    }
}
.place-workflow { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.place-workflow > div { display:grid; grid-template-columns:auto 1fr; column-gap:10px; padding:14px; border:1px solid var(--mud-palette-lines-default); border-radius:12px; }
.place-workflow strong { grid-row:1 / 3; display:grid; place-items:center; width:30px; height:30px; border-radius:50%; background:var(--mud-palette-primary); color:var(--mud-palette-primary-text); }
.place-workflow span { font-weight:700; }.place-workflow small { color:var(--mud-palette-text-secondary); }
.place-catalog-summary { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
@media (max-width:900px) { .place-workflow,.place-catalog-summary { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:600px) { .place-workflow,.place-catalog-summary { grid-template-columns:1fr; } }
.facet-picker { display:grid; grid-template-columns:repeat(auto-fill,minmax(190px,1fr)); gap:8px; max-height:260px; overflow:auto; padding:4px; border:1px solid var(--mud-palette-lines-default); border-radius:10px; }
.facet-picker-large { max-height:420px; }
.facet-option { display:grid; grid-template-columns:24px minmax(0,1fr); gap:8px; align-items:center; min-height:42px; padding:8px 10px; border:2px solid transparent; border-radius:9px; background:var(--mud-palette-background-gray); color:var(--mud-palette-text-primary); text-align:left; cursor:pointer; }
.facet-option > span { display:grid; place-items:center; width:22px; height:22px; border:2px solid var(--mud-palette-lines-inputs); border-radius:5px; font-weight:900; }
.facet-option small { grid-column:2; color:var(--mud-palette-text-secondary); }
.facet-option:hover { border-color:var(--mud-palette-primary); }
.facet-option.is-selected { border-color:var(--mud-palette-primary); background:color-mix(in srgb,var(--mud-palette-primary) 16%,transparent); font-weight:700; }
.facet-option.is-selected > span { border-color:var(--mud-palette-primary); background:var(--mud-palette-primary); color:var(--mud-palette-primary-text); }
.achievement-tabs .mud-tabs-panels {
    padding: 1rem;
}

.achievement-list-panel {
    position: sticky;
    top: 1rem;
    max-height: calc(100vh - 7rem);
    overflow: hidden;
}

.achievement-editor-list {
    max-height: calc(100vh - 19rem);
    overflow-y: auto;
}

.achievement-list-item {
    border: 1px solid transparent;
    border-radius: 8px;
    margin-bottom: .35rem;
}

.achievement-list-item.is-selected {
    border-color: var(--mud-palette-primary);
    background: color-mix(in srgb, var(--mud-palette-primary) 14%, transparent);
}
.preset-icon-picker { display:grid; gap:8px; }
.preset-icon-compact { display:grid; grid-template-columns:48px minmax(0,1fr) auto auto; gap:8px; align-items:center; }
.preset-icon-current { display:grid; place-items:center; width:44px; height:44px; overflow:hidden; border:1px solid var(--mud-palette-lines-default); border-radius:10px; background:var(--mud-palette-background-gray); font-size:1.35rem; }
.preset-icon-current img { width:100%; height:100%; object-fit:cover; }
.preset-icon-browser { display:grid; grid-template-columns:230px minmax(0,1fr); grid-template-rows:auto minmax(360px,62vh); min-height:420px; border:1px solid var(--mud-palette-lines-default); border-radius:10px; overflow:hidden; }
.preset-icon-browser-search { grid-column:1/-1; padding:12px; border-bottom:1px solid var(--mud-palette-lines-default); }
.preset-icon-browser-folders { padding:8px; overflow:auto; border-right:1px solid var(--mud-palette-lines-default); background:var(--mud-palette-background-gray); }
.preset-icon-browser-folders button { display:grid; grid-template-columns:24px minmax(0,1fr) auto; align-items:center; width:100%; gap:6px; padding:8px; border:0; border-radius:7px; background:transparent; color:var(--mud-palette-text-primary); text-align:left; cursor:pointer; }
.preset-icon-browser-folders button:hover,.preset-icon-browser-folders button.is-selected { background:color-mix(in srgb,var(--mud-palette-primary) 15%,transparent); }
.preset-icon-browser-folders small { color:var(--mud-palette-text-secondary); }
.preset-icon-folder-row { display:grid; grid-template-columns:30px minmax(0,1fr); align-items:center; border-radius:7px; }
.preset-icon-folder-row:hover,.preset-icon-folder-row.is-selected { background:color-mix(in srgb,var(--mud-palette-primary) 15%,transparent); }
.preset-icon-browser-folders .preset-icon-folder-toggle { display:flex; justify-content:center; width:30px; padding:6px 2px; }
.preset-icon-browser-folders .preset-icon-folder-toggle:disabled { cursor:default; opacity:.75; }
.preset-icon-browser-folders .preset-icon-folder-select { grid-template-columns:minmax(0,1fr) auto; padding-left:2px; }
.preset-icon-browser-files { min-width:0; overflow:auto; }
.preset-icon-browser-path { position:sticky; top:0; z-index:1; display:flex; align-items:center; gap:6px; padding:9px 12px; border-bottom:1px solid var(--mud-palette-lines-default); background:var(--mud-palette-surface); color:var(--mud-palette-text-secondary); }
.preset-icon-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(112px,1fr)); gap:8px; padding:12px; }
.preset-icon-option { position:relative; display:grid; justify-items:center; gap:6px; padding:8px; border:2px solid transparent; border-radius:10px; background:var(--mud-palette-background-gray); color:var(--mud-palette-text-primary); cursor:pointer; }
.preset-icon-option:hover,.preset-icon-option.is-selected { border-color:var(--mud-palette-primary); }
.preset-icon-option.is-selected { background:color-mix(in srgb,var(--mud-palette-primary) 14%,transparent); }
.preset-icon-option img { width:56px; height:56px; object-fit:cover; border-radius:12px; }
.preset-icon-option span { font-size:.75rem; line-height:1.2; text-align:center; }
.preset-icon-option small { font-size:.62rem; line-height:1.15; color:var(--mud-palette-text-secondary); text-align:center; }
.preset-icon-resolution { position:absolute; top:5px; right:5px; border-radius:999px; padding:2px 5px; background:var(--mud-palette-primary); color:var(--mud-palette-primary-text); font-size:.55rem; line-height:1.2; letter-spacing:.04em; }
.admin-challenge-list-icon { display:grid; place-items:center; flex:0 0 36px; width:36px; height:36px; overflow:hidden; border-radius:9px; background:var(--mud-palette-background-gray); font-size:1.2rem; }
.admin-challenge-list-icon img { width:100%; height:100%; object-fit:cover; }
.achievement-audit-icon { display:grid; place-items:center; width:40px; height:40px; overflow:hidden; border-radius:9px; background:var(--mud-palette-background-gray); font-size:1.25rem; }
.achievement-audit-icon img { width:100%; height:100%; object-fit:cover; }
.achievement-audit-filters > .mud-input-control { min-width:220px; }

.achievement-editor-section {
    background: color-mix(in srgb, var(--mud-palette-surface) 92%, var(--mud-palette-primary) 8%);
    border: 1px solid var(--mud-palette-lines-default);
}

.achievement-condition {
    border-left: 4px solid var(--mud-palette-primary);
}

@media (max-width: 959px) {
    .achievement-list-panel { position: static; max-height: none; }
    .achievement-editor-list { max-height: 20rem; }
}
@media (max-width: 700px) {
    .preset-icon-compact { grid-template-columns:44px minmax(0,1fr) auto; }
    .preset-icon-compact > .mud-icon-button-root { grid-column:3; }
    .preset-icon-browser { grid-template-columns:1fr; grid-template-rows:auto auto minmax(300px,58vh); }
    .preset-icon-browser-folders { display:flex; gap:6px; overflow:auto; border-right:0; border-bottom:1px solid var(--mud-palette-lines-default); }
    .preset-icon-browser-folders button { flex:0 0 auto; width:auto; }
    .preset-icon-folder-row { display:flex; flex:0 0 auto; padding-left:0!important; }
    .preset-icon-browser-folders button small { display:none; }
}
.facet-tree-row { display: flex; align-items: center; gap: .25rem; }
.facet-tree-row > .facet-option { flex: 1; }
.facet-collapse { width: 1.75rem; border: 0; background: transparent; cursor: pointer; color: var(--mud-palette-primary); }

.compact-section { flex:none; border:1px solid var(--mud-palette-lines-default); border-radius:8px; overflow:hidden; }
.compact-section summary { display:flex; align-items:center; justify-content:space-between; padding:8px 10px; cursor:pointer; font-weight:600; background:var(--mud-palette-background-gray); }
.compact-section summary span { color:var(--mud-palette-text-secondary); font-size:.75rem; font-weight:400; }
.compact-section[open] { padding:0 8px 8px; }
.compact-section[open] summary { margin:0 -8px 6px; }
.facet-picker-compact { min-height:96px; max-height:190px; overflow-y:auto; }
.facet-picker-compact .facet-option { min-height:34px; padding:5px 7px; }
.place-zone-controls { display:grid; grid-template-columns:150px minmax(0,1fr); gap:8px; align-items:start; }
.place-hex-list { max-height:110px; overflow:auto; }
.place-editor-map-pane { align-self:start; justify-content:flex-start !important; }

@media (min-width: 1101px) {
    .place-editor-workspace { grid-template-columns:minmax(270px,340px) minmax(0,1fr); }
    .place-editor-workspace > .achievement-list-pane { max-height:calc(100vh - 150px); }
    .place-editor-paper .achievement-editor-grid { grid-template-columns:minmax(300px,390px) minmax(390px,1fr); align-items:start; }
    .place-editor-form, .place-editor-map-pane { min-width:0; padding-right:4px; }
}
.admin-user-avatar {
    display: grid;
    width: 44px;
    height: 51px;
    flex: 0 0 44px;
    place-items: center;
    border-radius: 0 !important;
    clip-path: polygon(50% 0, 100% 25%, 100% 75%, 50% 100%, 0 75%, 0 25%);
    background: #7c8581 !important;
}

.admin-user-avatar.has-gold-frame {
    background: linear-gradient(145deg,#fff0a6 2%,#d89a25 34%,#8b5810 66%,#ffd968 96%) !important;
    filter: drop-shadow(0 3px 5px rgba(170, 112, 20, .28));
}

.admin-user-avatar-large { width:64px; height:74px; flex-basis:64px; }

.admin-user-avatar-art {
    display:grid;
    width:calc(100% - 6px);
    height:calc(100% - 6px);
    place-items:center;
    overflow:hidden;
    color:#fff;
    background:#9ca3a0;
    font-size:1rem;
    font-weight:700;
    border-radius: 0 !important;
    clip-path: polygon(50% 0, 100% 25%, 100% 75%, 50% 100%, 0 75%, 0 25%);
}

.admin-user-avatar-art > img {
    width:100%;
    height:100%;
    object-fit: cover;
}
