.fantasy-settlement-view-shell.is-compact .fantasy-settlement-dossier{inset:0;width:100%;border:0;background:rgba(6,10,12,.94)}
.fantasy-settlement-view-shell.is-compact .location-embedded-dossier{padding:14px;height:100%}
.fantasy-settlement-command-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.fantasy-settlement-command-card{display:grid;grid-template-columns:76px minmax(0,1fr);align-items:center;gap:10px;min-width:0;min-height:98px;margin:0;padding:10px;border:1px solid var(--nexus-border-subtle);border-radius:2px;color:var(--nexus-text-primary);background:rgba(8,13,15,.82);text-align:left}
.fantasy-settlement-command-card>i{color:var(--nexus-accent-primary);font-size:28px;text-align:center}.fantasy-settlement-command-card>span:last-child{display:grid;min-width:0}.fantasy-settlement-command-card em,.fantasy-settlement-domain-panel h3,.fantasy-settlement-economy-row>h3{color:var(--nexus-accent-bright);font-size:10px;font-style:normal;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.fantasy-settlement-command-card strong{color:var(--nexus-text-primary);font-family:var(--nexus-font-heading,serif);font-size:17px}.fantasy-settlement-command-card small{color:var(--nexus-text-secondary);font-size:10px}.fantasy-settlement-command-card.is-empty{opacity:.75}
.fantasy-settlement-command-card .nexus-entity-image{width:70px;height:76px}.fantasy-settlement-command-card .is-person{height:70px}
.fantasy-settlement-command-card.is-drop-target{border-color:var(--nexus-accent-primary);box-shadow:inset 0 0 0 1px var(--nexus-accent-primary),0 0 12px color-mix(in srgb,var(--nexus-accent-primary) 22%,transparent)}
.fantasy-settlement-trade-summary.is-drop-target{border-color:var(--nexus-accent-primary);box-shadow:inset 0 0 0 1px var(--nexus-accent-primary),0 0 10px color-mix(in srgb,var(--nexus-accent-primary) 22%,transparent)}
.fantasy-settlement-command-card[data-settlement-authority-drag][draggable="true"]{cursor:grab}.fantasy-settlement-command-card[data-settlement-authority-drag][draggable="true"]:active{cursor:grabbing}
.fantasy-settlement-person-card[draggable="true"]{cursor:grab}.fantasy-settlement-person-card[draggable="true"]:active{cursor:grabbing}
.fantasy-settlement-economy-row{display:grid;grid-template-columns:90px minmax(0,1fr);gap:12px;align-items:center;padding:9px 12px;border:1px solid var(--nexus-border-subtle);background:rgba(8,13,15,.78)}.fantasy-settlement-economy-row>h3{margin:0}.fantasy-settlement-economy-row .fantasy-settlement-economy{grid-template-columns:repeat(2,minmax(0,1fr));margin:0}.fantasy-settlement-economy-row .fantasy-settlement-goods-grid{display:flex;gap:6px}.fantasy-settlement-economy-row .fantasy-settlement-good-card{width:48px;height:48px;aspect-ratio:auto}
.fantasy-settlement-domain-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;min-height:0;flex:1}.fantasy-settlement-domain-panel{position:relative;min-height:0;padding:12px;border:1px solid var(--nexus-border-subtle);background:rgba(8,13,15,.8);overflow:auto}.fantasy-settlement-domain-panel>h3{display:flex;gap:7px;margin:0 0 10px}.fantasy-settlement-domain-panel>h3 span{margin-left:auto}.fantasy-settlement-establishment-grid,.fantasy-settlement-people-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:8px}
.fantasy-settlement-establishment-card,.fantasy-settlement-person-card,.fantasy-settlement-compact-establishment{display:grid;grid-template-columns:54px minmax(0,1fr);align-items:center;gap:8px;min-width:0;min-height:62px;margin:0;padding:6px;border:1px solid var(--nexus-border-subtle);border-radius:2px;color:var(--nexus-text-primary);background:rgba(7,12,14,.88);text-align:left}.fantasy-settlement-person-card{grid-template-columns:54px minmax(0,1fr) auto}.fantasy-settlement-establishment-card>span:last-child,.fantasy-settlement-person-card>span:nth-child(2),.fantasy-settlement-compact-establishment>span:last-child{display:grid;min-width:0}.fantasy-settlement-establishment-card strong,.fantasy-settlement-person-card strong,.fantasy-settlement-compact-establishment strong{overflow:hidden;color:var(--nexus-text-primary);text-overflow:ellipsis;white-space:nowrap}.fantasy-settlement-establishment-card small,.fantasy-settlement-person-card small,.fantasy-settlement-compact-establishment small{color:var(--nexus-text-secondary)}.fantasy-settlement-person-card em{color:var(--connection-category-color,var(--nexus-accent-bright));font-size:9px;font-style:normal;text-transform:uppercase}.fantasy-settlement-person-card b{color:var(--opinion-color);font-size:9px;white-space:nowrap}.fantasy-settlement-establishment-card .nexus-entity-image,.fantasy-settlement-person-card .nexus-entity-image{width:50px;height:50px}
.fantasy-settlement-panel-add{position:absolute;right:12px;bottom:12px}.fantasy-settlement-empty{display:grid;place-items:center;grid-column:1/-1;min-height:86px;color:var(--nexus-text-secondary);text-align:center}.fantasy-settlement-empty small{display:block;margin-top:4px}.fantasy-settlement-people.is-drop-target{box-shadow:inset 0 0 0 2px var(--nexus-accent-primary)}
.fantasy-settlement-stage{gap:12px}.fantasy-settlement-compact-overview{display:grid;gap:10px}.fantasy-settlement-compact-command-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.fantasy-settlement-compact-command-row .fantasy-settlement-command-card{grid-template-columns:46px minmax(0,1fr);min-height:68px;padding:6px}.fantasy-settlement-compact-command-row .nexus-entity-image{width:44px;height:48px}.fantasy-settlement-trade-summary{display:grid;grid-template-columns:30px minmax(0,1fr);gap:7px;margin:0;padding:7px;border:1px solid var(--nexus-border-subtle);background:rgba(8,13,15,.82);text-align:left}.fantasy-settlement-trade-summary span{display:grid}.fantasy-settlement-compact-overview .fantasy-settlement-economy{grid-template-columns:repeat(2,minmax(0,1fr));margin:0}.fantasy-settlement-compact-overview .fantasy-settlement-goods-grid{display:flex;flex-wrap:wrap}.fantasy-settlement-compact-overview .fantasy-settlement-good-card{width:44px;height:44px;aspect-ratio:auto}.fantasy-settlement-compact-establishments{display:grid;gap:6px}.fantasy-settlement-compact-establishment{grid-template-columns:48px minmax(0,1fr);width:100%}

.fantasy-settlement-compact-toggle{position:absolute;z-index:9;top:70px;right:34px}.fantasy-settlement-view-shell.is-compact .fantasy-settlement-compact-toggle{top:70px;right:14px}.fantasy-settlement-view-shell.is-compact .location-embedded-dossier-scroll{display:flex;flex-direction:column}.fantasy-settlement-view-shell.is-compact .location-embedded-dossier-scroll>.npc-dossier-section{order:2}.fantasy-settlement-view-shell.is-compact .fantasy-settlement-compact-overview{order:1}.fantasy-settlement-view-shell.is-compact .fantasy-settlement-dossier .npc-dossier-tabs{grid-template-columns:repeat(3,minmax(0,1fr)) 28px}
.fantasy-settlement-person-card{display:grid;grid-template-columns:minmax(0,1fr) auto}.fantasy-settlement-person-card>button[data-action="openSettlementPerson"]{display:grid;grid-template-columns:54px minmax(0,1fr);align-items:center;gap:8px;min-width:0;margin:0;padding:0;border:0;color:inherit;background:transparent;text-align:left}.fantasy-settlement-person-card>.npc-life-opinion-pill{align-self:center;margin-right:4px}

/* Keep the compact profile as one continuous scroll surface. The generic dossier
   section otherwise shrinks inside this flex column and gives Current Thread its
   own nested scrollbar. */
.fantasy-settlement-view-shell.is-compact .location-embedded-dossier-scroll > .npc-dossier-section {
    flex: 0 0 auto;
    min-height: auto;
    padding-top: 6px;
    overflow: visible;
}

.fantasy-settlement-view-shell.is-compact .fantasy-settlement-dossier .npc-profile-current-thread {
    margin: 0;
}

.fantasy-settlement-view-shell.is-compact .fantasy-settlement-dossier .npc-profile-current-thread > .npc-profile-section-heading {
    margin: 0 0 8px;
}

.augur-theme-fantasy .fantasy-settlement-dossier .npc-profile-current-thread > .npc-profile-section-heading,
.augur-theme-fantasy .fantasy-settlement-dossier .npc-profile-current-thread .faction-current-thread-grid span {
    color: var(--nexus-accent-bright);
}

.augur-theme-fantasy .fantasy-settlement-dossier .npc-profile-current-thread .faction-current-thread-grid article {
    border-color: var(--nexus-border-subtle);
    background: var(--nexus-accent-surface);
}

.augur-theme-fantasy .fantasy-settlement-dossier .npc-profile-current-thread .faction-current-thread-reroll {
    border-color: var(--nexus-border-subtle);
    color: var(--nexus-accent-bright);
    background: var(--nexus-surface-interactive);
}

.augur-theme-fantasy .fantasy-settlement-dossier .npc-profile-current-thread .faction-current-thread-reroll:hover,
.augur-theme-fantasy .fantasy-settlement-dossier .npc-profile-current-thread .faction-current-thread-reroll:focus-visible {
    border-color: var(--nexus-border-strong);
    color: var(--nexus-accent-bright);
    background: var(--nexus-accent-surface-strong);
}

/* Settlement dossier refinement: mirrors the compact faction/NPC presentation. */
.fantasy-settlement-dossier .npc-dossier-header {
    border-bottom: 1px solid var(--nexus-border-subtle);
}

.fantasy-settlement-dossier .npc-dossier-tabs,
.fantasy-settlement-view-shell.is-compact .fantasy-settlement-dossier .npc-dossier-tabs {
    display: flex;
    grid-template-columns: none;
    align-items: center;
    gap: 4px;
    min-width: 0;
}

.fantasy-settlement-dossier .npc-dossier-tabs > button {
    flex: 0 0 auto;
    width: auto;
    min-width: 0;
    padding-inline: 8px;
}

.fantasy-settlement-dossier .npc-dossier-tabs > .npc-dossier-tab-icon {
    width: 28px;
    padding-inline: 0;
}

.fantasy-settlement-person-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    min-height: 70px;
    padding: 6px 8px;
}

.fantasy-settlement-person-main {
    display: grid;
    grid-template-columns: 52px minmax(0, 1fr);
    align-items: center;
    gap: 9px;
    width: 100%;
    min-width: 0;
    margin: 0;
    padding: 0;
    border: 0;
    color: inherit;
    background: transparent;
    text-align: left;
}

.fantasy-settlement-person-copy {
    display: grid;
    align-content: center;
    min-width: 0;
    gap: 1px;
}

.fantasy-settlement-person-copy em,
.fantasy-settlement-person-copy strong,
.fantasy-settlement-person-copy small {
    display: block;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.fantasy-settlement-person-card > .npc-life-opinion-pill {
    align-self: center;
    margin: 0 2px 0 8px;
}

.fantasy-settlement-establishment-grid.is-few {
    grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
}

.fantasy-settlement-establishment-grid.is-few .fantasy-settlement-establishment-card {
    grid-template-columns: 100px minmax(0, 1fr);
    min-height: 118px;
    padding: 9px;
}

.fantasy-settlement-establishment-grid.is-few .fantasy-settlement-establishment-card .nexus-entity-image {
    width: 96px;
    height: 96px;
}

.fantasy-settlement-establishment-grid.is-few .fantasy-settlement-establishment-card strong {
    font-family: var(--nexus-font-heading, serif);
    font-size: 15px;
}

.fantasy-settlement-compact-overview {
    display: flex;
    flex-direction: column;
    gap: 10px;
    min-width: 0;
}

.fantasy-settlement-trade-summary {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr);
    align-items: center;
    gap: 8px;
    width: 100%;
    min-height: 62px;
    margin: 0;
    padding: 6px 8px;
    box-sizing: border-box;
}

.fantasy-settlement-trade-summary .nexus-entity-image {
    width: 44px;
    height: 48px;
}

.fantasy-settlement-trade-summary > span:last-child {
    display: grid;
    min-width: 0;
}

.fantasy-settlement-trade-summary em {
    color: var(--nexus-accent-bright);
    font-size: 9px;
    font-style: normal;
    font-weight: 800;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.fantasy-settlement-trade-summary strong {
    overflow: hidden;
    color: var(--nexus-text-primary);
    font-family: var(--nexus-font-heading, serif);
    text-overflow: ellipsis;
    white-space: nowrap;
}

.fantasy-settlement-trade-summary small {
    color: var(--nexus-text-secondary);
}

.fantasy-settlement-compact-overview .fantasy-settlement-economy {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    width: 100%;
    min-width: 0;
    margin: 0;
}

.fantasy-settlement-compact-overview .fantasy-settlement-goods-group {
    min-width: 0;
}

.fantasy-settlement-compact-overview .fantasy-settlement-goods-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    min-width: 0;
    overflow: visible;
}

.fantasy-settlement-compact-overview .fantasy-settlement-good-card {
    flex: 0 0 44px;
    width: 44px;
    height: 44px;
    aspect-ratio: auto;
}

.fantasy-settlement-compact-establishments {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 7px;
}

.fantasy-settlement-compact-establishment {
    display: grid;
    grid-template-columns: 60px minmax(0, 1fr);
    width: 100%;
    min-height: 72px;
    padding: 6px 8px;
    box-sizing: border-box;
}

.fantasy-settlement-compact-establishment .nexus-entity-image {
    width: 56px;
    height: 58px;
}

.fantasy-settlement-compact-establishment > span:last-child {
    display: grid;
    min-width: 0;
    text-align: left;
}

.fantasy-settlement-view-shell.is-compact .location-embedded-dossier {
    padding: 12px;
}

.fantasy-settlement-view-shell.is-compact .fantasy-settlement-compact-toggle {
    top: 92px;
    right: 14px;
}

@media (max-width: 1150px) {
    .fantasy-settlement-establishment-grid.is-few .fantasy-settlement-establishment-card {
        grid-template-columns: 76px minmax(0, 1fr);
        min-height: 94px;
    }

    .fantasy-settlement-establishment-grid.is-few .fantasy-settlement-establishment-card .nexus-entity-image {
        width: 72px;
        height: 76px;
    }
}
/* Settlement/faction parity pass. */
.fantasy-settlement-dossier .npc-dossier-header {
    border-bottom: 1px solid color-mix(in srgb, var(--nexus-accent-primary) 42%, transparent) !important;
}

.fantasy-settlement-view-shell.is-compact .fantasy-settlement-dossier {
    inset: 10px;
    width: auto;
    border: 1px solid var(--nexus-border-subtle);
    border-radius: 2px;
    background: rgba(6, 10, 12, .94);
}

.fantasy-settlement-view-shell.is-compact .fantasy-settlement-compact-overview {
    margin-top: 12px;
}

.fantasy-settlement-view-shell.is-compact .fantasy-settlement-compact-toggle {
    top: 55px;
    right: 24px;
}

.fantasy-settlement-establishment-grid.is-few {
    grid-template-columns: minmax(0, 1fr);
}

.fantasy-settlement-establishment-grid.is-few .fantasy-settlement-establishment-card {
    width: 100%;
}

.fantasy-settlement-person-copy strong {
    order: 1;
    color: var(--nexus-text-primary);
    font-family: var(--nexus-font-heading, serif);
    font-size: 13px;
    line-height: 1.1;
}

.fantasy-settlement-person-copy em {
    order: 2;
    margin-top: 3px;
    color: var(--connection-category-color, var(--nexus-accent-bright));
    font-size: 9px;
    line-height: 1.1;
}

.fantasy-settlement-person-copy small {
    order: 3;
    margin-top: 2px;
    color: var(--nexus-text-secondary);
    font-size: 9px;
    line-height: 1.1;
}
/* Compact settlement command cards follow the dossier's information scale. */
.fantasy-settlement-view-shell.is-compact .fantasy-settlement-compact-command-row .fantasy-settlement-command-card {
    gap: 7px;
}

.fantasy-settlement-view-shell.is-compact .fantasy-settlement-compact-command-row .fantasy-settlement-command-card em {
    font-size: 8px;
    letter-spacing: .06em;
    line-height: 1.1;
}

.fantasy-settlement-view-shell.is-compact .fantasy-settlement-compact-command-row .fantasy-settlement-command-card strong {
    font-family: var(--font-primary);
    font-size: 11px;
    line-height: 1.1;
}

.fantasy-settlement-view-shell.is-compact .fantasy-settlement-compact-command-row .fantasy-settlement-command-card small {
    font-size: 8px;
    line-height: 1.1;
}
/* Settlement residents use the same compact card hierarchy as faction members. */
.fantasy-settlement-people-grid .fantasy-settlement-person-card {
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr);
    grid-template-rows: auto auto;
    align-items: center;
    column-gap: 9px;
    min-width: 0;
    min-height: 66px;
    margin: 0;
    padding: 8px;
    border: 1px solid var(--nexus-border-subtle);
    border-radius: 2px;
    color: var(--nexus-text-primary);
    background: rgba(7, 12, 14, .88);
    text-align: left;
}

.fantasy-settlement-people-grid .fantasy-settlement-person-card:hover {
    border-color: var(--nexus-accent-bright);
    background: color-mix(in srgb, var(--nexus-accent-primary) 16%, rgba(7, 12, 14, .94));
}

.fantasy-settlement-people-grid .fantasy-settlement-person-card > .nexus-entity-image {
    grid-row: 1 / 3;
    width: 42px;
    height: 42px;
    align-self: center;
    justify-self: center;
}

.fantasy-settlement-people-grid .fantasy-settlement-person-copy {
    display: grid;
    align-content: center;
    gap: 3px;
    min-width: 0;
}

.fantasy-settlement-people-grid .fantasy-settlement-person-copy strong,
.fantasy-settlement-people-grid .fantasy-settlement-person-copy em {
    display: block;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.fantasy-settlement-people-grid .fantasy-settlement-person-copy strong {
    color: var(--nexus-text-primary);
    font-family: var(--font-primary);
    font-size: 11px;
    line-height: 1.1;
}

.fantasy-settlement-people-grid .fantasy-settlement-person-copy em {
    margin: 0;
    color: var(--nexus-text-secondary);
    font-size: 9px;
    font-style: normal;
    line-height: 1.1;
    text-transform: none;
}
/* Shop catalog loading feedback keeps long compendium reads visibly active. */
.fantasy-settlement-loading .window-content {
    padding: 0;
    overflow: hidden;
    background: rgba(6, 10, 12, .98);
}

.fantasy-settlement-loading__content {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 10px 12px;
    padding: 16px;
    border: 1px solid color-mix(in srgb, var(--nexus-accent-primary) 58%, transparent);
    background: linear-gradient(145deg, color-mix(in srgb, var(--nexus-accent-primary) 12%, rgba(7, 12, 14, .98)), rgba(6, 10, 12, .98));
}

.fantasy-settlement-loading__icon {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    border: 1px solid var(--nexus-accent-primary);
    border-radius: 50%;
    color: var(--nexus-accent-bright);
    background: rgba(5, 9, 11, .92);
    box-shadow: 0 0 14px color-mix(in srgb, var(--nexus-accent-primary) 24%, transparent);
}

.fantasy-settlement-loading__icon i {
    animation: fantasy-settlement-loading-pulse 1.15s ease-in-out infinite alternate;
}

.fantasy-settlement-loading__copy {
    display: grid;
    align-content: center;
    gap: 4px;
    min-width: 0;
}

.fantasy-settlement-loading__copy strong {
    color: var(--nexus-text-primary);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.fantasy-settlement-loading__copy span,
.fantasy-settlement-loading__elapsed {
    color: var(--nexus-text-secondary);
    font-size: 10px;
    line-height: 1.3;
}

.fantasy-settlement-loading__elapsed {
    grid-column: 1 / -1;
    display: flex;
    align-items: center;
    gap: 6px;
    padding-top: 10px;
    border-top: 1px solid color-mix(in srgb, var(--nexus-accent-primary) 30%, transparent);
}

.fantasy-settlement-loading__elapsed i,
.fantasy-settlement-loading__elapsed b {
    color: var(--nexus-accent-bright);
}

@keyframes fantasy-settlement-loading-pulse {
    from { opacity: .5; transform: scale(.9); }
    to { opacity: 1; transform: scale(1.08); }
}
/* Expanded settlement shell follows the shared dossier frame and 12px panel rhythm. */
.augur-fantasy.settlement-view-window .window-content {
    border: 0;
}

.augur-theme-fantasy .fantasy-settlement-stage {
    inset: 0 382px 0 0;
    padding: 12px;
}

.augur-theme-fantasy .fantasy-settlement-dossier {
    top: 12px;
    right: 12px;
    bottom: 12px;
    width: 370px;
    border-color: var(--nexus-border-subtle);
    border-radius: 2px;
    background: linear-gradient(180deg, rgba(13, 19, 22, .96), rgba(6, 10, 12, .96));
    box-shadow: 0 14px 34px rgba(0, 0, 0, .62), inset 0 0 28px rgba(0, 0, 0, .36);
}

.augur-theme-fantasy .fantasy-settlement-dossier .location-embedded-dossier {
    padding: 12px;
}
@media (max-width: 1100px) {
    .augur-theme-fantasy .fantasy-settlement-stage { inset-right: 332px; }
    .augur-theme-fantasy .fantasy-settlement-dossier { width: 320px; }
}

@media (max-width: 850px) {
    .augur-theme-fantasy .fantasy-settlement-stage { inset-right: 292px; }
    .augur-theme-fantasy .fantasy-settlement-dossier { width: 280px; }
}
/* Establishments retain a single readable card column while their list scrolls independently. */
.fantasy-settlement-establishments {
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    overflow: hidden;
}

.fantasy-settlement-establishments .fantasy-settlement-establishment-grid,
.fantasy-settlement-establishments .fantasy-settlement-establishment-grid.is-few {
    grid-template-columns: minmax(0, 1fr);
    min-height: 0;
    padding: 0 3px 50px 0;
    overflow-y: auto;
    scrollbar-width: thin;
}

.fantasy-settlement-establishments .fantasy-settlement-establishment-card,
.fantasy-settlement-establishments .fantasy-settlement-establishment-grid.is-few .fantasy-settlement-establishment-card {
    width: 100%;
}

.fantasy-settlement-establishments .fantasy-settlement-panel-add {
    z-index: 2;
}

.fantasy-settlement-people {
    display: grid;
    grid-template-rows: auto minmax(0, 1fr) auto;
    overflow: hidden;
}

.fantasy-settlement-people .fantasy-settlement-people-grid {
    min-height: 0;
    padding-right: 3px;
    overflow-y: auto;
    scrollbar-width: thin;
}

.fantasy-settlement-people-footer {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr) 34px;
    align-items: end;
    gap: 8px;
    margin-top: 8px;
}

.fantasy-settlement-drop-hint {
    grid-column: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    margin: 0;
    color: var(--nexus-accent-primary);
    font-size: 9px;
    line-height: 1.25;
    text-align: center;
}

.fantasy-settlement-drop-hint i {
    color: var(--nexus-accent-primary);
}

.fantasy-settlement-people-footer .fantasy-settlement-panel-add {
    position: static;
    grid-column: 3;
    margin: 0;
}
/* The scrollable single-column establishment list keeps the large art treatment. */
.fantasy-settlement-establishments .fantasy-settlement-establishment-card,
.fantasy-settlement-establishments .fantasy-settlement-establishment-grid.is-few .fantasy-settlement-establishment-card {
    grid-template-columns: 100px minmax(0, 1fr);
    min-height: 118px;
    padding: 9px;
}

.fantasy-settlement-establishments .fantasy-settlement-establishment-card .nexus-entity-image,
.fantasy-settlement-establishments .fantasy-settlement-establishment-grid.is-few .fantasy-settlement-establishment-card .nexus-entity-image {
    width: 96px;
    height: 96px;
}

.fantasy-settlement-establishments .fantasy-settlement-establishment-card strong {
    font-family: var(--nexus-font-heading, serif);
    font-size: 15px;
}
/* The mode toggle shares the dossier action column in both expanded and compact layouts. */
.fantasy-settlement-view-shell .fantasy-settlement-dossier > .fantasy-settlement-compact-toggle {
    position: absolute;
    z-index: 6;
    top: 48px;
    right: 12px;
}
/* Compact settlements render profile fields within their own dossier extension. */
.fantasy-settlement-view-shell.is-compact .location-dossier-profile-rows {
    display: none;
}

.fantasy-settlement-compact-profile-fields {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 6px;
    margin: 0;
}

/* Give notable people enough room for the same compact faction context used by NPC World Ties. */
.fantasy-settlement-domain-grid {
    grid-template-columns: minmax(0, 2fr) minmax(0, 3fr);
}

.fantasy-settlement-people .fantasy-settlement-person-card {
    grid-template-columns: 54px minmax(0, 1fr);
}

.fantasy-settlement-people .fantasy-settlement-person-card.has-allegiance {
    grid-template-columns: 54px 96px minmax(0, 1fr);
}

.fantasy-settlement-person-allegiance {
    min-width: 0;
    display: grid;
    grid-template-columns: 30px minmax(0, 1fr);
    align-items: center;
    gap: 6px;
    padding-left: 8px;
    border-left: 1px solid color-mix(in srgb, var(--nexus-accent-primary) 24%, transparent);
}

.fantasy-settlement-person-card .fantasy-settlement-person-allegiance-image {
    width: 30px;
    height: 34px;
    display: grid;
    place-items: center;
    overflow: visible;
    color: var(--nexus-accent-primary);
}

.fantasy-settlement-person-allegiance-image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.fantasy-settlement-person-allegiance-copy {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 1px;
}

.fantasy-settlement-person-allegiance-copy strong,
.fantasy-settlement-person-allegiance-copy small {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.fantasy-settlement-person-allegiance-copy strong {
    color: var(--nexus-accent-primary);
    font-size: 9px;
}

.fantasy-settlement-person-allegiance-copy small {
    color: var(--nexus-text-muted);
    font-size: 8px;
}
.fantasy-settlement-establishments .fantasy-settlement-marketplace-missing {
    grid-template-columns: 96px minmax(0, 1fr) auto;
    border-style: dashed;
    border-color: rgba(218, 166, 86, 0.56);
    background: rgba(48, 32, 17, 0.76);
}

.fantasy-settlement-establishments .fantasy-settlement-marketplace-missing > span:nth-child(2) {
    display: grid;
    min-width: 0;
}

.fantasy-settlement-establishments .fantasy-settlement-marketplace-missing > .nexus-entity-image {
    color: #e0b66f;
}

.fantasy-settlement-establishments .fantasy-settlement-marketplace-missing > button {
    min-height: 28px;
    padding: 4px 9px;
    border: 1px solid rgba(224, 182, 111, 0.5);
    border-radius: 5px;
    background: rgba(79, 50, 19, 0.82);
    color: #f5d9a7;
    font-size: 10px;
    font-weight: 800;
}

.augur-theme-fantasy.location-data-editor .fantasy-settlement-development-editor {
    margin-bottom: 12px;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--nexus-border-subtle);
}

.augur-theme-fantasy.location-data-editor .fantasy-settlement-development-route {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    align-items: center;
    gap: 8px;
    margin: 0 0 8px;
}

.augur-theme-fantasy.location-data-editor .fantasy-settlement-development-route > i {
    color: var(--nexus-accent-primary);
    font-size: 11px;
}

.augur-theme-fantasy.location-data-editor .fantasy-settlement-development-stage,
.augur-theme-fantasy.location-data-editor .fantasy-settlement-development-final {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
    padding: 7px;
    border: 1px solid var(--nexus-border-subtle);
    border-radius: 2px;
    background: rgba(6, 10, 12, .64);
}

.augur-theme-fantasy.location-data-editor .fantasy-settlement-development-stage.is-target {
    border-color: var(--nexus-border-strong);
    background: var(--nexus-accent-surface);
}

.augur-theme-fantasy.location-data-editor .fantasy-settlement-development-icon {
    width: 38px;
    height: 38px;
    flex: 0 0 38px;
    display: grid;
    place-items: center;
    color: var(--nexus-accent-bright);
}

.augur-theme-fantasy.location-data-editor .fantasy-settlement-development-icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    border: 0;
}

.augur-theme-fantasy.location-data-editor .fantasy-settlement-development-stage > span:last-child,
.augur-theme-fantasy.location-data-editor .fantasy-settlement-development-final > span {
    min-width: 0;
    display: grid;
    gap: 1px;
}

.augur-theme-fantasy.location-data-editor .fantasy-settlement-development-stage small,
.augur-theme-fantasy.location-data-editor .fantasy-settlement-development-final small {
    color: var(--nexus-text-muted);
    font-size: 8px;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.augur-theme-fantasy.location-data-editor .fantasy-settlement-development-stage strong,
.augur-theme-fantasy.location-data-editor .fantasy-settlement-development-final strong {
    color: var(--nexus-text-primary);
    font-family: var(--nexus-font-heading, serif);
    font-size: 14px;
}

.augur-theme-fantasy.location-data-editor .fantasy-settlement-development-choice {
    display: grid;
    grid-template-columns: 16px minmax(0, 1fr);
    align-items: start;
    gap: 7px;
    margin-top: 6px;
    padding: 7px 8px;
    border: 1px solid var(--nexus-border-subtle);
    border-radius: 2px;
    background: rgba(6, 10, 12, .52);
    cursor: pointer;
}

.augur-theme-fantasy.location-data-editor .fantasy-settlement-development-choice.is-primary {
    border-color: var(--nexus-border-strong);
}

.augur-theme-fantasy.location-data-editor .fantasy-settlement-development-choice input {
    width: 14px;
    height: 14px;
    margin: 1px 0 0;
    accent-color: var(--nexus-accent-primary);
}

.augur-theme-fantasy.location-data-editor .fantasy-settlement-development-choice span {
    display: grid;
    gap: 2px;
}

.augur-theme-fantasy.location-data-editor .fantasy-settlement-development-choice strong {
    color: var(--nexus-text-primary);
    font-size: 10px;
}

.augur-theme-fantasy.location-data-editor .fantasy-settlement-development-choice small,
.augur-theme-fantasy.location-data-editor .fantasy-settlement-development-editor > p {
    color: var(--nexus-text-muted);
    font-size: 9px;
    line-height: 1.35;
}

.augur-theme-fantasy.location-data-editor .fantasy-settlement-development-editor > p {
    margin: 7px 0 0;
}

/* Local production uses only the room it needs; regional supply owns the rest. */
.fantasy-settlement-economy-row .fantasy-settlement-economy {
    width: 100%;
    min-width: 0;
    grid-template-columns: minmax(0, 1fr);
    align-items: start;
}

.fantasy-settlement-economy-row .fantasy-settlement-economy.has-produced.has-supplied {
    grid-template-columns: max-content minmax(0, 1fr);
    column-gap: 24px;
}

.fantasy-settlement-economy-row .fantasy-settlement-goods-group {
    min-width: 0;
}

.fantasy-settlement-economy-row .fantasy-settlement-goods-group.is-produced {
    width: max-content;
    max-width: 100%;
}

.fantasy-settlement-economy-row .fantasy-settlement-goods-grid {
    display: flex;
    flex-wrap: wrap;
    align-content: flex-start;
    min-width: 0;
    overflow: visible;
}

.fantasy-settlement-economy-row .fantasy-settlement-good-card {
    flex: 0 0 48px;
}
