/*
 * The map uses this as its only visual layer for the post-click tile dialog.
 * The markup is scoped with .trav47-map-tile so the historical map dialog
 * selectors cannot leak into the new village/oasis layout.
 */
body.map #tileDetails.trav47-map-tile,
body.map .dialog #tileDetails.trav47-map-tile {
    --tile-line: #b6c3a8;
    --tile-ink: #35402a;
    --tile-soft: #eef0dc;
    --tile-panel: #f4eddd;
    --tile-surface-top: #f1ead9;
    --tile-surface-bottom: #e6dcc5;
    position: relative !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(200px, 210px) !important;
    grid-template-rows: auto 170px auto !important;
    gap: 9px 12px !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: min(520px, calc(100vh - 36px)) !important;
    padding: 10px 12px 12px 22px !important;
    margin: 0 !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    border: 1px solid #7e603c !important;
    border-radius: 7px !important;
    color: var(--tile-ink) !important;
    background: linear-gradient(180deg, var(--tile-surface-top) 0%, var(--tile-surface-bottom) 100%) !important;
    box-shadow: 0 8px 20px rgba(48, 31, 18, .3), inset 0 1px 0 rgba(255,255,255,.82) !important;
    direction: ltr !important;
    box-sizing: border-box !important;
}

body.map #tileDetails.trav47-map-tile > .trav47-map-tile__title,
body.map .dialog #tileDetails.trav47-map-tile > .trav47-map-tile__title {
    position: relative !important;
    grid-column: 1 / -1 !important;
    grid-row: 1 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 3px !important;
    width: 100% !important;
    min-height: 32px !important;
    height: auto !important;
    padding: 5px 8px 5px 68px !important;
    margin: 0 !important;
    overflow: hidden !important;
    border: 1px solid #b6c3a8 !important;
    border-radius: 5px !important;
    color: #35402a !important;
    background: linear-gradient(135deg, rgba(255,255,255,.88), rgba(230,237,210,.78)), #eef0dc !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    line-height: 20px !important;
    text-align: right !important;
    text-shadow: none !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    direction: rtl !important;
    box-sizing: border-box !important;
}

body.map #tileDetails.trav47-map-tile > .trav47-map-tile__title .trav47-map-tile__name,
body.map .dialog #tileDetails.trav47-map-tile > .trav47-map-tile__title .trav47-map-tile__name {
    flex: 0 1 auto !important;
    min-width: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

body.map #tileDetails.trav47-map-tile > .trav47-map-tile__title .coordinatesWrapper,
body.map .dialog #tileDetails.trav47-map-tile > .trav47-map-tile__title .coordinatesWrapper {
    color: #716957 !important;
    font-size: 12px !important;
    font-weight: 400 !important;
}

body.map #tileDetails.trav47-map-tile > .trav47-map-tile__visual,
body.map .dialog #tileDetails.trav47-map-tile > .trav47-map-tile__visual {
    position: relative !important;
    grid-column: 2 !important;
    grid-row: 2 !important;
    float: none !important;
    width: 100% !important;
    min-height: 170px !important;
    height: 170px !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
    border: 1px solid #9f8a64 !important;
    border-radius: 5px !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
    background-size: 100% 100% !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.72), 0 2px 5px rgba(66,45,26,.14) !important;
    direction: rtl !important;
    box-sizing: border-box !important;
}

body.map #tileDetails.trav47-map-tile > .trav47-map-tile__visual::before,
body.map #tileDetails.trav47-map-tile > .trav47-map-tile__visual::after,
body.map .dialog #tileDetails.trav47-map-tile > .trav47-map-tile__visual::before,
body.map .dialog #tileDetails.trav47-map-tile > .trav47-map-tile__visual::after { display: none !important; }

body.map #tileDetails.trav47-map-tile .mobileFieldDistribution,
body.map .dialog #tileDetails.trav47-map-tile .mobileFieldDistribution {
    position: absolute !important;
    right: 6px !important;
    bottom: 6px !important;
    left: 6px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 5px !important;
    width: auto !important;
    max-width: none !important;
    min-height: 25px !important;
    padding: 3px 6px !important;
    overflow: hidden !important;
    border: 1px solid rgba(218,232,239,.85) !important;
    border-radius: 3px !important;
    color: #fff !important;
    background: rgba(32,56,69,.82) !important;
    box-shadow: 0 1px 3px rgba(0,0,0,.35) !important;
    font-size: 11px !important;
    line-height: 16px !important;
    text-shadow: none !important;
    direction: rtl !important;
    box-sizing: border-box !important;
}

body.map #tileDetails.trav47-map-tile > .trav47-map-tile__details,
body.map .dialog #tileDetails.trav47-map-tile > .trav47-map-tile__details {
    grid-column: 1 !important;
    grid-row: 2 / span 2 !important;
    float: none !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    position: relative !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    max-height: none !important;
    min-height: 0 !important;
    height: auto !important;
    padding: 8px 10px !important;
    margin: 0 !important;
    overflow: hidden !important;
    border: 1px solid #b5a278 !important;
    border-radius: 5px !important;
    color: var(--tile-ink) !important;
    background: linear-gradient(180deg, rgba(255,255,255,.72), rgba(241,232,210,.68)), var(--tile-panel) !important;
    box-shadow: inset 0 1px 0 #fff, 0 2px 5px rgba(66,45,26,.10) !important;
    direction: rtl !important;
    box-sizing: border-box !important;
}

body.map #tileDetails.trav47-map-tile > .trav47-map-tile__details table,
body.map .dialog #tileDetails.trav47-map-tile > .trav47-map-tile__details table { width:100% !important; min-width:0 !important; max-width:100% !important; margin:0 0 5px !important; border:1px solid #cfc4aa !important; border-collapse:collapse !important; table-layout:fixed !important; color:inherit !important; font-size:12px !important; line-height:18px !important; direction:rtl !important; box-sizing:border-box !important; }
body.map #tileDetails.trav47-map-tile > .trav47-map-tile__details th,
body.map #tileDetails.trav47-map-tile > .trav47-map-tile__details td,
body.map .dialog #tileDetails.trav47-map-tile > .trav47-map-tile__details th,
body.map .dialog #tileDetails.trav47-map-tile > .trav47-map-tile__details td { padding:4px 5px !important; border-bottom:1px solid #d7e4ea !important; color:inherit !important; font-size:12px !important; line-height:17px !important; text-align:right !important; vertical-align:middle !important; }

/* Player/oasis rows read as one compact information block. */
body.map #tileDetails.trav47-map-tile > .trav47-map-tile__details > table:not(.rep),
body.map .dialog #tileDetails.trav47-map-tile > .trav47-map-tile__details > table:not(.rep) {
    overflow: hidden !important;
    border: 1px solid #cfc4aa !important;
    border-radius: 4px !important;
    background: rgba(255,255,255,.52) !important;
}
body.map #tileDetails.trav47-map-tile > .trav47-map-tile__details > table:not(.rep) th,
body.map #tileDetails.trav47-map-tile > .trav47-map-tile__details > table:not(.rep) td,
body.map .dialog #tileDetails.trav47-map-tile > .trav47-map-tile__details > table:not(.rep) th,
body.map .dialog #tileDetails.trav47-map-tile > .trav47-map-tile__details > table:not(.rep) td {
    border: 0 !important;
    border-bottom: 1px solid #ddd3bd !important;
}
body.map #tileDetails.trav47-map-tile > .trav47-map-tile__details > table:not(.rep) tr:last-child > *,
body.map .dialog #tileDetails.trav47-map-tile > .trav47-map-tile__details > table:not(.rep) tr:last-child > * {
    border-bottom: 0 !important;
}
body.map #tileDetails.trav47-map-tile > .trav47-map-tile__details th,
body.map .dialog #tileDetails.trav47-map-tile > .trav47-map-tile__details th { width:40% !important; min-width:0 !important; color:#6b6657 !important; font-weight:700 !important; }
body.map #tileDetails.trav47-map-tile > .trav47-map-tile__details a,
body.map .dialog #tileDetails.trav47-map-tile > .trav47-map-tile__details a { color:#4f762b !important; font-weight:700 !important; text-decoration:none !important; }

body.map #tileDetails.trav47-map-tile .mapDistanceValue,
body.map .dialog #tileDetails.trav47-map-tile .mapDistanceValue { display:inline-block !important; min-width:0 !important; padding:1px 6px !important; border:1px solid #b6c3a8 !important; border-radius:9px !important; color:#42672d !important; background:#eef0dc !important; font-weight:700 !important; direction:ltr !important; }

body.map #tileDetails.trav47-map-tile .trav47-map-tile__bonus-summary,
body.map .dialog #tileDetails.trav47-map-tile .trav47-map-tile__bonus-summary {
    display: flex !important;
    flex-direction: column !important;
    gap: 2px !important;
    width: 100% !important;
    padding: 0 5px 4px !important;
    margin: 0 0 2px !important;
    border: 0 !important;
    color: var(--tile-ink) !important;
    background: transparent !important;
    direction: rtl !important;
    box-sizing: border-box !important;
}

body.map #tileDetails.trav47-map-tile .trav47-map-tile__bonus-row,
body.map .dialog #tileDetails.trav47-map-tile .trav47-map-tile__bonus-row {
    display: grid !important;
    grid-template-columns: 40% minmax(0, 1fr) !important;
    align-items: center !important;
    min-height: 21px !important;
    font-size: 12px !important;
    line-height: 18px !important;
}

body.map #tileDetails.trav47-map-tile .trav47-map-tile__bonus-row > strong,
body.map .dialog #tileDetails.trav47-map-tile .trav47-map-tile__bonus-row > strong {
    color: #59717e !important;
    font-weight: 700 !important;
    text-align: right !important;
    white-space: nowrap !important;
}

body.map #tileDetails.trav47-map-tile .trav47-map-tile__bonus-item,
body.map .dialog #tileDetails.trav47-map-tile .trav47-map-tile__bonus-item {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 4px !important;
    min-width: 0 !important;
    white-space: nowrap !important;
}

body.map #tileDetails.trav47-map-tile .trav47-map-tile__bonus-item i,
body.map .dialog #tileDetails.trav47-map-tile .trav47-map-tile__bonus-item i {
    flex: 0 0 auto !important;
}

body.map #tileDetails.trav47-map-tile .trav47-map-tile__bonus-item b,
body.map .dialog #tileDetails.trav47-map-tile .trav47-map-tile__bonus-item b {
    display: inline-flex !important;
    flex-direction: row !important;
    direction: ltr !important;
    unicode-bidi: isolate !important;
}
body.map #tileDetails.trav47-map-tile > .trav47-map-tile__details h4,
body.map .dialog #tileDetails.trav47-map-tile > .trav47-map-tile__details h4 { padding:5px 6px !important; margin:3px 0 4px !important; border:1px solid #c9dae2 !important; border-radius:3px !important; color:#405f70 !important; background:var(--tile-soft) !important; font-size:12px !important; line-height:17px !important; text-align:right !important; }

body.map #tileDetails.trav47-map-tile .trav47-map-tile__field-summary,
body.map .dialog #tileDetails.trav47-map-tile .trav47-map-tile__field-summary {
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 4px !important;
    width: 100% !important;
    padding: 5px 7px !important;
    margin: 0 0 5px !important;
    overflow: hidden !important;
    border: 1px solid #d1dee4 !important;
    border-radius: 4px !important;
    background: rgba(255,255,255,.62) !important;
    color: #474238 !important;
    direction: rtl !important;
    box-sizing: border-box !important;
}
body.map #tileDetails.trav47-map-tile .trav47-map-tile__field-summary h3,
body.map .dialog #tileDetails.trav47-map-tile .trav47-map-tile__field-summary h3 {
    padding: 0 !important;
    margin: 0 !important;
    color: #454037 !important;
    background: transparent !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 18px !important;
    white-space: nowrap !important;
    text-align: right !important;
}
body.map #tileDetails.trav47-map-tile .trav47-map-tile__field-counts,
body.map .dialog #tileDetails.trav47-map-tile .trav47-map-tile__field-counts {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    flex: 1 1 auto !important;
    gap: 0 !important;
    width: auto !important;
    padding: 0 !important;
    overflow: hidden !important;
    direction: rtl !important;
    box-sizing: border-box !important;
}
body.map #tileDetails.trav47-map-tile .trav47-map-tile__field-count,
body.map .dialog #tileDetails.trav47-map-tile .trav47-map-tile__field-count {
    display: inline-flex !important;
    align-items: center !important;
    gap: 2px !important;
    min-height: 22px !important;
    padding: 1px 4px !important;
    border: 1px solid #dce6ea !important;
    border-radius: 4px !important;
    background: #f8fbfc !important;
    direction: ltr !important;
    color: #4a4339 !important;
    font-size: 12px !important;
    line-height: 18px !important;
    white-space: nowrap !important;
}
body.map #tileDetails.trav47-map-tile .trav47-map-tile__field-icon,
body.map .dialog #tileDetails.trav47-map-tile .trav47-map-tile__field-icon {
    display: block !important;
    flex: 0 0 14px !important;
    width: 14px !important;
    height: 14px !important;
    max-width: 14px !important;
    max-height: 14px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    object-fit: contain !important;
}

body.map #tileDetails.trav47-map-tile > .trav47-map-tile__details > table#troop_info:not(.rep),
body.map .dialog #tileDetails.trav47-map-tile > .trav47-map-tile__details > table#troop_info:not(.rep) { position:static !important; display:table !important; max-height:none !important; overflow:visible !important; color:var(--tile-ink) !important; background:transparent !important; border:0 !important; border-radius:0 !important; box-shadow:none !important; direction:rtl !important; }
body.map #tileDetails.trav47-map-tile > .trav47-map-tile__details > table#troop_info:not(.rep) td.desc,
body.map .dialog #tileDetails.trav47-map-tile > .trav47-map-tile__details > table#troop_info:not(.rep) td.desc { display:table-cell !important; }
body.map #tileDetails.trav47-map-tile > .trav47-map-tile__details > table#troop_info:not(.rep) td.ico,
body.map .dialog #tileDetails.trav47-map-tile > .trav47-map-tile__details > table#troop_info:not(.rep) td.ico { width:22px !important; text-align:center !important; }

body.map #tileDetails.trav47-map-tile > .trav47-map-tile__details > table#troop_info:not(.rep) tbody,
body.map .dialog #tileDetails.trav47-map-tile > .trav47-map-tile__details > table#troop_info:not(.rep) tbody {
    display: block !important;
    width: 100% !important;
    padding-right: 3px !important;
    box-sizing: border-box !important;
}
body.map #tileDetails.trav47-map-tile > .trav47-map-tile__details > table#troop_info:not(.rep) tr,
body.map .dialog #tileDetails.trav47-map-tile > .trav47-map-tile__details > table#troop_info:not(.rep) tr {
    display: grid !important;
    grid-template-columns: 20px max-content minmax(0, 1fr) !important;
    align-items: center !important;
    width: 100% !important;
    min-height: 25px !important;
    direction: rtl !important;
}
body.map #tileDetails.trav47-map-tile > .trav47-map-tile__details > table#troop_info:not(.rep) td.desc,
body.map .dialog #tileDetails.trav47-map-tile > .trav47-map-tile__details > table#troop_info:not(.rep) td.desc {
    grid-column: 3 !important;
    grid-row: 1 !important;
    width: auto !important;
    text-align: right !important;
}
body.map #tileDetails.trav47-map-tile > .trav47-map-tile__details > table#troop_info:not(.rep) td.val,
body.map .dialog #tileDetails.trav47-map-tile > .trav47-map-tile__details > table#troop_info:not(.rep) td.val {
    grid-column: 2 !important;
    grid-row: 1 !important;
    width: auto !important;
    padding-right: 0 !important;
    padding-left: 0 !important;
    text-align: left !important;
    white-space: nowrap !important;
}
body.map #tileDetails.trav47-map-tile > .trav47-map-tile__details > table#troop_info:not(.rep) td.ico,
body.map .dialog #tileDetails.trav47-map-tile > .trav47-map-tile__details > table#troop_info:not(.rep) td.ico {
    grid-column: 1 !important;
    grid-row: 1 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    direction: ltr !important;
    width: 20px !important;
    padding: 0 0 0 5px !important;
    text-align: left !important;
}

body.map #tileDetails.trav47-map-tile > .trav47-map-tile__details > table#troop_info:not(.rep) td.ico img,
body.map .dialog #tileDetails.trav47-map-tile > .trav47-map-tile__details > table#troop_info:not(.rep) td.ico img {
    display: block !important;
    margin: 0 !important;
}

body.map #tileDetails.trav47-map-tile > .trav47-map-tile__details > table#troop_info:not(.rep) tr.trav47-map-combat-link-row,
body.map .dialog #tileDetails.trav47-map-tile > .trav47-map-tile__details > table#troop_info:not(.rep) tr.trav47-map-combat-link-row {
    display: block !important;
    width: 100% !important;
    min-height: 29px !important;
    margin-top: 4px !important;
    padding-top: 3px !important;
    border-top: 0 !important;
    box-sizing: border-box !important;
}

body.map #tileDetails.trav47-map-tile > .trav47-map-tile__details > table#troop_info:not(.rep) td.trav47-map-combat-link-cell,
body.map .dialog #tileDetails.trav47-map-tile > .trav47-map-tile__details > table#troop_info:not(.rep) td.trav47-map-combat-link-cell {
    display: block !important;
    width: 100% !important;
    padding: 0 !important;
}

body.map #tileDetails.trav47-map-tile .trav47-map-combat-link,
body.map .dialog #tileDetails.trav47-map-tile .trav47-map-combat-link {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 27px !important;
    padding: 4px 24px 4px 7px !important;
    border: 1px solid #b6c3a8 !important;
    border-radius: 4px !important;
    color: #42672d !important;
    background: linear-gradient(180deg, #fffdf7, #e8efd9) !important;
    box-shadow: inset 0 1px 0 #fff, 0 1px 2px rgba(66,45,26,.12) !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 18px !important;
    text-align: center !important;
    text-decoration: none !important;
    background-image: none !important;
    white-space: nowrap !important;
    box-sizing: border-box !important;
}

body.map #tileDetails.trav47-map-tile .trav47-map-combat-link::before,
body.map .dialog #tileDetails.trav47-map-tile .trav47-map-combat-link::before {
    content: '\2039';
    position: static !important;
    display: inline-block !important;
    margin-left: 5px !important;
    color: currentColor !important;
    font-size: 16px !important;
    line-height: 17px !important;
    direction: ltr !important;
    unicode-bidi: isolate !important;
    opacity: .72 !important;
    transform: none !important;
}

body.map #tileDetails.trav47-map-tile .trav47-map-combat-link:hover,
body.map #tileDetails.trav47-map-tile .trav47-map-combat-link:focus,
body.map #tileDetails.trav47-map-tile .trav47-map-combat-link:visited,
body.map .dialog #tileDetails.trav47-map-tile .trav47-map-combat-link:hover,
body.map .dialog #tileDetails.trav47-map-tile .trav47-map-combat-link:focus,
body.map .dialog #tileDetails.trav47-map-tile .trav47-map-combat-link:visited {
    text-decoration: none !important;
}

body.map #tileDetails.trav47-map-tile .trav47-map-tile__reports { flex:0 0 auto !important; margin-top:4px !important; padding-top:4px !important; border-top:1px solid #d7e4ea !important; }
body.map #tileDetails.trav47-map-tile .trav47-map-tile__reports-head,
body.map .dialog #tileDetails.trav47-map-tile .trav47-map-tile__reports-head { display:flex !important; align-items:center !important; justify-content:flex-start !important; gap:6px !important; width:100% !important; margin:0 0 4px !important; direction:rtl !important; box-sizing:border-box !important; }
body.map #tileDetails.trav47-map-tile .trav47-map-tile__reports-head .mapReportAction.trav47-map-farm-edit,
body.map .dialog #tileDetails.trav47-map-tile .trav47-map-tile__reports-head .mapReportAction.trav47-map-farm-edit { display:inline-flex !important; align-items:center !important; justify-content:center !important; min-height:22px !important; padding:2px 7px !important; border:1px solid #b58732 !important; border-radius:5px !important; color:#6e4b0f !important; background:#fff2cf !important; box-shadow:inset 0 1px 0 rgba(255,255,255,.7) !important; font-size:11px !important; font-weight:700 !important; line-height:16px !important; text-decoration:none !important; white-space:nowrap !important; box-sizing:border-box !important; }
body.map #tileDetails.trav47-map-tile .trav47-map-tile__reports-head .mapReportAction.trav47-map-farm-edit.disabled,
body.map .dialog #tileDetails.trav47-map-tile .trav47-map-tile__reports-head .mapReportAction.trav47-map-farm-edit.disabled { opacity:.58 !important; cursor:default !important; }
body.map #tileDetails.trav47-map-tile .trav47-map-tile__reports .contentNavi,
body.map .dialog #tileDetails.trav47-map-tile .trav47-map-tile__reports .contentNavi { display:flex !important; gap:4px !important; margin:0 0 4px !important; background:transparent !important; }
body.map #tileDetails.trav47-map-tile .trav47-map-tile__reports .container,
body.map .dialog #tileDetails.trav47-map-tile .trav47-map-tile__reports .container { flex:1 1 0 !important; min-width:0 !important; height:auto !important; margin:0 !important; background:none !important; }
body.map #tileDetails.trav47-map-tile .trav47-map-tile__reports .tabItem,
body.map .dialog #tileDetails.trav47-map-tile .trav47-map-tile__reports .tabItem { display:block !important; min-height:0 !important; padding:2px 0 !important; border:0 !important; border-radius:0 !important; color:#3f6273 !important; background:transparent !important; box-shadow:none !important; font-size:11px !important; font-weight:700 !important; line-height:16px !important; text-align:right !important; box-sizing:border-box !important; }
body.map #tileDetails.trav47-map-tile .trav47-map-tile__reports #buttonC1,
body.map .dialog #tileDetails.trav47-map-tile .trav47-map-tile__reports #buttonC1 {
    border: 0 !important;
    border-radius: 0 !important;
    color: #4f7f19 !important;
    background: none !important;
    background-color: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
    opacity: 1 !important;
    text-shadow: none !important;
}
body.map #tileDetails.trav47-map-tile .trav47-map-tile__reports .background-start,
body.map #tileDetails.trav47-map-tile .trav47-map-tile__reports .background-end,
body.map .dialog #tileDetails.trav47-map-tile .trav47-map-tile__reports .background-start,
body.map .dialog #tileDetails.trav47-map-tile .trav47-map-tile__reports .background-end { display:none !important; }
body.map #tileDetails.trav47-map-tile .trav47-map-tile__reports .container .content,
body.map .dialog #tileDetails.trav47-map-tile .trav47-map-tile__reports .container .content { padding:0 !important; margin:0 !important; background:transparent !important; }

body.map #tileDetails.trav47-map-tile .trav47-map-tile__actions,
body.map .dialog #tileDetails.trav47-map-tile .trav47-map-tile__actions { position:static !important; grid-column:2 !important; grid-row:3 !important; z-index:5 !important; display:flex !important; flex-direction:column !important; align-items:stretch !important; justify-content:flex-start !important; gap:5px !important; width:100% !important; min-width:0 !important; max-width:100% !important; padding:6px !important; margin:0 !important; overflow:visible !important; border:1px solid #b5a278 !important; border-radius:5px !important; background:linear-gradient(180deg,rgba(255,255,255,.72),rgba(241,232,210,.68)),#f4eddd !important; box-shadow:inset 0 1px 0 #fff,0 2px 5px rgba(66,45,26,.09) !important; direction:rtl !important; box-sizing:border-box !important; }
body.map #tileDetails.trav47-map-tile .trav47-map-tile__actions .option,
body.map .dialog #tileDetails.trav47-map-tile .trav47-map-tile__actions .option { display:block !important; flex:0 0 auto !important; width:100% !important; min-width:0 !important; height:auto !important; min-height:0 !important; margin:0 !important; }
body.map #tileDetails.trav47-map-tile .trav47-map-tile__actions .mapCenterOption,
body.map .dialog #tileDetails.trav47-map-tile .trav47-map-tile__actions .mapCenterOption { order:1 !important; }
body.map #tileDetails.trav47-map-tile .trav47-map-tile__actions .mapAttackOption,
body.map .dialog #tileDetails.trav47-map-tile .trav47-map-tile__actions .mapAttackOption { order:2 !important; }
body.map #tileDetails.trav47-map-tile .trav47-map-tile__actions .mapMerchantOption,
body.map .dialog #tileDetails.trav47-map-tile .trav47-map-tile__actions .mapMerchantOption { order:3 !important; }
body.map #tileDetails.trav47-map-tile .trav47-map-tile__actions .mapFarmOption,
body.map .dialog #tileDetails.trav47-map-tile .trav47-map-tile__actions .mapFarmOption { order:4 !important; }
body.map #tileDetails.trav47-map-tile .trav47-map-tile__actions .a.arrow,
body.map .dialog #tileDetails.trav47-map-tile .trav47-map-tile__actions .a.arrow { display:flex !important; align-items:center !important; justify-content:center !important; min-height:27px !important; padding:5px 7px !important; overflow:hidden !important; border:1px solid #b6c3a8 !important; border-radius:4px !important; color:#42672d !important; background:linear-gradient(180deg,#fffdf7,#e8efd9) !important; box-shadow:inset 0 1px 0 #fff,0 1px 2px rgba(66,45,26,.12) !important; font-size:12px !important; font-weight:700 !important; line-height:19px !important; text-align:center !important; text-decoration:none !important; text-shadow:none !important; text-overflow:ellipsis !important; white-space:nowrap !important; box-sizing:border-box !important; }
body.map #tileDetails.trav47-map-tile .trav47-map-tile__actions .mapAttackOption .a.arrow:not(.disabled),
body.map #tileDetails.trav47-map-tile .trav47-map-tile__actions .mapSettlementOption .a.arrow:not(.disabled),
body.map .dialog #tileDetails.trav47-map-tile .trav47-map-tile__actions .mapAttackOption .a.arrow:not(.disabled),
body.map .dialog #tileDetails.trav47-map-tile .trav47-map-tile__actions .mapSettlementOption .a.arrow:not(.disabled) {
    border-color:#5f842d !important;
    color:#fff !important;
    background:linear-gradient(180deg,#80ae42,#4f7d21) !important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 1px 2px rgba(42,72,19,.28) !important;
}
body.map #tileDetails.trav47-map-tile .trav47-map-tile__actions .mapFarmOption .a.arrow.trav47-map-farm-edit:not(.disabled),
body.map .dialog #tileDetails.trav47-map-tile .trav47-map-tile__actions .mapFarmOption .a.arrow.trav47-map-farm-edit:not(.disabled) {
    border-color:#a67318 !important;
    color:#fffdf0 !important;
    background:linear-gradient(180deg,#d7a83a,#a87312) !important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.45),0 1px 2px rgba(99,66,10,.28) !important;
}
body.map #tileDetails.trav47-map-tile .trav47-map-tile__actions .disabled[data-disabled-hint],
body.map .dialog #tileDetails.trav47-map-tile .trav47-map-tile__actions .disabled[data-disabled-hint] {
    position: relative !important;
    overflow: visible !important;
    cursor: pointer !important;
}
body.map #tileDetails.trav47-map-tile .trav47-map-tile__actions .option,
body.map .dialog #tileDetails.trav47-map-tile .trav47-map-tile__actions .option {
    position: relative !important;
}
body.map #tileDetails.trav47-map-tile .trav47-map-tile__actions .trav47-map-disabled-note,
body.map .dialog #tileDetails.trav47-map-tile .trav47-map-tile__actions .trav47-map-disabled-note {
    position: absolute !important;
    right: 0 !important;
    bottom: calc(100% + 4px) !important;
    z-index: 50 !important;
    display: none !important;
    width: max-content !important;
    max-width: 190px !important;
    padding: 3px 5px !important;
    border: 1px solid #68755d !important;
    border-radius: 3px !important;
    color: #fff !important;
    background: rgba(49, 55, 45, .96) !important;
    box-shadow: 0 2px 5px rgba(0,0,0,.25) !important;
    font-size: 10px !important;
    font-weight: 400 !important;
    line-height: 14px !important;
    text-align: right !important;
    white-space: nowrap !important;
    transform: none !important;
    pointer-events: none !important;
}
body.map #tileDetails.trav47-map-tile .trav47-map-tile__actions .trav47-map-disabled-note.is-visible,
body.map .dialog #tileDetails.trav47-map-tile .trav47-map-tile__actions .trav47-map-disabled-note.is-visible,
body.map #tileDetails.trav47-map-tile .trav47-map-tile__actions .option:hover > .trav47-map-disabled-note,
body.map #tileDetails.trav47-map-tile .trav47-map-tile__actions .option:focus-within > .trav47-map-disabled-note,
body.map .dialog #tileDetails.trav47-map-tile .trav47-map-tile__actions .option:hover > .trav47-map-disabled-note,
body.map .dialog #tileDetails.trav47-map-tile .trav47-map-tile__actions .option:focus-within > .trav47-map-disabled-note {
    display: block !important;
}
body.map #tileDetails.trav47-map-tile .trav47-map-tile__actions .a.arrow::before,
body.map .dialog #tileDetails.trav47-map-tile .trav47-map-tile__actions .a.arrow::before { content:'‹'; margin-left:5px; color:currentColor; font-size:16px; line-height:17px; direction:ltr !important; unicode-bidi:isolate !important; opacity:.72; }
body.map #tileDetails.trav47-map-tile .trav47-map-tile__actions .a.arrow.disabled,
body.map .dialog #tileDetails.trav47-map-tile .trav47-map-tile__actions .a.arrow.disabled { color:#99978c !important; background:transparent !important; box-shadow:none !important; text-shadow:none !important; }

body.map #tileDetails.trav47-map-tile .trav47-map-tile__actions,
body.map .dialog #tileDetails.trav47-map-tile .trav47-map-tile__actions {
    grid-column: 2 !important;
    width: 190px !important;
    min-width: 0 !important;
    max-width: 100% !important;
    justify-self: end !important;
    box-sizing: border-box !important;
}
body.map #tileDetails.trav47-map-tile .trav47-map-tile__actions .a.arrow,
body.map .dialog #tileDetails.trav47-map-tile .trav47-map-tile__actions .a.arrow {
    justify-content: center !important;
    overflow: hidden !important;
    font-size: 12px !important;
    text-overflow: ellipsis !important;
}

body.map #tileDetails.trav47-map-tile > .trav47-map-tile__details > table,
body.map #tileDetails.trav47-map-tile > .trav47-map-tile__details > table.transparent,
body.map .dialog #tileDetails.trav47-map-tile > .trav47-map-tile__details > table,
body.map .dialog #tileDetails.trav47-map-tile > .trav47-map-tile__details > table.transparent {
    border-color: #d5e1e6 !important;
    background: rgba(255,255,255,.56) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.75) !important;
}


body.map #tileDetails.trav47-map-tile > .trav47-map-tile__details > table tr,
body.map #tileDetails.trav47-map-tile > .trav47-map-tile__details > table th,
body.map #tileDetails.trav47-map-tile > .trav47-map-tile__details > table td,
body.map .dialog #tileDetails.trav47-map-tile > .trav47-map-tile__details > table tr,
body.map .dialog #tileDetails.trav47-map-tile > .trav47-map-tile__details > table th,
body.map .dialog #tileDetails.trav47-map-tile > .trav47-map-tile__details > table td {
    background: transparent !important;
}

body.map #tileDetails.trav47-map-tile > .trav47-map-tile__details *,
body.map .dialog #tileDetails.trav47-map-tile > .trav47-map-tile__details * {
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

/* One close-button rule: the control lives inside the actual title row. */
body.map #tileDetails.trav47-map-tile > .trav47-map-tile__title > .trav47-map-tile-close,
body.map .dialog #tileDetails.trav47-map-tile > .trav47-map-tile__title > .trav47-map-tile-close {
    position: absolute !important;
    top: 50% !important;
    left: 3px !important;
    right: auto !important;
    transform: translateY(-50%) !important;
    z-index: 10000 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 28px !important;
    height: 28px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 1px solid #9fb1ba !important;
    border-radius: 4px !important;
    color: #b83a2f !important;
    background: linear-gradient(#ffffff, #e7f0f4) !important;
    box-shadow: inset 0 1px 0 #fff, 0 1px 2px rgba(44,65,75,.22) !important;
    font: 400 22px/25px Arial, sans-serif !important;
    text-shadow: none !important;
    cursor: pointer !important;
    pointer-events: auto !important;
    visibility: visible !important;
    opacity: 1 !important;
    appearance: none !important;
}

body.map #tileDetails.trav47-map-tile > .trav47-map-tile__title > .trav47-map-tile-close:hover,
body.map .dialog #tileDetails.trav47-map-tile > .trav47-map-tile__title > .trav47-map-tile-close:hover {
    border-color: #7f969f !important;
    color: #9e241c !important;
    background: linear-gradient(#ffffff, #d9e7ed) !important;
}

/* Copy/share control beside the close button. */
body.map #tileDetails.trav47-map-tile > .trav47-map-tile__title > .trav47-map-tile-share,
body.map .dialog #tileDetails.trav47-map-tile > .trav47-map-tile__title > .trav47-map-tile-share {
    position: absolute !important;
    top: 50% !important;
    left: 34px !important;
    right: auto !important;
    z-index: 10000 !important;
    display: block !important;
    width: 28px !important;
    height: 28px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 1px solid #9fb1ba !important;
    border-radius: 4px !important;
    color: #4f6e2c !important;
    background: linear-gradient(#ffffff, #e7f0f4) !important;
    box-shadow: inset 0 1px 0 #fff, 0 1px 2px rgba(44,65,75,.22) !important;
    transform: translateY(-50%) !important;
    cursor: pointer !important;
    appearance: none !important;
}

body.map #tileDetails.trav47-map-tile > .trav47-map-tile__title > .trav47-map-tile-share::before,
body.map #tileDetails.trav47-map-tile > .trav47-map-tile__title > .trav47-map-tile-share::after,
body.map .dialog #tileDetails.trav47-map-tile > .trav47-map-tile__title > .trav47-map-tile-share::before,
body.map .dialog #tileDetails.trav47-map-tile > .trav47-map-tile__title > .trav47-map-tile-share::after {
    content: '' !important;
    position: absolute !important;
    width: 9px !important;
    height: 11px !important;
    border: 1.5px solid currentColor !important;
    border-radius: 1px !important;
    background: #f8fbfc !important;
    box-sizing: border-box !important;
}

body.map #tileDetails.trav47-map-tile > .trav47-map-tile__title > .trav47-map-tile-share::before,
body.map .dialog #tileDetails.trav47-map-tile > .trav47-map-tile__title > .trav47-map-tile-share::before {
    top: 6px !important;
    left: 10px !important;
}

body.map #tileDetails.trav47-map-tile > .trav47-map-tile__title > .trav47-map-tile-share::after,
body.map .dialog #tileDetails.trav47-map-tile > .trav47-map-tile__title > .trav47-map-tile-share::after {
    top: 9px !important;
    left: 7px !important;
}

body.map #tileDetails.trav47-map-tile > .trav47-map-tile__title > .trav47-map-tile-share:hover,
body.map .dialog #tileDetails.trav47-map-tile > .trav47-map-tile__title > .trav47-map-tile-share:hover {
    border-color: #7f969f !important;
    color: #3f641b !important;
    background: linear-gradient(#ffffff, #dfeadf) !important;
}

/* Reserved oasis action icon beside the copy control. Its behavior is wired
 * separately once the oasis action is defined. */
body.map #tileDetails.trav47-map-tile--oasis > .trav47-map-tile__title > .trav47-map-tile-offense,
body.map .dialog #tileDetails.trav47-map-tile--oasis > .trav47-map-tile__title > .trav47-map-tile-offense {
    position: absolute !important;
    top: 50% !important;
    left: 66px !important;
    z-index: 9999 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 28px !important;
    height: 28px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 1px solid #9fb1ba !important;
    border-radius: 4px !important;
    background: linear-gradient(#ffffff, #e7f0f4) !important;
    box-shadow: inset 0 1px 0 #fff, 0 1px 2px rgba(44,65,75,.22) !important;
    transform: translateY(-50%) !important;
    box-sizing: border-box !important;
}

body.map #tileDetails.trav47-map-tile--oasis > .trav47-map-tile__title > .trav47-map-tile-offense img,
body.map .dialog #tileDetails.trav47-map-tile--oasis > .trav47-map-tile__title > .trav47-map-tile-offense img {
    display: block !important;
    width: 20px !important;
    height: 20px !important;
    margin: 0 !important;
    object-fit: contain !important;
}

body.map #tileDetails.trav47-map-tile--oasis > .trav47-map-tile__title,
body.map .dialog #tileDetails.trav47-map-tile--oasis > .trav47-map-tile__title {
    padding-left: 102px !important;
}

body.map #tileDetails.trav47-map-tile--oasis > .trav47-map-tile__title > .trav47-map-share-feedback,
body.map .dialog #tileDetails.trav47-map-tile--oasis > .trav47-map-tile__title > .trav47-map-share-feedback {
    left: 100px !important;
}

body.map #tileDetails.trav47-map-tile > .trav47-map-tile__title > .trav47-map-share-feedback,
body.map .dialog #tileDetails.trav47-map-tile > .trav47-map-tile__title > .trav47-map-share-feedback {
    position: absolute !important;
    top: 50% !important;
    left: 68px !important;
    z-index: 10001 !important;
    display: block !important;
    padding: 3px 7px !important;
    border: 1px solid #527825 !important;
    border-radius: 4px !important;
    color: #fff !important;
    background: rgba(67, 105, 31, .96) !important;
    box-shadow: 0 2px 5px rgba(0,0,0,.24) !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    line-height: 15px !important;
    white-space: nowrap !important;
    opacity: 0 !important;
    transform: translateY(-50%) translateX(-4px) !important;
    transition: opacity .14s ease, transform .14s ease !important;
    pointer-events: none !important;
}

body.map #tileDetails.trav47-map-tile > .trav47-map-tile__title > .trav47-map-share-feedback.is-visible,
body.map .dialog #tileDetails.trav47-map-tile > .trav47-map-tile__title > .trav47-map-share-feedback.is-visible {
    opacity: 1 !important;
    transform: translateY(-50%) translateX(0) !important;
}

/* Phone and phone-web layouts keep every map action inside the tile dialog.
   The old action dock below the map is intentionally no longer used. */
@media screen and (max-width: 1024px) {
    body.map :is(.travian-mobile-map-dialog, .travian-tablet-map-dialog) #tileDetails.trav47-map-tile > .trav47-map-tile__title.has-travian-map-title-back {
        justify-content: flex-start !important;
        gap: 6px !important;
        padding-right: 4px !important;
    }

    body.map :is(.travian-mobile-map-dialog, .travian-tablet-map-dialog) #tileDetails.trav47-map-tile > .trav47-map-tile__title > .travian-map-title-back {
        position: static !important;
        inset: auto !important;
        order: -1 !important;
        flex: 0 0 auto !important;
        width: auto !important;
        min-width: 44px !important;
        height: 24px !important;
        padding: 2px 7px !important;
        margin: 0 !important;
        border: 1px solid #a99772 !important;
        border-radius: 6px !important;
        color: #4b453a !important;
        background: linear-gradient(#fffdf7, #e9dfc9) !important;
        box-shadow: inset 0 1px 0 #fff, 0 1px 2px rgba(66,45,26,.12) !important;
        font-family: inherit !important;
        font-size: 10px !important;
        font-weight: 700 !important;
        line-height: 18px !important;
        text-align: center !important;
        transform: none !important;
    }

    body.map :is(.travian-mobile-map-dialog, .travian-tablet-map-dialog) #tileDetails.trav47-map-tile .travian-map-troop-form[data-step="form"] .travian-map-action-back-row:empty,
    body.map :is(.travian-mobile-map-dialog, .travian-tablet-map-dialog) #tileDetails.trav47-map-tile .travian-map-confirm-form .travian-map-action-back-row:empty {
        display: none !important;
    }

    body.map :is(.travian-mobile-map-dialog, .travian-tablet-map-dialog) #tileDetails.trav47-map-tile > .travian-map-action-panel {
        position: relative !important;
        grid-column: 1 / -1 !important;
        grid-row: 2 / 4 !important;
        z-index: 40 !important;
        display: flex !important;
        flex-direction: column !important;
        width: 100% !important;
        height: 100% !important;
        min-width: 0 !important;
        min-height: 0 !important;
        padding: 8px !important;
        margin: 0 !important;
        overflow: hidden !important;
        border: 1px solid #b5a278 !important;
        border-radius: 8px !important;
        color: #35402a !important;
        background: linear-gradient(180deg, #f4eddd 0%, #e8dfc9 100%) !important;
        box-shadow: inset 0 1px 0 rgba(255, 255, 255, .86), 0 2px 7px rgba(66, 45, 26, .16) !important;
        direction: rtl !important;
        box-sizing: border-box !important;
    }

    /* The troop picker has four compact rows on larger tribes.  Reclaim the
       unused vertical padding so its lower frame remains visible on phones. */
    body.map :is(.travian-mobile-map-dialog, .travian-tablet-map-dialog) #tileDetails.trav47-map-tile > .travian-map-action-panel:has(.travian-map-troop-form[data-step="form"]) {
        padding: 6px 6px 1px !important;
    }

    body.map :is(.travian-mobile-map-dialog, .travian-tablet-map-dialog) #tileDetails.trav47-map-tile.trav47-map-tile--action-open:has(.travian-map-troop-form, .travian-map-confirm-form) {
        padding-bottom: 2px !important;
    }

    body.map :is(.travian-mobile-map-dialog, .travian-tablet-map-dialog) #tileDetails.trav47-map-tile > .travian-map-action-panel:has(.travian-map-confirm-form) {
        padding: 8px 3px 2px !important;
    }

    body.map :is(.travian-mobile-map-dialog, .travian-tablet-map-dialog) #tileDetails.trav47-map-tile > .travian-map-action-panel[hidden] {
        display: none !important;
    }

    body.map :is(.travian-mobile-map-dialog, .travian-tablet-map-dialog) #tileDetails.trav47-map-tile .travian-map-action-content {
        flex: 1 1 auto !important;
        min-height: 0 !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
    }

    body.map :is(.travian-mobile-map-dialog, .travian-tablet-map-dialog) #tileDetails.trav47-map-tile .travian-map-action-form,
    body.map :is(.travian-mobile-map-dialog, .travian-tablet-map-dialog) #tileDetails.trav47-map-tile .travian-map-action-view {
        display: flex !important;
        flex-direction: column !important;
        gap: 6px !important;
        width: 100% !important;
        min-height: 100% !important;
        padding: 0 !important;
        margin: 0 !important;
        font-family: inherit !important;
        font-size: 11px !important;
        line-height: 1.35 !important;
        box-sizing: border-box !important;
    }

    body.map :is(.travian-mobile-map-dialog, .travian-tablet-map-dialog) #tileDetails.trav47-map-tile .travian-map-action-head {
        display: grid !important;
        grid-template-columns: auto auto minmax(0, 1fr) !important;
        align-items: center !important;
        gap: 6px !important;
        min-height: 31px !important;
        padding: 4px 7px !important;
        border: 1px solid #b6c3a8 !important;
        border-radius: 6px !important;
        background: linear-gradient(180deg, rgba(255,255,255,.82), rgba(230,237,210,.72)), #eef0dc !important;
        box-shadow: inset 0 1px 0 rgba(255, 255, 255, .86) !important;
    }

    body.map :is(.travian-mobile-map-dialog, .travian-tablet-map-dialog) #tileDetails.trav47-map-tile .travian-map-action-head strong {
        position: static !important;
        inset: auto !important;
        max-width: none !important;
        overflow: visible !important;
        color: #35402a !important;
        font-size: 11px !important;
        text-overflow: clip !important;
        transform: none !important;
        white-space: nowrap !important;
    }

    body.map :is(.travian-mobile-map-dialog, .travian-tablet-map-dialog) #tileDetails.trav47-map-tile .travian-map-merchant-form .travian-map-action-head {
        grid-template-columns: auto minmax(0, 1fr) !important;
    }

    body.map :is(.travian-mobile-map-dialog, .travian-tablet-map-dialog) #tileDetails.trav47-map-tile .travian-map-action-head.travian-map-troop-head {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 0 !important;
        min-height: 23px !important;
        padding: 1px 5px !important;
    }

    body.map :is(.travian-mobile-map-dialog, .travian-tablet-map-dialog) #tileDetails.trav47-map-tile .travian-map-action-back-row {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        width: 100% !important;
    }

    body.map :is(.travian-mobile-map-dialog, .travian-tablet-map-dialog) #tileDetails.trav47-map-tile .travian-map-troop-head .travian-map-action-back-row:empty {
        display: none !important;
    }

    body.map :is(.travian-mobile-map-dialog, .travian-tablet-map-dialog) #tileDetails.trav47-map-tile .travian-map-troop-head .travian-map-action-title-row {
        min-height: 19px !important;
        line-height: 19px !important;
    }

    body.map :is(.travian-mobile-map-dialog, .travian-tablet-map-dialog) #tileDetails.trav47-map-tile .travian-map-action-title-row {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 4px !important;
        min-width: 0 !important;
        min-height: 21px !important;
        width: 100% !important;
        direction: rtl !important;
        white-space: nowrap !important;
    }

    body.map :is(.travian-mobile-map-dialog, .travian-tablet-map-dialog) #tileDetails.trav47-map-tile .travian-map-action-title-row .travian-map-target-name {
        flex: 0 1 auto !important;
        min-width: 0 !important;
        max-width: 58% !important;
        overflow: hidden !important;
        color: #35402a !important;
        font-family: inherit !important;
        font-size: 12px !important;
        font-weight: 700 !important;
        line-height: 18px !important;
        text-align: center !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }

    body.map :is(.travian-mobile-map-dialog, .travian-tablet-map-dialog) #tileDetails.trav47-map-tile .travian-map-action-title-row .travian-map-target-coords {
        display: inline-block !important;
        flex: 0 0 auto !important;
        color: #716957 !important;
        font-family: inherit !important;
        font-size: 11px !important;
        font-weight: 400 !important;
        line-height: 18px !important;
        direction: ltr !important;
        unicode-bidi: isolate !important;
        white-space: nowrap !important;
    }

    body.map :is(.travian-mobile-map-dialog, .travian-tablet-map-dialog) #tileDetails.trav47-map-tile .travian-map-confirm-form .travian-map-confirm-action-title {
        display: inline-flex !important;
        align-items: baseline !important;
        justify-content: center !important;
        gap: 2px !important;
        max-width: 100% !important;
        margin: 0 auto !important;
        color: #35402a !important;
        font-family: inherit !important;
        font-size: 11px !important;
        font-weight: 700 !important;
        line-height: 18px !important;
        text-align: center !important;
        white-space: nowrap !important;
    }

    body.map :is(.travian-mobile-map-dialog, .travian-tablet-map-dialog) #tileDetails.trav47-map-tile .travian-map-confirm-form .travian-map-confirm-heading-text {
        display: inline-flex !important;
        align-items: baseline !important;
        gap: 1px !important;
        min-width: 0 !important;
        white-space: nowrap !important;
    }

    body.map :is(.travian-mobile-map-dialog, .travian-tablet-map-dialog) #tileDetails.trav47-map-tile .travian-map-confirm-form .travian-map-confirm-action-title > .travian-map-target-coords {
        display: inline !important;
        flex: 0 0 auto !important;
        color: inherit !important;
        font-family: inherit !important;
        font-size: inherit !important;
        font-weight: inherit !important;
        line-height: inherit !important;
        text-align: inherit !important;
        vertical-align: baseline !important;
    }

    body.map :is(.travian-mobile-map-dialog, .travian-tablet-map-dialog) #tileDetails.trav47-map-tile .travian-map-troop-form[data-step="form"] .travian-map-troop-grid {
        display: flex !important;
        flex-direction: column !important;
        flex-wrap: nowrap !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 1px !important;
        width: 100% !important;
        min-height: 0 !important;
        padding: 3px !important;
        border: 1px solid #c3cbb6 !important;
        border-radius: 7px !important;
        background: rgba(224,232,205,.58) !important;
        box-shadow: inset 0 1px 2px rgba(66,45,26,.07) !important;
        box-sizing: border-box !important;
    }

    body.map :is(.travian-mobile-map-dialog, .travian-tablet-map-dialog) #tileDetails.trav47-map-tile .travian-map-troop-form[data-step="form"] .travian-map-troop-grid:has(> .travian-map-unit:nth-child(7)) {
        display: flex !important;
        flex-direction: column !important;
    }

    body.map :is(.travian-mobile-map-dialog, .travian-tablet-map-dialog) #tileDetails.trav47-map-tile .travian-map-troop-form[data-step="form"] .travian-map-unit {
        display: grid !important;
        grid-template-columns: 26px 90px 46px !important;
        grid-template-rows: 23px !important;
        align-items: center !important;
        justify-items: center !important;
        justify-content: center !important;
        gap: 6px !important;
        flex: 0 0 auto !important;
        width: 180px !important;
        max-width: 100% !important;
        min-width: 0 !important;
        height: 29px !important;
        margin: 0 !important;
        padding: 2px 5px !important;
        overflow: visible !important;
        border: 1px solid #b6c3a8 !important;
        border-radius: 7px !important;
        color: #35402a !important;
        background: linear-gradient(180deg, rgba(255,255,255,.82), rgba(230,237,210,.72)), #eef0dc !important;
        box-shadow: inset 0 1px 0 #fff, 0 1px 2px rgba(66,45,26,.08) !important;
        box-sizing: border-box !important;
    }

    body.map :is(.travian-mobile-map-dialog, .travian-tablet-map-dialog) #tileDetails.trav47-map-tile .travian-map-troop-form[data-step="form"] .travian-map-unit > img.unit {
        grid-column: 1 !important;
        grid-row: 1 !important;
        justify-self: center !important;
        align-self: center !important;
        margin: 0 !important;
        padding: 0 !important;
        transform: scale(1.08) !important;
        transform-origin: center center !important;
    }

    body.map :is(.travian-mobile-map-dialog, .travian-tablet-map-dialog) #tileDetails.trav47-map-tile .travian-map-troop-form[data-step="form"] .travian-map-unit > input.text {
        grid-column: 2 !important;
        grid-row: 1 !important;
        justify-self: center !important;
        width: 100% !important;
        min-width: 0 !important;
        height: 23px !important;
        padding: 2px 3px !important;
        margin: 0 !important;
        border: 1px solid #a9b99a !important;
        border-radius: 5px !important;
        color: #35402a !important;
        background: rgba(255,253,247,.95) !important;
        box-shadow: inset 0 1px 2px rgba(66,45,26,.1) !important;
        font-family: inherit !important;
        font-size: 12px !important;
        text-align: center !important;
        box-sizing: border-box !important;
    }

    body.map :is(.travian-mobile-map-dialog, .travian-tablet-map-dialog) #tileDetails.trav47-map-tile .travian-map-troop-form[data-step="form"] .travian-map-unit > .travian-map-unit-max {
        grid-column: 3 !important;
        grid-row: 1 !important;
        justify-self: center !important;
        width: 100% !important;
        min-width: 0 !important;
        height: 23px !important;
        padding: 1px 3px !important;
        margin: 0 !important;
        border: 1px solid #bdc9b0 !important;
        border-radius: 5px !important;
        color: #42672d !important;
        background: rgba(239,244,228,.96) !important;
        box-shadow: inset 0 1px 0 #fff !important;
        font-family: inherit !important;
        font-size: 9.5px !important;
        line-height: 19px !important;
        text-align: center !important;
        white-space: nowrap !important;
        box-sizing: border-box !important;
    }

    /* Add-to-farm-list editor. Keep the units as a true vertical list: one
     * unit per row, with the icon and its field centred together. */
    body.map :is(.travian-mobile-map-dialog, .travian-tablet-map-dialog) #tileDetails.trav47-map-tile .travian-map-farm-form {
        display: flex !important;
        flex-direction: column !important;
        gap: 3px !important;
        min-height: 0 !important;
        overflow: visible !important;
    }

    body.map :is(.travian-mobile-map-dialog, .travian-tablet-map-dialog) #tileDetails.trav47-map-tile .travian-map-farm-list-row {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 5px !important;
        min-height: 43px !important;
        margin: 0 !important;
        padding: 2px 6px !important;
        border: 1px solid #c3cbb6 !important;
        border-radius: 7px !important;
        color: #35402a !important;
        background: rgba(255,253,247,.72) !important;
        font-size: 11px !important;
        font-weight: 700 !important;
        box-sizing: border-box !important;
    }

    body.map :is(.travian-mobile-map-dialog, .travian-tablet-map-dialog) #tileDetails.trav47-map-tile .travian-map-farm-list-row > select.dropdown {
        display: inline-block !important;
        -webkit-appearance: none !important;
        appearance: none !important;
        align-self: center !important;
        justify-self: center !important;
        width: auto !important;
        field-sizing: content !important;
        max-width: calc(100% - 10px) !important;
        min-width: 0 !important;
        height: 24px !important;
        margin: 0 !important;
        /* The arrow owns a fixed area on the left, away from the count. */
        padding: 2px 5px 2px 22px !important;
        border: 1px solid #a9b99a !important;
        border-radius: 6px !important;
        color: #35402a !important;
        background-color: #fffdf7 !important;
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='9' height='6' viewBox='0 0 9 6'%3E%3Cpath d='M1 1l3.5 3.5L8 1' fill='none' stroke='%23556b42' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
        background-repeat: no-repeat !important;
        background-position: left 7px center !important;
        background-size: 9px 6px !important;
        box-shadow: inset 0 1px 2px rgba(66,45,26,.08) !important;
        font-family: inherit !important;
        font-size: 10.5px !important;
        text-align: right !important;
        direction: rtl !important;
        unicode-bidi: isolate !important;
        white-space: nowrap !important;
        box-sizing: border-box !important;
    }

    body.map :is(.travian-mobile-map-dialog, .travian-tablet-map-dialog) #tileDetails.trav47-map-tile .travian-map-farm-list-row > select.dropdown option {
        padding: 5px 7px !important;
        color: #35402a !important;
        background: #fffdf7 !important;
        font-family: inherit !important;
    }

    body.map :is(.travian-mobile-map-dialog, .travian-tablet-map-dialog) #tileDetails.trav47-map-tile .travian-map-farm-source-note {
        display: block !important;
        width: 100% !important;
        color: #6b654f !important;
        font-size: 10px !important;
        font-weight: 400 !important;
        line-height: 14px !important;
        text-align: center !important;
        white-space: nowrap !important;
    }

    body.map :is(.travian-mobile-map-dialog, .travian-tablet-map-dialog) #tileDetails.trav47-map-tile .travian-map-farm-units {
        display: flex !important;
        flex-direction: column !important;
        flex-wrap: nowrap !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 1px !important;
        width: 100% !important;
        padding: 3px !important;
        border: 1px solid #c3cbb6 !important;
        border-radius: 7px !important;
        background: rgba(224,232,205,.58) !important;
        box-shadow: inset 0 1px 2px rgba(66,45,26,.07) !important;
        box-sizing: border-box !important;
    }

    body.map :is(.travian-mobile-map-dialog, .travian-tablet-map-dialog) #tileDetails.trav47-map-tile .travian-map-farm-units > .travian-map-unit {
        display: grid !important;
        grid-template-columns: 26px 90px !important;
        grid-template-rows: 23px !important;
        align-items: center !important;
        justify-items: center !important;
        justify-content: center !important;
        gap: 6px !important;
        flex: 0 0 auto !important;
        width: 132px !important;
        max-width: 100% !important;
        min-width: 0 !important;
        height: 29px !important;
        margin: 0 !important;
        padding: 2px 5px !important;
        border: 1px solid #b6c3a8 !important;
        border-radius: 7px !important;
        background: linear-gradient(180deg, rgba(255,255,255,.90), rgba(235,240,220,.82)), #eef0dc !important;
        box-shadow: inset 0 1px 0 #fff, 0 1px 2px rgba(66,45,26,.08) !important;
        box-sizing: border-box !important;
    }

    body.map :is(.travian-mobile-map-dialog, .travian-tablet-map-dialog) #tileDetails.trav47-map-tile .travian-map-farm-units > .travian-map-unit > img.unit {
        grid-column: 1 !important;
        grid-row: 1 !important;
        align-self: center !important;
        justify-self: center !important;
        margin: 0 !important;
        padding: 0 !important;
        transform: scale(1.08) !important;
        transform-origin: center center !important;
    }

    body.map :is(.travian-mobile-map-dialog, .travian-tablet-map-dialog) #tileDetails.trav47-map-tile .travian-map-farm-units > .travian-map-unit > input.text {
        grid-column: 2 !important;
        grid-row: 1 !important;
        align-self: center !important;
        justify-self: center !important;
        width: 100% !important;
        min-width: 0 !important;
        height: 23px !important;
        margin: 0 !important;
        padding: 2px 3px !important;
        border: 1px solid #a9b99a !important;
        border-radius: 6px !important;
        color: #35402a !important;
        background: #fffdf7 !important;
        box-shadow: inset 0 1px 2px rgba(66,45,26,.11) !important;
        font-family: inherit !important;
        font-size: 12px !important;
        line-height: 19px !important;
        text-align: center !important;
        box-sizing: border-box !important;
    }

    body.map :is(.travian-mobile-map-dialog, .travian-tablet-map-dialog) #tileDetails.trav47-map-tile .travian-map-farm-units > .travian-map-unit > input.text:focus {
        border-color: #759655 !important;
        outline: 0 !important;
        box-shadow: 0 0 0 2px rgba(117,150,85,.18), inset 0 1px 2px rgba(66,45,26,.08) !important;
    }

    body.map :is(.travian-mobile-map-dialog, .travian-tablet-map-dialog) #tileDetails.trav47-map-tile .travian-map-farm-form .travian-map-action-error:empty {
        display: none !important;
    }

    body.map :is(.travian-mobile-map-dialog, .travian-tablet-map-dialog) #tileDetails.trav47-map-tile .travian-map-farm-form .travian-map-action-buttons {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        min-height: 27px !important;
        margin: 0 !important;
    }

    body.map :is(.travian-mobile-map-dialog, .travian-tablet-map-dialog) #tileDetails.trav47-map-tile .travian-map-farm-form .travian-map-action-submit {
        min-width: 88px !important;
        height: 27px !important;
        padding: 3px 15px !important;
        border-radius: 6px !important;
        font-size: 11px !important;
    }

    body.map :is(.travian-mobile-map-dialog, .travian-tablet-map-dialog) #tileDetails.trav47-map-tile .travian-map-farm-form.is-edit .travian-map-farm-units > .travian-map-unit {
        border-color: #d2b06b !important;
        background: #fffaf0 !important;
    }

    body.map :is(.travian-mobile-map-dialog, .travian-tablet-map-dialog) #tileDetails.trav47-map-tile .travian-map-farm-form .travian-map-action-submit.is-edit {
        border-color: #9e711d !important;
        color: #fffdf1 !important;
        background: linear-gradient(180deg, #d8ab45 0%, #a87516 100%) !important;
        box-shadow: inset 0 1px 0 rgba(255,255,255,.45), 0 2px 3px rgba(95,64,12,.2) !important;
    }

    body.map :is(.travian-mobile-map-dialog, .travian-tablet-map-dialog) #tileDetails.trav47-map-tile > .travian-map-action-panel:has(.travian-map-farm-form) {
        padding: 4px !important;
    }

    body.map :is(.travian-mobile-map-dialog, .travian-tablet-map-dialog) #tileDetails.trav47-map-tile > .travian-map-action-panel:has(.travian-map-farm-form) .travian-map-action-content {
        overflow-y: hidden !important;
    }

    body.map :is(.travian-mobile-map-dialog, .travian-tablet-map-dialog) #tileDetails.trav47-map-tile.trav47-map-tile--action-open:has(.travian-map-farm-form) {
        max-height: min(550px, calc(100vh - 18px)) !important;
    }

    body.map :is(.travian-mobile-map-dialog, .travian-tablet-map-dialog) #tileDetails.trav47-map-tile .travian-map-troop-form[data-step="form"] {
        gap: 2px !important;
        min-height: 0 !important;
    }

    body.map :is(.travian-mobile-map-dialog, .travian-tablet-map-dialog) #tileDetails.trav47-map-tile .travian-map-troop-form[data-step="form"] .travian-map-action-footer {
        gap: 2px !important;
        margin-top: 0 !important;
    }

    body.map :is(.travian-mobile-map-dialog, .travian-tablet-map-dialog) #tileDetails.trav47-map-tile .travian-map-troop-form[data-step="form"] .travian-map-action-options {
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 3px !important;
        min-height: 30px !important;
        padding: 0 !important;
        line-height: 20px !important;
        box-sizing: border-box !important;
    }

    body.map :is(.travian-mobile-map-dialog, .travian-tablet-map-dialog) #tileDetails.trav47-map-tile .travian-map-troop-form[data-step="form"] .travian-map-action-options > label {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 4px !important;
        height: 29px !important;
        min-height: 29px !important;
        margin: 0 !important;
        padding: 3px 4px !important;
        border: 1px solid #b6c3a8 !important;
        border-radius: 6px !important;
        background: rgba(255,253,247,.68) !important;
        font-size: 11px !important;
        line-height: 20px !important;
        white-space: nowrap !important;
        cursor: pointer !important;
        box-sizing: border-box !important;
    }

    body.map :is(.travian-mobile-map-dialog, .travian-tablet-map-dialog) #tileDetails.trav47-map-tile .travian-map-troop-form[data-step="form"] .travian-map-action-options > label:has(input:checked) {
        border-color: #79965d !important;
        color: #36561e !important;
        background: linear-gradient(180deg, #edf5e5, #d9e8ce) !important;
        box-shadow: inset 0 0 0 1px rgba(255,255,255,.7) !important;
    }

    body.map :is(.travian-mobile-map-dialog, .travian-tablet-map-dialog) #tileDetails.trav47-map-tile .travian-map-troop-form[data-step="form"] .travian-map-action-options > .travian-map-redeploy-hero {
        grid-column: 1 / -1 !important;
        justify-self: center !important;
        width: auto !important;
        min-width: 132px !important;
    }

    body.map :is(.travian-mobile-map-dialog, .travian-tablet-map-dialog) #tileDetails.trav47-map-tile .travian-map-troop-form[data-step="form"] .travian-map-action-options input[type="radio"] {
        flex: 0 0 17px !important;
        width: 17px !important;
        height: 17px !important;
        margin: 0 !important;
        border-color: #8297a1 !important;
        background-color: #fff !important;
        background-position: center !important;
        background-repeat: no-repeat !important;
        box-shadow: inset 0 1px 2px rgba(42, 65, 76, .12) !important;
        box-sizing: border-box !important;
    }

    body.map :is(.travian-mobile-map-dialog, .travian-tablet-map-dialog) #tileDetails.trav47-map-tile .travian-map-troop-form[data-step="form"] .travian-map-action-options input[type="radio"]:checked {
        border-color: #577d28 !important;
        background-color: #6f9935 !important;
        box-shadow: inset 0 0 0 4px #fff !important;
    }

    body.map :is(.travian-mobile-map-dialog, .travian-tablet-map-dialog) #tileDetails.trav47-map-tile .travian-map-troop-form[data-step="form"] .travian-map-hero-unit {
        position: relative !important;
        cursor: pointer !important;
    }

    body.map :is(.travian-mobile-map-dialog, .travian-tablet-map-dialog) #tileDetails.trav47-map-tile .travian-map-troop-form[data-step="form"] .travian-map-hero-unit:has(.travian-map-hero-check:checked) {
        border-color: #79965d !important;
        background: linear-gradient(180deg, #edf5e5, #d9e8ce) !important;
        box-shadow: inset 0 0 0 1px rgba(255,255,255,.7), 0 1px 2px rgba(66,45,26,.08) !important;
    }

    body.map :is(.travian-mobile-map-dialog, .travian-tablet-map-dialog) #tileDetails.trav47-map-tile .travian-map-troop-form[data-step="form"] .travian-map-hero-unit > .travian-map-hero-name {
        grid-column: 2 !important;
        grid-row: 1 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 100% !important;
        min-width: 0 !important;
        height: 23px !important;
        padding: 2px 3px !important;
        margin: 0 !important;
        border: 1px solid #a9b99a !important;
        border-radius: 5px !important;
        color: #35402a !important;
        background: rgba(255,253,247,.95) !important;
        box-shadow: inset 0 1px 2px rgba(66,45,26,.1) !important;
        font-size: 11px !important;
        font-weight: 700 !important;
        line-height: 17px !important;
        text-align: center !important;
        box-sizing: border-box !important;
    }

    body.map :is(.travian-mobile-map-dialog, .travian-tablet-map-dialog) #tileDetails.trav47-map-tile .travian-map-troop-form[data-step="form"] .travian-map-hero-check {
        position: absolute !important;
        width: 1px !important;
        height: 1px !important;
        padding: 0 !important;
        margin: 0 !important;
        overflow: hidden !important;
        opacity: 0 !important;
        pointer-events: none !important;
    }

    body.map :is(.travian-mobile-map-dialog, .travian-tablet-map-dialog) #tileDetails.trav47-map-tile .travian-map-troop-form[data-step="form"] .travian-map-hero-unit .travian-map-hero-select {
        grid-column: 3 !important;
        grid-row: 1 !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 0 !important;
        justify-self: center !important;
        width: 17px !important;
        height: 17px !important;
        padding: 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        color: transparent !important;
        background: transparent !important;
        font-family: inherit !important;
        font-size: 11px !important;
        font-weight: 700 !important;
        line-height: 17px !important;
        text-align: center !important;
        box-sizing: border-box !important;
    }

    body.map :is(.travian-mobile-map-dialog, .travian-tablet-map-dialog) #tileDetails.trav47-map-tile .travian-map-troop-form[data-step="form"] .travian-map-hero-unit .travian-map-hero-select::before {
        content: "" !important;
        display: block !important;
        width: 17px !important;
        height: 17px !important;
        border: 1px solid #8297a1 !important;
        border-radius: 5px !important;
        background: #fff !important;
        box-shadow: inset 0 1px 2px rgba(42, 65, 76, .12) !important;
        box-sizing: border-box !important;
    }

    body.map :is(.travian-mobile-map-dialog, .travian-tablet-map-dialog) #tileDetails.trav47-map-tile .travian-map-troop-form[data-step="form"] .travian-map-hero-check:checked + .travian-map-hero-select {
        border-color: transparent !important;
        color: transparent !important;
        background: transparent !important;
    }

    body.map :is(.travian-mobile-map-dialog, .travian-tablet-map-dialog) #tileDetails.trav47-map-tile .travian-map-troop-form[data-step="form"] .travian-map-hero-check:checked + .travian-map-hero-select::before {
        border-color: #577d28 !important;
        background: #6f9935 !important;
        box-shadow: inset 0 0 0 2px #e8f2db !important;
    }

    body.map :is(.travian-mobile-map-dialog, .travian-tablet-map-dialog) #tileDetails.trav47-map-tile .travian-map-action-target {
        min-width: 0 !important;
        overflow: hidden !important;
        text-align: right !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }

    body.map :is(.travian-mobile-map-dialog, .travian-tablet-map-dialog) #tileDetails.trav47-map-tile .travian-map-action-back {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        min-width: 46px !important;
        height: 25px !important;
        padding: 2px 7px !important;
        border: 1px solid #a99772 !important;
        border-radius: 6px !important;
        color: #4b453a !important;
        background: linear-gradient(#fffdf7, #e9dfc9) !important;
        box-shadow: inset 0 1px 0 #fff, 0 1px 2px rgba(66,45,26,.12) !important;
        font-size: 10px !important;
        font-weight: 700 !important;
        cursor: pointer !important;
    }

    body.map :is(.travian-mobile-map-dialog, .travian-tablet-map-dialog) #tileDetails.trav47-map-tile .travian-map-merchant-status,
    body.map :is(.travian-mobile-map-dialog, .travian-tablet-map-dialog) #tileDetails.trav47-map-tile .travian-map-merchant-summary {
        display: flex !important;
        flex-wrap: wrap !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 5px 12px !important;
        padding: 5px 7px !important;
        border: 1px solid #cfc4aa !important;
        border-radius: 3px !important;
        background: rgba(255,253,247,.72) !important;
        color: #4b453a !important;
        white-space: nowrap !important;
    }

    body.map :is(.travian-mobile-map-dialog, .travian-tablet-map-dialog) #tileDetails.trav47-map-tile .travian-map-resource-grid {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 5px !important;
    }

    body.map :is(.travian-mobile-map-dialog, .travian-tablet-map-dialog) #tileDetails.trav47-map-tile .travian-map-resource-field {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) 82px 76px !important;
        grid-template-rows: auto !important;
        align-items: center !important;
        gap: 6px !important;
        min-height: 39px !important;
        padding: 4px 5px !important;
        border: 1px solid #cfc4aa !important;
        border-radius: 3px !important;
        background: #fffdf7 !important;
        box-sizing: border-box !important;
    }

    body.map :is(.travian-mobile-map-dialog, .travian-tablet-map-dialog) #tileDetails.trav47-map-tile .travian-map-resource-name {
        grid-column: 1 !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        justify-content: center !important;
        gap: 1px !important;
        min-width: 0 !important;
        cursor: pointer !important;
    }

    body.map :is(.travian-mobile-map-dialog, .travian-tablet-map-dialog) #tileDetails.trav47-map-tile .travian-map-resource-name > span,
    body.map :is(.travian-mobile-map-dialog, .travian-tablet-map-dialog) #tileDetails.trav47-map-tile .travian-map-resource-summary > span {
        display: inline-flex !important;
        align-items: center !important;
        gap: 4px !important;
        white-space: nowrap !important;
    }

    body.map :is(.travian-mobile-map-dialog, .travian-tablet-map-dialog) #tileDetails.trav47-map-tile .travian-map-resource-field input.text {
        grid-column: 2 !important;
        grid-row: 1 !important;
        width: 82px !important;
        height: 27px !important;
        padding: 2px 4px !important;
        border: 1px solid #b8aa88 !important;
        border-radius: 3px !important;
        color: #35402a !important;
        background: #fffdf7 !important;
        font-size: 11px !important;
        text-align: center !important;
        box-sizing: border-box !important;
    }

    body.map :is(.travian-mobile-map-dialog, .travian-tablet-map-dialog) #tileDetails.trav47-map-tile .travian-map-resource-name small {
        color: #746b59 !important;
        font-size: 9px !important;
        white-space: nowrap !important;
    }

    body.map :is(.travian-mobile-map-dialog, .travian-tablet-map-dialog) #tileDetails.trav47-map-tile .travian-map-resource-load {
        grid-column: 3 !important;
        grid-row: 1 !important;
        display: inline-flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 0 !important;
        width: 76px !important;
        height: 29px !important;
        padding: 1px 4px !important;
        border: 1px solid #a99772 !important;
        border-radius: 4px !important;
        color: #4b453a !important;
        background: linear-gradient(180deg, #fffdf7 0%, #e9dfc9 100%) !important;
        box-shadow: inset 0 1px 0 #fff, 0 1px 2px rgba(66,45,26,.13) !important;
        font-family: inherit !important;
        line-height: 12px !important;
        white-space: nowrap !important;
        cursor: pointer !important;
        box-sizing: border-box !important;
    }

    body.map :is(.travian-mobile-map-dialog, .travian-tablet-map-dialog) #tileDetails.trav47-map-tile .travian-map-resource-load:disabled {
        border-color: #c8d0d4 !important;
        color: #929da2 !important;
        background: #e8edef !important;
        box-shadow: none !important;
        cursor: default !important;
        opacity: .68 !important;
    }

    body.map :is(.travian-mobile-map-dialog, .travian-tablet-map-dialog) #tileDetails.trav47-map-tile .travian-map-resource-load:active {
        background: linear-gradient(180deg, #dbe8ed 0%, #f7fbfc 100%) !important;
        transform: translateY(1px) !important;
    }

    body.map :is(.travian-mobile-map-dialog, .travian-tablet-map-dialog) #tileDetails.trav47-map-tile .travian-map-resource-load > b {
        font-size: 11px !important;
        font-weight: 700 !important;
    }

    body.map :is(.travian-mobile-map-dialog, .travian-tablet-map-dialog) #tileDetails.trav47-map-tile .travian-map-resource-summary {
        display: flex !important;
        flex-wrap: wrap !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 6px !important;
        padding: 7px !important;
        border: 1px solid #cfc4aa !important;
        border-radius: 3px !important;
        background: #fffdf7 !important;
    }

    body.map :is(.travian-mobile-map-dialog, .travian-tablet-map-dialog) #tileDetails.trav47-map-tile .travian-map-resource-summary > span {
        min-width: 66px !important;
        justify-content: center !important;
        padding: 3px 5px !important;
        border-radius: 3px !important;
        background: #eef0dc !important;
    }

    body.map :is(.travian-mobile-map-dialog, .travian-tablet-map-dialog) #tileDetails.trav47-map-tile .travian-map-merchant-confirm .travian-map-resource-summary {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        align-items: stretch !important;
        gap: 4px !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }

    body.map :is(.travian-mobile-map-dialog, .travian-tablet-map-dialog) #tileDetails.trav47-map-tile .travian-map-merchant-confirm .travian-map-resource-summary > span {
        width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
    }

    body.map :is(.travian-mobile-map-dialog, .travian-tablet-map-dialog) #tileDetails.trav47-map-tile .travian-map-action-buttons {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 8px !important;
        margin-top: auto !important;
        transform: none !important;
    }

    body.map :is(.travian-mobile-map-dialog, .travian-tablet-map-dialog) #tileDetails.trav47-map-tile .travian-map-merchant-form .travian-map-action-buttons {
        padding-top: 10px !important;
        box-sizing: border-box !important;
    }

    body.map :is(.travian-mobile-map-dialog, .travian-tablet-map-dialog) #tileDetails.trav47-map-tile .travian-map-merchant-form .travian-map-action-error:not(:empty) {
        display: block !important;
        width: 100% !important;
        min-height: 24px !important;
        padding: 4px 7px !important;
        margin: 0 !important;
        border: 1px solid #d4a2a0 !important;
        border-radius: 5px !important;
        color: #92342f !important;
        background: #fff0ef !important;
        font-size: 10px !important;
        line-height: 15px !important;
        text-align: center !important;
        box-sizing: border-box !important;
    }

    body.map :is(.travian-mobile-map-dialog, .travian-tablet-map-dialog) #tileDetails.trav47-map-tile .travian-map-action-submit:disabled {
        border-color: #9ca9a0 !important;
        color: #e9eeeb !important;
        background: #87928b !important;
        box-shadow: none !important;
        cursor: default !important;
        opacity: .72 !important;
    }

    /* The confirmation view has only a short summary.  Do not stretch it to
       the action panel height or push its buttons to the bottom of the dialog. */
    body.map :is(.travian-mobile-map-dialog, .travian-tablet-map-dialog) #tileDetails.trav47-map-tile .travian-map-confirm-form {
        flex: 0 0 auto !important;
        min-height: 0 !important;
        height: auto !important;
        justify-content: flex-start !important;
        gap: 8px !important;
        padding: 1px !important;
        overflow: visible !important;
    }

    body.map :is(.travian-mobile-map-dialog, .travian-tablet-map-dialog) #tileDetails.trav47-map-tile .travian-map-confirm-form .travian-map-confirm-units {
        display: flex !important;
        flex-wrap: wrap !important;
        align-items: flex-start !important;
        justify-content: center !important;
        gap: 6px !important;
        min-height: 55px !important;
        padding: 6px !important;
        overflow: visible !important;
        border: 1px solid #c6d3cb !important;
        border-radius: 7px !important;
        background: rgba(255,255,255,.48) !important;
        box-shadow: inset 0 1px 0 rgba(255,255,255,.82) !important;
        box-sizing: border-box !important;
    }

    body.map :is(.travian-mobile-map-dialog, .travian-tablet-map-dialog) #tileDetails.trav47-map-tile .travian-map-confirm-form .travian-map-confirm-units > span {
        display: inline-flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 5px !important;
        width: 44px !important;
        min-width: 44px !important;
        min-height: 54px !important;
        padding: 5px 3px 4px !important;
        overflow: visible !important;
        border: 1px solid #cedbd3 !important;
        border-radius: 6px !important;
        background: linear-gradient(180deg, #fbfcfa, #e9f0eb) !important;
        box-shadow: inset 0 1px 0 #fff !important;
        box-sizing: border-box !important;
    }

    body.map :is(.travian-mobile-map-dialog, .travian-tablet-map-dialog) #tileDetails.trav47-map-tile .travian-map-confirm-form .travian-map-confirm-units > span > img.unit {
        display: block !important;
        flex: 0 0 auto !important;
        margin: 0 !important;
        transform: scale(1.25) !important;
        transform-origin: center center !important;
    }

    body.map :is(.travian-mobile-map-dialog, .travian-tablet-map-dialog) #tileDetails.trav47-map-tile .travian-map-confirm-form .travian-map-confirm-units > span > b {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        min-width: 35px !important;
        height: 19px !important;
        padding: 1px 5px !important;
        border: 1px solid #c5d4db !important;
        border-radius: 5px !important;
        color: #314b59 !important;
        background: rgba(255, 255, 255, .96) !important;
        box-shadow: inset 0 1px 0 rgba(255, 255, 255, .75) !important;
        font-size: 11px !important;
        line-height: 18px !important;
        box-sizing: border-box !important;
    }

    body.map :is(.travian-mobile-map-dialog, .travian-tablet-map-dialog) #tileDetails.trav47-map-tile .travian-map-confirm-form .travian-map-spy-options {
        display: flex !important;
        flex-wrap: nowrap !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 6px !important;
        width: 100% !important;
        padding: 6px !important;
        border: 1px solid #c6d3cb !important;
        border-radius: 7px !important;
        background: rgba(255,255,255,.5) !important;
        margin-inline: auto !important;
        text-align: center !important;
        box-sizing: border-box !important;
    }

    body.map :is(.travian-mobile-map-dialog, .travian-tablet-map-dialog) #tileDetails.trav47-map-tile .travian-map-confirm-form .travian-map-spy-options > label {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        flex: 1 1 0 !important;
        gap: 4px !important;
        margin: 0 !important;
        min-height: 30px !important;
        padding: 3px 5px !important;
        border: 1px solid #cbd8d0 !important;
        border-radius: 5px !important;
        background: rgba(246,249,246,.84) !important;
        font-family: inherit !important;
        font-size: 11px !important;
        line-height: 20px !important;
        text-align: center !important;
        white-space: nowrap !important;
    }

    body.map :is(.travian-mobile-map-dialog, .travian-tablet-map-dialog) #tileDetails.trav47-map-tile .travian-map-confirm-form .travian-map-artefact-options {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 100% !important;
        overflow: visible !important;
        padding: 6px !important;
        border: 1px solid #c6d3cb !important;
        border-radius: 7px !important;
        background: rgba(255,255,255,.5) !important;
        box-sizing: border-box !important;
        font-family: inherit !important;
        text-align: center !important;
    }

    body.map :is(.travian-mobile-map-dialog, .travian-tablet-map-dialog) #tileDetails.trav47-map-tile .travian-map-confirm-form .travian-map-artefact-options > label {
        display: inline-flex !important;
        flex: 0 0 100% !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 5px !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 auto !important;
        padding-inline: 4px !important;
        direction: rtl !important;
        font-family: inherit !important;
        font-size: 11px !important;
        line-height: 20px !important;
        text-align: center !important;
        white-space: nowrap !important;
    }

    body.map :is(.travian-mobile-map-dialog, .travian-tablet-map-dialog) #tileDetails.trav47-map-tile .travian-map-confirm-form .travian-map-option-title,
    body.map :is(.travian-mobile-map-dialog, .travian-tablet-map-dialog) #tileDetails.trav47-map-tile .travian-map-confirm-form .travian-map-artefact-name {
        display: inline-block !important;
        overflow: visible !important;
        font-family: inherit !important;
        text-align: center !important;
        text-overflow: clip !important;
        white-space: nowrap !important;
    }

    body.map :is(.travian-mobile-map-dialog, .travian-tablet-map-dialog) #tileDetails.trav47-map-tile .travian-map-confirm-form .travian-arrival-clock {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        min-width: 48px !important;
        height: 20px !important;
        padding: 1px 5px 2px !important;
        border: 1px solid rgba(126, 155, 101, .45) !important;
        border-radius: 4px !important;
        color: #405f24 !important;
        background: linear-gradient(180deg, rgba(248, 252, 243, .96), rgba(226, 238, 213, .9)) !important;
        box-shadow: inset 0 1px 0 rgba(255, 255, 255, .9) !important;
        font-size: 12px !important;
        font-weight: 700 !important;
        line-height: 17px !important;
        text-align: center !important;
        box-sizing: border-box !important;
    }

    body.map :is(.travian-mobile-map-dialog, .travian-tablet-map-dialog) #tileDetails.trav47-map-tile .travian-map-confirm-form .travian-map-action-options:has(.travian-catapult-target) {
        position: relative !important;
        z-index: 20 !important;
        display: flex !important;
        flex-wrap: wrap !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 6px !important;
        width: 100% !important;
        padding: 6px !important;
        overflow: visible !important;
        border: 1px solid #c6d3cb !important;
        border-radius: 7px !important;
        background: rgba(255,255,255,.5) !important;
        box-sizing: border-box !important;
        font-size: 11px !important;
        font-family: inherit !important;
    }

    body.map :is(.travian-mobile-map-dialog, .travian-tablet-map-dialog) #tileDetails.trav47-map-tile .travian-map-confirm-form .travian-map-action-options:has(.travian-catapult-target) > label {
        position: relative !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 6px !important;
        font-size: 11px !important;
        font-family: inherit !important;
        text-align: center !important;
    }

    body.map :is(.travian-mobile-map-dialog, .travian-tablet-map-dialog) #tileDetails.trav47-map-tile .travian-map-catapult-options {
        flex-wrap: nowrap !important;
        gap: 5px !important;
    }

    body.map :is(.travian-mobile-map-dialog, .travian-tablet-map-dialog) #tileDetails.trav47-map-tile .travian-map-catapult-label {
        flex: 0 0 auto !important;
        font-size: 11px !important;
        white-space: nowrap !important;
    }

    body.map :is(.travian-mobile-map-dialog, .travian-tablet-map-dialog) #tileDetails.trav47-map-tile .travian-map-catapult-selects {
        display: flex !important;
        flex: 1 1 auto !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 5px !important;
        min-width: 0 !important;
    }

    body.map :is(.travian-mobile-map-dialog, .travian-tablet-map-dialog) #tileDetails.trav47-map-tile .travian-map-catapult-options.is-double .travian-catapult-select {
        flex: 1 1 0 !important;
        width: auto !important;
        min-width: 0 !important;
        max-width: 122px !important;
    }

    body.map :is(.travian-mobile-map-dialog, .travian-tablet-map-dialog) #tileDetails.trav47-map-tile select.travian-catapult-native-select {
        position: absolute !important;
        width: 1px !important;
        height: 1px !important;
        padding: 0 !important;
        margin: 0 !important;
        overflow: hidden !important;
        opacity: 0 !important;
        pointer-events: none !important;
    }

    body.map :is(.travian-mobile-map-dialog, .travian-tablet-map-dialog) #tileDetails.trav47-map-tile .travian-catapult-select {
        position: relative !important;
        display: inline-block !important;
        width: 122px !important;
        min-width: 122px !important;
        font-family: inherit !important;
        text-align: center !important;
        vertical-align: middle !important;
    }

    body.map :is(.travian-mobile-map-dialog, .travian-tablet-map-dialog) #tileDetails.trav47-map-tile .travian-catapult-select-toggle {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) 16px !important;
        align-items: center !important;
        width: 100% !important;
        height: 27px !important;
        padding: 2px 5px 2px 3px !important;
        border: 1px solid #a8bcc6 !important;
        border-radius: 3px !important;
        color: #314b59 !important;
        background: linear-gradient(180deg, #ffffff 0%, #e6f0f4 100%) !important;
        box-shadow: inset 0 1px 0 rgba(255, 255, 255, .9), 0 1px 2px rgba(48, 76, 89, .12) !important;
        font-family: inherit !important;
        font-size: 11px !important;
        font-weight: 400 !important;
        line-height: 21px !important;
        text-align: center !important;
        cursor: pointer !important;
        box-sizing: border-box !important;
    }

    body.map :is(.travian-mobile-map-dialog, .travian-tablet-map-dialog) #tileDetails.trav47-map-tile .travian-catapult-select-label {
        min-width: 0 !important;
        overflow: hidden !important;
        font-family: inherit !important;
        text-align: center !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }

    body.map :is(.travian-mobile-map-dialog, .travian-tablet-map-dialog) #tileDetails.trav47-map-tile .travian-catapult-select-arrow {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 16px !important;
        height: 16px !important;
        border-radius: 0 !important;
        color: #55762d !important;
        background: transparent !important;
        font-family: Arial, sans-serif !important;
        font-size: 13px !important;
        line-height: 14px !important;
    }

    body.map :is(.travian-mobile-map-dialog, .travian-tablet-map-dialog) #tileDetails.trav47-map-tile .travian-catapult-select-menu {
        position: absolute !important;
        top: calc(100% + 4px) !important;
        right: 50% !important;
        z-index: 80 !important;
        display: none !important;
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 0 !important;
        width: min(190px, calc(100vw - 34px)) !important;
        max-height: 225px !important;
        padding: 3px !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        scrollbar-width: none !important;
        -ms-overflow-style: none !important;
        border: 1px solid #9eb4be !important;
        border-radius: 4px !important;
        background: linear-gradient(180deg, #fbfdfe 0%, #e6eff3 100%) !important;
        box-shadow: 0 5px 14px rgba(35, 58, 69, .28), inset 0 1px 0 #fff !important;
        transform: translateX(50%) !important;
        box-sizing: border-box !important;
    }

    body.map :is(.travian-mobile-map-dialog, .travian-tablet-map-dialog) #tileDetails.trav47-map-tile .travian-catapult-select-menu::-webkit-scrollbar {
        display: none !important;
        width: 0 !important;
        height: 0 !important;
    }

    body.map :is(.travian-mobile-map-dialog, .travian-tablet-map-dialog) #tileDetails.trav47-map-tile .travian-catapult-select.is-open .travian-catapult-select-menu {
        display: grid !important;
    }

    /* The target picker is portalled outside the wave/dialog containers so it
       can use the full safe area between the game header and footer. */
    body.map .travian-catapult-select-menu.is-portal {
        position: fixed !important;
        z-index: 20000 !important;
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 0 !important;
        padding: 4px !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        scrollbar-width: none !important;
        -ms-overflow-style: none !important;
        border: 1px solid #8fa7b2 !important;
        border-radius: 6px !important;
        background: linear-gradient(180deg, #fbfdfe 0%, #e6eff3 100%) !important;
        box-shadow: 0 7px 20px rgba(25, 45, 55, .34), inset 0 1px 0 #fff !important;
        transform: none !important;
        box-sizing: border-box !important;
        direction: rtl !important;
    }

    body.map .travian-catapult-select-menu.is-portal[hidden] {
        display: none !important;
    }

    body.map .travian-catapult-select-menu.is-portal:not([hidden]) {
        display: grid !important;
    }

    body.map .travian-catapult-select-menu.is-portal::-webkit-scrollbar {
        display: none !important;
        width: 0 !important;
        height: 0 !important;
    }

    body.map .travian-catapult-select-menu.is-portal .travian-catapult-select-option {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 100% !important;
        min-width: 0 !important;
        height: 28px !important;
        padding: 3px 8px !important;
        margin: 0 !important;
        border: 0 !important;
        border-bottom: 1px solid #d5e0e5 !important;
        border-radius: 0 !important;
        color: #314b59 !important;
        background: transparent !important;
        box-shadow: none !important;
        font-family: inherit !important;
        font-size: 11px !important;
        font-weight: 400 !important;
        line-height: 22px !important;
        text-align: center !important;
        white-space: nowrap !important;
        box-sizing: border-box !important;
        cursor: pointer !important;
    }

    body.map .travian-catapult-select-menu.is-portal .travian-catapult-select-option:last-child {
        border-bottom: 0 !important;
    }

    body.map .travian-catapult-select-menu.is-portal .travian-catapult-select-option.is-selected {
        color: #315316 !important;
        background: #dfeccf !important;
        font-weight: 700 !important;
    }

    body.map :is(.travian-mobile-map-dialog, .travian-tablet-map-dialog) #tileDetails.trav47-map-tile .travian-catapult-select-option {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        min-width: 0 !important;
        height: 25px !important;
        padding: 2px 8px !important;
        border: 0 !important;
        border-bottom: 1px solid #d5e0e5 !important;
        border-radius: 0 !important;
        color: #38515e !important;
        background: transparent !important;
        font-family: inherit !important;
        font-size: 11px !important;
        font-weight: 400 !important;
        line-height: 21px !important;
        text-align: center !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
        cursor: pointer !important;
        box-sizing: border-box !important;
    }

    body.map :is(.travian-mobile-map-dialog, .travian-tablet-map-dialog) #tileDetails.trav47-map-tile .travian-catapult-select-option:last-child {
        border-bottom: 0 !important;
    }

    body.map :is(.travian-mobile-map-dialog, .travian-tablet-map-dialog) #tileDetails.trav47-map-tile .travian-catapult-select-option:hover,
    body.map :is(.travian-mobile-map-dialog, .travian-tablet-map-dialog) #tileDetails.trav47-map-tile .travian-catapult-select-option.is-selected {
        color: #315316 !important;
        background: #dfeccf !important;
    }

    body.map :is(.travian-mobile-map-dialog, .travian-tablet-map-dialog) #tileDetails.trav47-map-tile .travian-map-confirm-form .travian-map-action-buttons {
        flex: 0 0 auto !important;
        direction: rtl !important;
        margin: 2px 0 0 !important;
        padding: 0 !important;
        transform: none !important;
    }

    body.map :is(.travian-mobile-map-dialog, .travian-tablet-map-dialog) #tileDetails.trav47-map-tile .travian-map-action-submit,
    body.map :is(.travian-mobile-map-dialog, .travian-tablet-map-dialog) #tileDetails.trav47-map-tile .travian-map-action-link {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        min-width: 82px !important;
        height: 34px !important;
        padding: 4px 13px !important;
        border-radius: 7px !important;
        font-family: inherit !important;
        font-size: 12px !important;
        font-weight: 700 !important;
        cursor: pointer !important;
    }

    body.map :is(.travian-mobile-map-dialog, .travian-tablet-map-dialog) #tileDetails.trav47-map-tile .travian-map-attack-train-add {
        min-width: 82px !important;
        white-space: nowrap !important;
    }

    body.map :is(.travian-mobile-map-dialog, .travian-tablet-map-dialog) #tileDetails.trav47-map-tile .travian-map-attack-train-confirm {
        display: flex !important;
        flex-direction: column !important;
        gap: 6px !important;
        height: 100% !important;
        min-height: 0 !important;
        padding: 7px !important;
        overflow: hidden !important;
        box-sizing: border-box !important;
    }

    body.map :is(.travian-mobile-map-dialog, .travian-tablet-map-dialog) #tileDetails.trav47-map-tile .travian-map-train-waves {
        display: grid !important;
        flex: 1 1 auto !important;
        gap: 6px !important;
        min-height: 0 !important;
        padding: 1px !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        scrollbar-width: none !important;
        -ms-overflow-style: none !important;
    }

    body.map :is(.travian-mobile-map-dialog, .travian-tablet-map-dialog) #tileDetails.trav47-map-tile .travian-map-train-waves::-webkit-scrollbar {
        display: none !important;
        width: 0 !important;
        height: 0 !important;
    }

    body.map :is(.travian-mobile-map-dialog, .travian-tablet-map-dialog) #tileDetails.trav47-map-tile .travian-map-train-wave {
        display: grid !important;
        gap: 5px !important;
        padding: 6px !important;
        border: 1px solid #c4d2d8 !important;
        border-radius: 7px !important;
        background: linear-gradient(180deg, rgba(255,255,255,.92), rgba(231,240,244,.9)) !important;
        box-shadow: inset 0 1px 0 #fff, 0 1px 2px rgba(43,68,80,.1) !important;
        box-sizing: border-box !important;
    }

    body.map :is(.travian-mobile-map-dialog, .travian-tablet-map-dialog) #tileDetails.trav47-map-tile .travian-map-train-wave > header {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 8px !important;
        width: 100% !important;
        direction: rtl !important;
        color: #3f5a67 !important;
        font-size: 12px !important;
        font-weight: 700 !important;
        text-align: right !important;
    }

    body.map :is(.travian-mobile-map-dialog, .travian-tablet-map-dialog) #tileDetails.trav47-map-tile .travian-map-train-wave-actions {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 4px !important;
        margin-inline-start: auto !important;
        direction: rtl !important;
    }

    body.map :is(.travian-mobile-map-dialog, .travian-tablet-map-dialog) #tileDetails.trav47-map-tile :is(.travian-map-train-wave-edit, .travian-map-train-wave-copy) {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        height: 24px !important;
        min-height: 24px !important;
        margin: 0 !important;
        border: 1px solid #9eb0b8 !important;
        border-radius: 5px !important;
        color: #3e5965 !important;
        background: linear-gradient(180deg, #fff 0%, #e3ebe6 100%) !important;
        box-shadow: inset 0 1px 0 #fff, 0 1px 2px rgba(45,68,58,.12) !important;
        font-family: inherit !important;
        font-size: 10px !important;
        font-weight: 700 !important;
        line-height: 20px !important;
        box-sizing: border-box !important;
        cursor: pointer !important;
    }

    body.map :is(.travian-mobile-map-dialog, .travian-tablet-map-dialog) #tileDetails.trav47-map-tile .travian-map-train-wave-edit {
        width: 26px !important;
        min-width: 26px !important;
        padding: 3px 6px !important;
    }

    body.map :is(.travian-mobile-map-dialog, .travian-tablet-map-dialog) #tileDetails.trav47-map-tile .travian-map-train-wave-edit svg {
        display: block !important;
        width: 10px !important;
        height: 14px !important;
        fill: currentColor !important;
    }

    body.map :is(.travian-mobile-map-dialog, .travian-tablet-map-dialog) #tileDetails.trav47-map-tile .travian-map-train-wave-copy {
        width: auto !important;
        min-width: 38px !important;
        padding: 2px 7px !important;
        white-space: nowrap !important;
    }

    body.map :is(.travian-mobile-map-dialog, .travian-tablet-map-dialog) #tileDetails.trav47-map-tile .travian-map-train-wave .travian-map-catapult-options {
        display: flex !important;
        flex-wrap: nowrap !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 4px !important;
        width: 100% !important;
        min-width: 0 !important;
    }

    body.map :is(.travian-mobile-map-dialog, .travian-tablet-map-dialog) #tileDetails.trav47-map-tile .travian-map-train-wave .travian-map-catapult-selects {
        flex: 0 1 auto !important;
        width: auto !important;
        gap: 4px !important;
    }

    body.map :is(.travian-mobile-map-dialog, .travian-tablet-map-dialog) #tileDetails.trav47-map-tile .travian-map-train-wave .travian-map-catapult-options.is-double .travian-catapult-select {
        flex: 0 0 96px !important;
        width: 96px !important;
        min-width: 96px !important;
        max-width: 96px !important;
    }

    body.map :is(.travian-mobile-map-dialog, .travian-tablet-map-dialog) #tileDetails.trav47-map-tile .travian-map-train-wave .travian-map-catapult-options.is-double select.travian-catapult-target:not(.travian-catapult-native-select) {
        flex: 0 0 96px !important;
        width: 96px !important;
        min-width: 96px !important;
        max-width: 96px !important;
    }

    body.map :is(.travian-mobile-map-dialog, .travian-tablet-map-dialog) #tileDetails.trav47-map-tile .travian-map-train-units {
        display: flex !important;
        flex-wrap: wrap !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 4px !important;
    }

    body.map :is(.travian-mobile-map-dialog, .travian-tablet-map-dialog) #tileDetails.trav47-map-tile .travian-map-train-units > span {
        display: inline-grid !important;
        grid-template-rows: 22px 18px !important;
        place-items: center !important;
        min-width: 34px !important;
        padding: 2px 3px !important;
        border: 1px solid #d0dcdf !important;
        border-radius: 5px !important;
        background: rgba(255,255,255,.72) !important;
        box-sizing: border-box !important;
    }

    body.map :is(.travian-mobile-map-dialog, .travian-tablet-map-dialog) #tileDetails.trav47-map-tile .travian-map-train-units img.unit {
        margin: 0 !important;
    }

    body.map :is(.travian-mobile-map-dialog, .travian-tablet-map-dialog) #tileDetails.trav47-map-tile .travian-map-train-units b,
    body.map :is(.travian-mobile-map-dialog, .travian-tablet-map-dialog) #tileDetails.trav47-map-tile .travian-map-train-time {
        font-size: 11px !important;
        white-space: nowrap !important;
    }

    body.map :is(.travian-mobile-map-dialog, .travian-tablet-map-dialog) #tileDetails.trav47-map-tile .travian-map-train-time {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 8px !important;
        width: 100% !important;
        direction: rtl !important;
        color: #49626d !important;
        text-align: initial !important;
    }

    body.map :is(.travian-mobile-map-dialog, .travian-tablet-map-dialog) #tileDetails.trav47-map-tile :is(.travian-map-train-duration, .travian-map-train-arrival) {
        display: inline-flex !important;
        align-items: center !important;
        gap: 3px !important;
        min-width: 0 !important;
        white-space: nowrap !important;
    }

    body.map :is(.travian-mobile-map-dialog, .travian-tablet-map-dialog) #tileDetails.trav47-map-tile .travian-map-train-arrival {
        margin-inline-start: auto !important;
    }

    body.map :is(.travian-mobile-map-dialog, .travian-tablet-map-dialog) #tileDetails.trav47-map-tile .travian-map-action-submit {
        border: 1px solid #557a2d !important;
        color: #fff !important;
        background: linear-gradient(180deg, #82aa49 0%, #5d8730 100%) !important;
        box-shadow: inset 0 1px 0 rgba(255,255,255,.36), 0 2px 3px rgba(48,75,29,.18) !important;
        text-shadow: 0 1px 0 rgba(46,69,28,.7) !important;
    }

    body.map :is(.travian-mobile-map-dialog, .travian-tablet-map-dialog) #tileDetails.trav47-map-tile .travian-map-action-link {
        border: 1px solid #aebdb5 !important;
        color: #3e5965 !important;
        background: linear-gradient(180deg, #fff 0%, #e3ebe6 100%) !important;
        box-shadow: inset 0 1px 0 #fff, 0 1px 2px rgba(45,68,58,.12) !important;
        text-shadow: none !important;
    }

    body.map :is(.travian-mobile-map-dialog, .travian-tablet-map-dialog) #tileDetails.trav47-map-tile .travian-map-confirm-time {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        align-items: stretch !important;
        gap: 6px !important;
        width: 100% !important;
        color: #405761 !important;
        font-family: inherit !important;
        font-size: 10px !important;
        white-space: nowrap !important;
    }

    body.map :is(.travian-mobile-map-dialog, .travian-tablet-map-dialog) #tileDetails.trav47-map-tile .travian-map-confirm-time > span,
    body.map :is(.travian-mobile-map-dialog, .travian-tablet-map-dialog) #tileDetails.trav47-map-tile .travian-map-confirm-time > em {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 5px !important;
        min-width: 0 !important;
        min-height: 31px !important;
        padding: 4px 7px !important;
        margin: 0 !important;
        border: 1px solid #c6d3cb !important;
        border-radius: 6px !important;
        background: rgba(255,255,255,.58) !important;
        font-family: inherit !important;
        font-style: normal !important;
        box-sizing: border-box !important;
    }

    body.map :is(.travian-mobile-map-dialog, .travian-tablet-map-dialog) #tileDetails.trav47-map-tile .travian-map-confirm-duration > b {
        color: #426625 !important;
        font-size: 12px !important;
        direction: ltr !important;
        unicode-bidi: isolate !important;
    }

    body.map :is(.travian-mobile-map-dialog, .travian-tablet-map-dialog) #tileDetails.trav47-map-tile .travian-map-action-footer {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        justify-content: flex-start !important;
        gap: 6px !important;
        width: 100% !important;
        margin-top: auto !important;
    }

    body.map :is(.travian-mobile-map-dialog, .travian-tablet-map-dialog) #tileDetails.trav47-map-tile .travian-map-action-error:empty {
        display: none !important;
    }

    body.map :is(.travian-mobile-map-dialog, .travian-tablet-map-dialog) #tileDetails.trav47-map-tile .travian-map-action-empty {
        padding: 14px 8px !important;
        border: 1px solid #c6d3cb !important;
        border-radius: 7px !important;
        background: rgba(255,255,255,.55) !important;
        text-align: center !important;
    }

    body.map :is(.travian-mobile-map-dialog, .travian-tablet-map-dialog) #tileDetails.trav47-map-tile .travian-map-action-success {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 10px !important;
        width: 100% !important;
        min-height: 190px !important;
        padding: 18px 14px !important;
        margin: auto !important;
        border: 1px solid #b9cbbd !important;
        border-radius: 10px !important;
        color: #314b59 !important;
        background: linear-gradient(180deg, rgba(251,253,250,.96), rgba(226,237,229,.96)) !important;
        box-shadow: inset 0 1px 0 #fff, 0 3px 10px rgba(43,68,54,.13) !important;
        font-family: inherit !important;
        text-align: center !important;
        box-sizing: border-box !important;
    }

    body.map :is(.travian-mobile-map-dialog, .travian-tablet-map-dialog) #tileDetails.trav47-map-tile .travian-map-success-copy {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        gap: 4px !important;
    }

    body.map :is(.travian-mobile-map-dialog, .travian-tablet-map-dialog) #tileDetails.trav47-map-tile .travian-map-success-copy > strong {
        color: #365927 !important;
        font-size: 14px !important;
        line-height: 20px !important;
    }

    body.map :is(.travian-mobile-map-dialog, .travian-tablet-map-dialog) #tileDetails.trav47-map-tile .travian-map-success-copy > span {
        color: #61736a !important;
        font-size: 11px !important;
        line-height: 17px !important;
    }

    body.map :is(.travian-mobile-map-dialog, .travian-tablet-map-dialog) #tileDetails.trav47-map-tile .travian-map-success-rally {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 7px !important;
        min-width: 178px !important;
        height: 36px !important;
        padding: 4px 14px !important;
        border: 1px solid #557a2d !important;
        border-radius: 7px !important;
        color: #fff !important;
        background: linear-gradient(180deg, #82aa49, #5d8730) !important;
        box-shadow: inset 0 1px 0 rgba(255,255,255,.34), 0 2px 4px rgba(48,75,29,.2) !important;
        font-family: inherit !important;
        font-size: 12px !important;
        font-weight: 700 !important;
        line-height: 26px !important;
        text-decoration: none !important;
        text-shadow: 0 1px 0 rgba(46,69,28,.65) !important;
        box-sizing: border-box !important;
    }

    body.map :is(.travian-mobile-map-dialog, .travian-tablet-map-dialog) #tileDetails.trav47-map-tile .travian-map-success-rally > span {
        font-family: Arial, sans-serif !important;
        font-size: 18px !important;
        line-height: 1 !important;
    }
}

/* iPad/tablet only: a compact tile dialog inside the map.  Phone and
   desktop dialog classes intentionally remain outside these rules. */
@media screen and (min-width: 621px) and (max-width: 1024px) {
    body.map .travian-tablet-map-dialog-wrapper {
        overflow: hidden !important;
        padding: 0 !important;
        box-sizing: border-box !important;
        border-radius: 0 !important;
        box-shadow: none !important;
    }

    body.map .travian-tablet-map-dialog,
    body.map .travian-tablet-map-dialog .dialog-container,
    body.map .travian-tablet-map-dialog .dialogContainer,
    body.map .travian-tablet-map-dialog .dialog-contents,
    body.map .travian-tablet-map-dialog .dialogContents,
    body.map .travian-tablet-map-dialog form,
    body.map .travian-tablet-map-dialog #dialogContent {
        width: 100% !important;
        height: 100% !important;
        min-width: 0 !important;
        min-height: 0 !important;
        padding: 0 !important;
        margin: 0 !important;
        box-sizing: border-box !important;
    }

    body.map .travian-tablet-map-dialog .dialog-contents,
    body.map .travian-tablet-map-dialog .dialogContents,
    body.map .travian-tablet-map-dialog #dialogContent {
        border: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
    }

    body.map .travian-tablet-map-dialog form {
        display: block !important;
    }

    body.map .travian-tablet-map-dialog {
        position: absolute !important;
        inset: 0 !important;
        max-width: none !important;
        max-height: none !important;
        border: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
    }

    body.map .travian-tablet-map-dialog .dialog-background-tl,
    body.map .travian-tablet-map-dialog .dialog-background-tc,
    body.map .travian-tablet-map-dialog .dialog-background-tr,
    body.map .travian-tablet-map-dialog .dialog-background-ml,
    body.map .travian-tablet-map-dialog .dialog-background-mc,
    body.map .travian-tablet-map-dialog .dialog-background-mr,
    body.map .travian-tablet-map-dialog .dialog-background-bl,
    body.map .travian-tablet-map-dialog .dialog-background-bc,
    body.map .travian-tablet-map-dialog .dialog-background-br,
    body.map .travian-tablet-map-dialog .dialogDragBar,
    body.map .travian-tablet-map-dialog .dialog-dragbar,
    body.map .travian-tablet-map-dialog .title,
    body.map .travian-tablet-map-dialog .dialog-contents > form > .buttons,
    body.map .travian-tablet-map-dialog .dialogContents > form > .buttons {
        display: none !important;
    }

    body.map .travian-tablet-map-dialog #tileDetails.trav47-map-tile {
        grid-template-columns: minmax(0, 1fr) minmax(135px, 42%) !important;
        grid-template-rows: auto 145px auto !important;
        gap: 8px 10px !important;
        padding: 8px 10px 10px !important;
        border-radius: 7px !important;
    }

    body.map .travian-tablet-map-dialog #tileDetails.trav47-map-tile > .trav47-map-tile__visual {
        min-height: 145px !important;
        height: 145px !important;
    }

    body.map .travian-tablet-map-dialog #tileDetails.trav47-map-tile--village > .trav47-map-tile__visual {
        min-height: 0 !important;
        height: auto !important;
        aspect-ratio: 319 / 218 !important;
        background-size: contain !important;
    }

    body.map .travian-tablet-map-dialog #tileDetails.trav47-map-tile--village {
        grid-template-rows: auto auto !important;
        row-gap: 8px !important;
    }

    body.map .travian-tablet-map-dialog #tileDetails.trav47-map-tile--village > .trav47-map-tile__visual {
        grid-row: 2 !important;
        align-self: start !important;
        border-radius: 5px !important;
    }

    body.map .travian-tablet-map-dialog #tileDetails.trav47-map-tile--village > .trav47-map-tile__actions {
        grid-row: 2 !important;
        align-self: start !important;
        margin-top: calc(68.34% + 5px) !important;
        border-top: 1px solid #b5a278 !important;
        border-radius: 5px !important;
    }

    body.map .travian-tablet-map-dialog #tileDetails.trav47-map-tile--village > .trav47-map-tile__details {
        grid-row: 2 !important;
    }

    body.map .travian-tablet-map-dialog #tileDetails.trav47-map-tile--oasis {
        grid-template-rows: auto auto !important;
        row-gap: 8px !important;
    }

    body.map .travian-tablet-map-dialog #tileDetails.trav47-map-tile--oasis > .trav47-map-tile__visual {
        grid-row: 2 !important;
        align-self: start !important;
        min-height: 0 !important;
        height: auto !important;
        aspect-ratio: 319 / 218 !important;
        background-size: 100% 100% !important;
    }

    body.map .travian-tablet-map-dialog #tileDetails.trav47-map-tile--oasis > .trav47-map-tile__actions {
        grid-row: 2 !important;
        align-self: start !important;
        margin-top: calc(68.34% + 5px) !important;
    }

    body.map .travian-tablet-map-dialog #tileDetails.trav47-map-tile--oasis > .trav47-map-tile__details {
        grid-row: 2 !important;
    }

    body.map .travian-tablet-map-dialog #tileDetails.trav47-map-tile > .trav47-map-tile__actions {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
    }
}

@media screen and (max-width: 620px) {
    body.map .travian-mobile-map-dialog-wrapper {
        border-radius: 0 !important;
        box-shadow: none !important;
    }
    body.map .travian-mobile-map-dialog .dialog-contents,
    body.map .travian-mobile-map-dialog .dialogContents,
    body.map .travian-mobile-map-dialog #dialogContent {
        border: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
    }
    body.map .travian-mobile-map-dialog form {
        display: block !important;
    }
    body.map .travian-mobile-map-dialog #tileDetails.trav47-map-tile {
        grid-template-columns:minmax(0,1fr) minmax(112px,36%) !important;
        grid-template-rows:auto 108px auto !important;
        gap:7px !important;
        width:100% !important;
        height:auto !important;
        max-width:none !important;
        padding:7px !important;
        overflow-x:hidden !important;
        overflow-y:auto !important;
        border-radius:7px !important;
    }
    body.map .travian-mobile-map-dialog #tileDetails.trav47-map-tile.trav47-map-tile--settleable {
        min-height:290px !important;
        align-content:start !important;
    }
    body.map .travian-mobile-map-dialog #tileDetails.trav47-map-tile.trav47-map-tile--settleable > .trav47-map-tile__visual,
    body.map .travian-mobile-map-dialog #tileDetails.trav47-map-tile.trav47-map-tile--settleable > .trav47-map-tile__actions,
    body.map .travian-mobile-map-dialog #tileDetails.trav47-map-tile.trav47-map-tile--settleable > .trav47-map-tile__details {
        transform:none !important;
    }
    body.map .travian-mobile-map-dialog #tileDetails.trav47-map-tile.trav47-map-tile--settleable > .trav47-map-tile__actions {
        gap:10px !important;
    }
    body.map .travian-mobile-map-dialog #tileDetails.trav47-map-tile.trav47-map-tile--settleable > .trav47-map-tile__actions > .option {
        height:23px !important;
        min-height:23px !important;
    }
    body.map .travian-cropfinder-tile-dialog #tileDetails.trav47-map-tile {
        border:2px solid #9b7734 !important;
        border-radius:7px !important;
        box-shadow:0 6px 16px rgba(47,35,15,.42) !important;
    }
    body.map .travian-mobile-map-dialog-wrapper.travian-cropfinder-tile-dialog,
    body.map .travian-cropfinder-tile-dialog .travian-mobile-map-dialog,
    body.map .travian-cropfinder-tile-dialog .dialog-container,
    body.map .travian-cropfinder-tile-dialog .dialog-contents,
    body.map .travian-cropfinder-tile-dialog form,
    body.map .travian-cropfinder-tile-dialog #dialogContent {
        overflow:visible !important;
    }
    body.map .travian-mobile-map-dialog #tileDetails.trav47-map-tile > .trav47-map-tile__title { min-height:29px !important; padding:4px 6px 4px 59px !important; font-size:12px !important; line-height:18px !important; }
    body.map .travian-mobile-map-dialog #tileDetails.trav47-map-tile > .trav47-map-tile__title .coordinatesWrapper { font-size:10px !important; }
    body.map .travian-mobile-map-dialog #tileDetails.trav47-map-tile > .trav47-map-tile__visual {
        min-height:108px !important;
        height:108px !important;
        align-self:start !important;
        background-position:center center !important;
        background-size:contain !important;
        background-color:#edf3e9 !important;
    }
    body.map .travian-mobile-map-dialog #tileDetails.trav47-map-tile--village > .trav47-map-tile__visual {
        min-height:0 !important;
        height:auto !important;
        aspect-ratio:319 / 218 !important;
        background-size:contain !important;
    }
    body.map .travian-mobile-map-dialog #tileDetails.trav47-map-tile--village {
        grid-template-rows:auto auto !important;
        row-gap:7px !important;
    }

    body.map .travian-mobile-map-dialog #tileDetails.trav47-map-tile--village > .trav47-map-tile__visual {
        grid-row:2 !important;
        align-self:start !important;
        border-radius:5px !important;
    }

    body.map .travian-mobile-map-dialog #tileDetails.trav47-map-tile--village > .trav47-map-tile__actions {
        grid-row:2 !important;
        align-self:start !important;
        margin-top:calc(68.34% + 5px) !important;
        border-top:1px solid #b5a278 !important;
        border-radius:5px !important;
    }

    body.map .travian-mobile-map-dialog #tileDetails.trav47-map-tile--village > .trav47-map-tile__details {
        grid-row:2 !important;
    }

    body.map .travian-mobile-map-dialog #tileDetails.trav47-map-tile--oasis {
        grid-template-rows:auto auto !important;
        row-gap:7px !important;
    }

    body.map .travian-mobile-map-dialog #tileDetails.trav47-map-tile--oasis > .trav47-map-tile__visual {
        grid-row:2 !important;
        align-self:start !important;
        min-height:0 !important;
        height:auto !important;
        aspect-ratio:319 / 218 !important;
        background-size:100% 100% !important;
    }

    body.map .travian-mobile-map-dialog #tileDetails.trav47-map-tile--oasis > .trav47-map-tile__actions {
        grid-row:2 !important;
        align-self:start !important;
        margin-top:calc(68.34% + 5px) !important;
    }

    body.map .travian-mobile-map-dialog #tileDetails.trav47-map-tile--oasis > .trav47-map-tile__details {
        grid-row:2 !important;
    }
    body.map .travian-mobile-map-dialog #tileDetails.trav47-map-tile > .trav47-map-tile__details {
        min-height:0 !important;
        height:auto !important;
        padding:6px !important;
        overflow:visible !important;
    }
    body.map .travian-mobile-map-dialog #tileDetails.trav47-map-tile > .trav47-map-tile__details table,
    body.map .travian-mobile-map-dialog #tileDetails.trav47-map-tile > .trav47-map-tile__details th,
    body.map .travian-mobile-map-dialog #tileDetails.trav47-map-tile > .trav47-map-tile__details td { font-size:11px !important; line-height:15px !important; }
    body.map .travian-mobile-map-dialog #tileDetails.trav47-map-tile .trav47-map-tile__field-summary {
        grid-template-columns:max-content minmax(0,1fr) !important;
        gap:2px !important;
        padding:2px 2px 4px !important;
    }
    body.map .travian-mobile-map-dialog #tileDetails.trav47-map-tile .trav47-map-tile__field-summary h3 {
        font-size:10.5px !important;
        line-height:15px !important;
    }
    body.map .travian-mobile-map-dialog #tileDetails.trav47-map-tile .trav47-map-tile__field-counts {
        justify-content:space-between !important;
        gap:1px !important;
    }
    body.map .travian-mobile-map-dialog #tileDetails.trav47-map-tile .trav47-map-tile__field-count {
        gap:1px !important;
        font-size:9.5px !important;
        line-height:15px !important;
    }
    body.map .travian-mobile-map-dialog #tileDetails.trav47-map-tile .trav47-map-tile__actions {
        width:100% !important;
        gap:5px !important;
        padding:5px !important;
    }
    body.map .travian-mobile-map-dialog #tileDetails.trav47-map-tile .trav47-map-tile__actions .a.arrow {
        min-height:29px !important;
        padding:5px 4px !important;
        font-size:10.5px !important;
        line-height:17px !important;
    }
    body.map .travian-mobile-map-dialog #tileDetails.trav47-map-tile > .trav47-map-tile__title > .trav47-map-tile-close {
        width:25px !important;
        height:23px !important;
        font-size:19px !important;
        line-height:21px !important;
    }
    body.map .travian-mobile-map-dialog #tileDetails.trav47-map-tile > .trav47-map-tile__title > .trav47-map-tile-share {
        left:30px !important;
        width:25px !important;
        height:23px !important;
    }
    body.map .travian-mobile-map-dialog #tileDetails.trav47-map-tile--oasis > .trav47-map-tile__title > .trav47-map-tile-offense {
        left:59px !important;
        width:25px !important;
        height:23px !important;
    }
    body.map .travian-mobile-map-dialog #tileDetails.trav47-map-tile--oasis > .trav47-map-tile__title > .trav47-map-tile-offense img {
        width:18px !important;
        height:18px !important;
    }
    body.map .travian-mobile-map-dialog #tileDetails.trav47-map-tile > .trav47-map-tile__title > .trav47-map-tile-share::before {
        top:4px !important;
        left:9px !important;
    }
    body.map .travian-mobile-map-dialog #tileDetails.trav47-map-tile > .trav47-map-tile__title > .trav47-map-tile-share::after {
        top:7px !important;
        left:6px !important;
    }
    body.map .travian-mobile-map-dialog #tileDetails.trav47-map-tile > .trav47-map-tile__title > .trav47-map-share-feedback {
        left:59px !important;
        padding:2px 5px !important;
        font-size:10px !important;
        line-height:14px !important;
    }
    body.map .travian-mobile-map-dialog #tileDetails.trav47-map-tile--oasis > .trav47-map-tile__title > .trav47-map-share-feedback {
        left:88px !important;
    }
}

/* Keep the reports section visually separate without rendering its title as a button. */
body.map #tileDetails.trav47-map-tile .trav47-map-tile__reports,
body.map .dialog #tileDetails.trav47-map-tile .trav47-map-tile__reports {
    width: 100% !important;
    margin: 6px 0 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    border: 1px solid #cfdee5 !important;
    border-radius: 5px !important;
    background: rgba(255,255,255,.58) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.8) !important;
    box-sizing: border-box !important;
}

body.map #tileDetails.trav47-map-tile .trav47-map-tile__reports-title,
body.map .dialog #tileDetails.trav47-map-tile .trav47-map-tile__reports-title {
    margin: 0 !important;
    padding: 4px 7px !important;
    border: 0 !important;
    border-bottom: 1px solid #cfdee5 !important;
    color: #35596a !important;
    background: linear-gradient(180deg,#eff6f8,#e4eef2) !important;
    box-shadow: none !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 20px !important;
    text-align: right !important;
}

body.map #tileDetails.trav47-map-tile .trav47-map-tile__reports .contentNavi,
body.map .dialog #tileDetails.trav47-map-tile .trav47-map-tile__reports .contentNavi {
    width: 100% !important;
    min-height: 0 !important;
    margin: 0 0 5px !important;
    padding: 0 !important;
    border: 0 !important;
    background: none !important;
    box-shadow: none !important;
    direction: rtl !important;
}

body.map #tileDetails.trav47-map-tile .trav47-map-tile__reports .tabContainer,
body.map .dialog #tileDetails.trav47-map-tile .trav47-map-tile__reports .tabContainer {
    width: 100% !important;
    padding: 3px 7px 5px !important;
    margin: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-sizing: border-box !important;
}

body.map #tileDetails.trav47-map-tile .trav47-map-tile__reports table.rep,
body.map .dialog #tileDetails.trav47-map-tile .trav47-map-tile__reports table.rep {
    width: 100% !important;
    margin: 0 !important;
    border: 0 !important;
    background: transparent !important;
}

body.map #tileDetails.trav47-map-tile .trav47-map-tile__reports table.rep td,
body.map .dialog #tileDetails.trav47-map-tile .trav47-map-tile__reports table.rep td {
    padding: 3px 2px !important;
    border: 0 !important;
    border-bottom: 1px solid #e0e9ed !important;
    background: transparent !important;
    line-height: 16px !important;
}

body.map #tileDetails.trav47-map-tile .trav47-map-tile__reports table.rep tr:last-child td,
body.map .dialog #tileDetails.trav47-map-tile .trav47-map-tile__reports table.rep tr:last-child td {
    border-bottom: 0 !important;
}

body.map #tileDetails.trav47-map-tile .trav47-map-tile__reports .contentNavi .container,
body.map #tileDetails.trav47-map-tile .trav47-map-tile__reports .contentNavi .container.active,
body.map #tileDetails.trav47-map-tile .trav47-map-tile__reports .contentNavi .container > .content,
body.map .dialog #tileDetails.trav47-map-tile .trav47-map-tile__reports .contentNavi .container,
body.map .dialog #tileDetails.trav47-map-tile .trav47-map-tile__reports .contentNavi .container.active,
body.map .dialog #tileDetails.trav47-map-tile .trav47-map-tile__reports .contentNavi .container > .content {
    width: auto !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: none !important;
    background-image: none !important;
    box-shadow: none !important;
}

body.map #tileDetails.trav47-map-tile .trav47-map-tile__reports .contentNavi .container::before,
body.map #tileDetails.trav47-map-tile .trav47-map-tile__reports .contentNavi .container::after,
body.map #tileDetails.trav47-map-tile .trav47-map-tile__reports .contentNavi .content::before,
body.map #tileDetails.trav47-map-tile .trav47-map-tile__reports .contentNavi .content::after,
body.map .dialog #tileDetails.trav47-map-tile .trav47-map-tile__reports .contentNavi .container::before,
body.map .dialog #tileDetails.trav47-map-tile .trav47-map-tile__reports .contentNavi .container::after,
body.map .dialog #tileDetails.trav47-map-tile .trav47-map-tile__reports .contentNavi .content::before,
body.map .dialog #tileDetails.trav47-map-tile .trav47-map-tile__reports .contentNavi .content::after {
    display: none !important;
    content: none !important;
}

body.map #tileDetails.trav47-map-tile .trav47-map-tile__reports #buttonC1,
body.map .dialog #tileDetails.trav47-map-tile .trav47-map-tile__reports #buttonC1 {
    display: inline !important;
    width: auto !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    color: #3f6273 !important;
    background: none !important;
    background-color: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
    text-shadow: none !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 20px !important;
    text-align: right !important;
    text-decoration: none !important;
}

body.map #tileDetails.trav47-map-tile #oasis1InstantTabs .contentNavi a.tabItem,
body.map #tileDetails.trav47-map-tile #oasis1InstantTabs .contentNavi .container.active a.tabItem,
body.map .dialog #tileDetails.trav47-map-tile #oasis1InstantTabs .contentNavi a.tabItem,
body.map .dialog #tileDetails.trav47-map-tile #oasis1InstantTabs .contentNavi .container.active a.tabItem {
    border: 0 !important;
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
    text-shadow: none !important;
}

body.map #tileDetails.trav47-map-tile .mapReportActions {
    margin-top: 5px !important;
    padding-top: 0 !important;
    border-top: 0 !important;
    background: transparent !important;
}

body.map #tileDetails.trav47-map-tile .mapReportActions .mapReportAction,
body.map #tileDetails.trav47-map-tile .mapReportActions .mapReportAction.active {
    padding: 0 !important;
    border: 0 !important;
    color: #3f6273 !important;
    background: none !important;
    box-shadow: none !important;
}

body.map #tileDetails.trav47-map-tile .mapReportActions .mapReportAction.trav47-map-farm-edit {
    padding: 2px 7px !important;
    border: 1px solid #b58732 !important;
    border-radius: 5px !important;
    color: #6e4b0f !important;
    background: #fff2cf !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.7) !important;
}

/* Standalone village/oasis details page (karte.php?d=...).
   Kept separate from the dynamic map dialog and all mobile dialog layouts. */
body.map #contentOuterContainer.trav47-direct-map-window {
    width: 600px !important;
    max-width: 600px !important;
}

body.map.trav47DirectMapDetails #center #contentOuterContainer.trav47-direct-map-window > .contentContainer,
body.map.trav47DirectMapDetails #center #contentOuterContainer.trav47-direct-map-window > .contentFooter {
    background-color: #fff !important;
    background-image: none !important;
}

body.map.trav47DirectMapDetails #center #contentOuterContainer.trav47-direct-map-window > .contentTitle {
    position: relative !important;
    background-color: transparent !important;
    background-image: none !important;
}

/* The direct details page reuses the map dialog's copy-link glyph. */
body.map.trav47DirectMapDetails #center #contentOuterContainer.trav47-direct-map-window > .contentTitle > .trav47-direct-map-share {
    position: absolute !important;
    top: 26px !important;
    left: 84px !important;
    right: auto !important;
    z-index: 3 !important;
    display: block !important;
    width: 33px !important;
    height: 33px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 1px solid #34220d !important;
    border-radius: 4px !important;
    color: #f4f8e9 !important;
    background: linear-gradient(180deg, #718b50 0%, #546e39 58%, #455d30 100%) !important;
    box-shadow: inset 0 0 0 3px rgba(207,220,190,.24), inset 0 1px 0 rgba(255,255,255,.58), 0 1px 2px rgba(52,34,13,.30) !important;
    cursor: pointer !important;
    appearance: none !important;
}

body.map.trav47DirectMapDetails #center #contentOuterContainer.trav47-direct-map-window > .contentTitle > .trav47-direct-map-share::before,
body.map.trav47DirectMapDetails #center #contentOuterContainer.trav47-direct-map-window > .contentTitle > .trav47-direct-map-share::after {
    content: '' !important;
    position: absolute !important;
    width: 10px !important;
    height: 12px !important;
    border: 1.5px solid currentColor !important;
    border-radius: 1px !important;
    background: #607b42 !important;
    box-sizing: border-box !important;
}

body.map.trav47DirectMapDetails #center #contentOuterContainer.trav47-direct-map-window > .contentTitle > .trav47-direct-map-share::before {
    top: 7px !important;
    left: 12px !important;
}

body.map.trav47DirectMapDetails #center #contentOuterContainer.trav47-direct-map-window > .contentTitle > .trav47-direct-map-share::after {
    top: 11px !important;
    left: 8px !important;
}

body.map.trav47DirectMapDetails #center #contentOuterContainer.trav47-direct-map-window > .contentTitle > .trav47-direct-map-share:hover {
    border-color: #34220d !important;
    color: #fff !important;
    background: linear-gradient(180deg, #82a259 0%, #699128 58%, #557920 100%) !important;
    box-shadow: inset 0 0 0 3px rgba(212,226,193,.28), inset 0 1px 0 rgba(255,255,255,.65), 0 1px 2px rgba(52,34,13,.32) !important;
}

body.map.trav47DirectMapDetails #center #contentOuterContainer.trav47-direct-map-window > .contentTitle > .trav47-direct-map-share:active {
    transform: translateY(1px) !important;
    background: #546e39 !important;
    box-shadow: inset 0 2px 4px rgba(40,55,27,.42) !important;
}

body.map.trav47DirectMapDetails #center #contentOuterContainer.trav47-direct-map-window > .contentTitle > .trav47-direct-map-share-feedback {
    position: absolute !important;
    top: 34px !important;
    left: 122px !important;
    z-index: 4 !important;
    display: block !important;
    padding: 3px 7px !important;
    border: 1px solid #527825 !important;
    border-radius: 4px !important;
    color: #fff !important;
    background: rgba(67,105,31,.96) !important;
    box-shadow: 0 2px 5px rgba(0,0,0,.24) !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    line-height: 15px !important;
    white-space: nowrap !important;
    opacity: 0 !important;
    transform: translateX(-4px) !important;
    transition: opacity .14s ease, transform .14s ease !important;
    pointer-events: none !important;
}

body.map.trav47DirectMapDetails #center #contentOuterContainer.trav47-direct-map-window > .contentTitle > .trav47-direct-map-share-feedback.is-visible {
    opacity: 1 !important;
    transform: translateX(0) !important;
}

body.map.trav47DirectMapDetails #center #contentOuterContainer.trav47-direct-map-window > .contentContainer {
    padding-bottom: 0 !important;
}

body.map.trav47DirectMapDetails #center #contentOuterContainer.trav47-direct-map-window #content.positionDetails.trav47-direct-position-details {
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 9px 10px 8px !important;
    background: #fff !important;
    box-sizing: border-box !important;
}

body.map #content.positionDetails.trav47-direct-position-details > #tileDetails.trav47-direct-tile {
    --direct-tile-line: #c7d3bc;
    --direct-tile-ink: #35402a;
    --direct-tile-soft: #f1f6ea;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 319px !important;
    grid-template-rows: auto auto auto !important;
    gap: 8px !important;
    width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 0 5px !important;
    margin: 0 !important;
    overflow: visible !important;
    border: 0 !important;
    border-radius: 0 !important;
    color: var(--direct-tile-ink) !important;
    background: transparent !important;
    box-shadow: none !important;
    direction: ltr !important;
    box-sizing: border-box !important;
}

body.map #content.positionDetails.trav47-direct-position-details .trav47-direct-tile__title {
    position: static !important;
    grid-column: 1 / -1 !important;
    grid-row: 1 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 4px !important;
    width: 100% !important;
    min-height: 36px !important;
    height: auto !important;
    padding: 6px 10px !important;
    margin: 0 !important;
    overflow: hidden !important;
    border: 1px solid var(--direct-tile-line) !important;
    border-radius: 5px !important;
    color: #35402a !important;
    background: linear-gradient(180deg, #fbfdf9, #edf4e6) !important;
    box-shadow: inset 0 1px 0 #fff !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    line-height: 22px !important;
    text-align: right !important;
    text-shadow: none !important;
    direction: rtl !important;
    box-sizing: border-box !important;
}

body.map #content.positionDetails.trav47-direct-position-details .trav47-direct-tile__title .clear {
    display: none !important;
}

body.map #content.positionDetails.trav47-direct-position-details .trav47-direct-tile__visual {
    position: relative !important;
    grid-column: 2 !important;
    grid-row: 2 !important;
    float: none !important;
    width: 319px !important;
    height: 218px !important;
    min-height: 218px !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
    border: 1px solid #9baa8d !important;
    border-radius: 5px !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
    background-size: 100% 100% !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.75), 0 2px 5px rgba(52,67,39,.13) !important;
    box-sizing: border-box !important;
}

body.map #content.positionDetails.trav47-direct-position-details .trav47-direct-tile__visual::before,
body.map #content.positionDetails.trav47-direct-position-details .trav47-direct-tile__visual::after {
    display: none !important;
}

body.map #content.positionDetails.trav47-direct-position-details .trav47-direct-tile__actions {
    position: static !important;
    grid-column: 2 !important;
    grid-row: 2 !important;
    display: flex !important;
    flex-direction: row !important;
    gap: 5px !important;
    align-self: start !important;
    justify-self: end !important;
    width: 319px !important;
    min-width: 0 !important;
    padding: 4px !important;
    margin: 226px 0 0 !important;
    border: 1px solid var(--direct-tile-line) !important;
    border-radius: 5px !important;
    background: #f8fbf5 !important;
    box-shadow: inset 0 1px 0 #fff, 0 1px 3px rgba(52,67,39,.10) !important;
    direction: rtl !important;
    box-sizing: border-box !important;
}

body.map #content.positionDetails.trav47-direct-position-details .trav47-direct-tile__actions .option {
    position: relative !important;
    display: block !important;
    flex: 1 1 0 !important;
    width: auto !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
}

body.map #content.positionDetails.trav47-direct-position-details .trav47-direct-tile__actions .a.arrow {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 23px !important;
    padding: 2px 5px !important;
    border: 1px solid #b7c7aa !important;
    border-radius: 4px !important;
    color: #42672d !important;
    background: linear-gradient(180deg, #fff, #eaf2e1) !important;
    box-shadow: inset 0 1px 0 #fff, 0 1px 2px rgba(52,67,39,.11) !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 17px !important;
    text-align: center !important;
    text-decoration: none !important;
    text-shadow: none !important;
    white-space: nowrap !important;
    box-sizing: border-box !important;
}

body.map #content.positionDetails.trav47-direct-position-details .trav47-direct-tile__actions .mapAttackOption .a.arrow:not(.disabled) {
    border-color: #60862f !important;
    color: #fff !important;
    background: linear-gradient(180deg, #80ae42, #4f7d21) !important;
}

body.map #content.positionDetails.trav47-direct-position-details .trav47-direct-tile__actions .a.arrow.disabled {
    color: #999 !important;
    background: #f4f5f1 !important;
    box-shadow: none !important;
}

body.map #content.positionDetails.trav47-direct-position-details .trav47-direct-tile__actions .disabled[data-disabled-hint] {
    position: relative !important;
    overflow: visible !important;
    cursor: help !important;
}

body.map #content.positionDetails.trav47-direct-position-details .trav47-direct-tile__actions .trav47-map-disabled-note {
    position: absolute !important;
    right: 50% !important;
    bottom: calc(100% + 5px) !important;
    z-index: 50 !important;
    display: none !important;
    width: max-content !important;
    max-width: 210px !important;
    padding: 4px 7px !important;
    border: 1px solid #68755d !important;
    border-radius: 3px !important;
    color: #fff !important;
    background: rgba(49, 55, 45, .96) !important;
    box-shadow: 0 2px 5px rgba(0,0,0,.25) !important;
    font-size: 11px !important;
    font-weight: 400 !important;
    line-height: 15px !important;
    text-align: center !important;
    white-space: nowrap !important;
    transform: translateX(50%) !important;
    pointer-events: none !important;
}

body.map #content.positionDetails.trav47-direct-position-details .trav47-direct-tile__actions .option:hover > .trav47-map-disabled-note,
body.map #content.positionDetails.trav47-direct-position-details .trav47-direct-tile__actions .option:focus-within > .trav47-map-disabled-note,
body.map #content.positionDetails.trav47-direct-position-details .trav47-direct-tile__actions .trav47-map-disabled-note.is-visible {
    display: block !important;
}

body.map #content.positionDetails.trav47-direct-position-details .trav47-direct-tile__details {
    position: relative !important;
    grid-column: 1 !important;
    grid-row: 2 !important;
    float: none !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    direction: rtl !important;
    box-sizing: border-box !important;
}

body.map #content.positionDetails.trav47-direct-position-details .trav47-direct-tile__field-summary {
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 5px !important;
    width: 100% !important;
    min-height: 32px !important;
    padding: 5px 7px !important;
    margin: 0 0 7px !important;
    border: 1px solid #d2dfc8 !important;
    border-radius: 4px !important;
    background: var(--direct-tile-soft) !important;
    box-sizing: border-box !important;
}

body.map #content.positionDetails.trav47-direct-position-details .trav47-direct-tile__field-summary h3 {
    padding: 0 !important;
    margin: 0 !important;
    color: #526147 !important;
    font-size: 11px !important;
    line-height: 18px !important;
    white-space: nowrap !important;
}

body.map #content.positionDetails.trav47-direct-position-details .trav47-direct-tile__field-counts {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 4px !important;
    min-width: 0 !important;
}

body.map #content.positionDetails.trav47-direct-position-details .trav47-direct-tile__field-count {
    display: inline-flex !important;
    align-items: center !important;
    gap: 2px !important;
    color: #3e4f32 !important;
    font-size: 11px !important;
    direction: ltr !important;
}

body.map #content.positionDetails.trav47-direct-position-details .trav47-direct-tile__field-count img {
    display: block !important;
    width: 14px !important;
    height: 14px !important;
}

body.map #content.positionDetails.trav47-direct-position-details .trav47-direct-tile__details > table {
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 0 7px !important;
    overflow: hidden !important;
    border: 1px solid #d4dec9 !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    border-radius: 4px !important;
    background: #fbfdf9 !important;
    table-layout: fixed !important;
    box-sizing: border-box !important;
}

body.map #content.positionDetails.trav47-direct-position-details .trav47-direct-tile__details > table th,
body.map #content.positionDetails.trav47-direct-position-details .trav47-direct-tile__details > table td {
    padding: 5px 6px !important;
    border: 0 !important;
    border-bottom: 1px solid #e0e8d9 !important;
    color: #3f4938 !important;
    font-size: 12px !important;
    line-height: 18px !important;
    text-align: right !important;
    vertical-align: middle !important;
}

body.map #content.positionDetails.trav47-direct-position-details .trav47-direct-tile__details > table tr:last-child > * {
    border-bottom: 0 !important;
}

body.map #content.positionDetails.trav47-direct-position-details .trav47-direct-tile__details > table th {
    width: 39% !important;
    color: #6a7461 !important;
    font-weight: 700 !important;
}

body.map #content.positionDetails.trav47-direct-position-details .trav47-direct-tile__details a {
    color: #4f762b !important;
    font-weight: 700 !important;
    text-decoration: none !important;
}

body.map #content.positionDetails.trav47-direct-position-details .mapDistanceValue {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 42px !important;
    padding: 2px 8px !important;
    border: 1px solid #adc49d !important;
    border-radius: 12px !important;
    color: #3f6928 !important;
    background: #edf6e6 !important;
    box-shadow: inset 0 1px 0 #fff !important;
    font-weight: 700 !important;
    direction: ltr !important;
}

body.map #content.positionDetails.trav47-direct-position-details .mapReportActions {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 6px !important;
    min-height: 31px !important;
    padding: 5px 7px !important;
    margin: 2px 0 0 !important;
    border: 1px solid #d2dfc8 !important;
    border-bottom: 0 !important;
    border-radius: 4px 4px 0 0 !important;
    background: var(--direct-tile-soft) !important;
    box-sizing: border-box !important;
}

body.map #content.positionDetails.trav47-direct-position-details .mapReportActions .mapReportAction {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 22px !important;
    padding: 2px 7px !important;
    border: 1px solid #b9caaa !important;
    border-radius: 10px !important;
    color: #4c6d35 !important;
    background: #fff !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    line-height: 16px !important;
    text-decoration: none !important;
    box-sizing: border-box !important;
}

body.map #content.positionDetails.trav47-direct-position-details .mapReportActions .mapReportAction.active {
    border-color: transparent !important;
    color: #44533a !important;
    background: transparent !important;
    font-size: 12px !important;
}

body.map #content.positionDetails.trav47-direct-position-details table#troop_info.rep {
    margin: 0 !important;
    border-top: 0 !important;
    border-radius: 0 0 4px 4px !important;
    background: #fff !important;
}

body.map #content.positionDetails.trav47-direct-position-details table#troop_info.rep td {
    padding: 6px 7px !important;
}

body.map #content.positionDetails.trav47-direct-position-details table#troop_info.rep tr.noReports td {
    color: #7b8275 !important;
    background: #fafcf8 !important;
    text-align: center !important;
}

.travian-map-farm-desktop-head {
    display: none;
}

/* The farm editor is a separate desktop window over the map details.  Keeping
   it out of the tile grid prevents the five-column unit picker from collapsing
   into the narrow information column. */
@media screen and (min-width: 1025px) {
    html#mainLayout[data-trav47-layout="desktop"] body.map #content.positionDetails.trav47-direct-position-details > #tileDetails.trav47-direct-tile {
        position: relative !important;
    }

    html#mainLayout[data-trav47-layout="desktop"] body.map #content.positionDetails.trav47-direct-position-details #tileDetails.trav47-direct-tile > .travian-map-action-panel:not([hidden]) {
        position: absolute !important;
        top: 44px !important;
        right: 10px !important;
        left: 10px !important;
        z-index: 120 !important;
        display: block !important;
        width: auto !important;
        min-width: 0 !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
        border: 1px solid #61452f !important;
        border-radius: 9px !important;
        color: #35402a !important;
        background: linear-gradient(180deg, #faf6ea 0%, #ebe3ce 100%) !important;
        box-shadow: 0 10px 28px rgba(35, 25, 17, .45), inset 0 1px 0 rgba(255,255,255,.85) !important;
        direction: rtl !important;
        box-sizing: border-box !important;
    }

    html#mainLayout[data-trav47-layout="desktop"] body.map #content.positionDetails.trav47-direct-position-details #tileDetails.trav47-direct-tile > .travian-map-action-panel:not([hidden]) > .travian-map-action-content {
        display: block !important;
        width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: visible !important;
        box-sizing: border-box !important;
    }

    html#mainLayout[data-trav47-layout="desktop"] body.map #content.positionDetails.trav47-direct-position-details .travian-map-farm-form {
        display: flex !important;
        flex-direction: column !important;
        gap: 9px !important;
        width: 100% !important;
        min-width: 0 !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 10px 10px !important;
        font: 400 13px/20px Tahoma, Arial, sans-serif !important;
        box-sizing: border-box !important;
    }

    html#mainLayout[data-trav47-layout="desktop"] body.map #content.positionDetails.trav47-direct-position-details .travian-map-farm-desktop-head {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 12px !important;
        width: calc(100% + 20px) !important;
        min-height: 42px !important;
        margin: 0 -10px 1px !important;
        padding: 6px 9px !important;
        border-bottom: 1px solid #533925 !important;
        color: #fff3d2 !important;
        background: linear-gradient(180deg, #87684a 0%, #60452f 54%, #3f2c20 100%) !important;
        box-shadow: inset 0 1px 0 rgba(255,239,201,.32) !important;
        box-sizing: border-box !important;
    }

    html#mainLayout[data-trav47-layout="desktop"] body.map #content.positionDetails.trav47-direct-position-details .travian-map-farm-desktop-title {
        display: flex !important;
        flex: 1 1 auto !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 4px !important;
        min-width: 0 !important;
        margin-right: 64px !important;
        text-align: center !important;
        white-space: nowrap !important;
    }

    html#mainLayout[data-trav47-layout="desktop"] body.map #content.positionDetails.trav47-direct-position-details .travian-map-farm-desktop-title strong,
    html#mainLayout[data-trav47-layout="desktop"] body.map #content.positionDetails.trav47-direct-position-details .travian-map-farm-desktop-title .travian-map-target-name,
    html#mainLayout[data-trav47-layout="desktop"] body.map #content.positionDetails.trav47-direct-position-details .travian-map-farm-desktop-title .travian-map-target-coords {
        color: inherit !important;
        font-size: 14px !important;
        font-weight: 700 !important;
        line-height: 24px !important;
        text-shadow: 0 1px 1px #24160e !important;
    }

    html#mainLayout[data-trav47-layout="desktop"] body.map #content.positionDetails.trav47-direct-position-details .travian-map-farm-desktop-title .travian-map-target-name {
        min-width: 0 !important;
        max-width: 215px !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }

    html#mainLayout[data-trav47-layout="desktop"] body.map #content.positionDetails.trav47-direct-position-details .travian-map-farm-desktop-title .travian-map-target-coords {
        direction: ltr !important;
        unicode-bidi: isolate !important;
    }

    html#mainLayout[data-trav47-layout="desktop"] body.map #content.positionDetails.trav47-direct-position-details .travian-map-farm-desktop-close {
        display: inline-flex !important;
        flex: 0 0 auto !important;
        align-items: center !important;
        justify-content: center !important;
        min-width: 58px !important;
        height: 28px !important;
        margin: 0 !important;
        padding: 4px 10px !important;
        border: 1px solid #2e5012 !important;
        border-radius: 5px !important;
        color: #fff9df !important;
        background: linear-gradient(180deg, #78aa34, #436f18) !important;
        box-shadow: inset 0 1px 0 rgba(255,255,255,.30), 0 1px 2px rgba(0,0,0,.32) !important;
        font: 700 12px/18px Tahoma, Arial, sans-serif !important;
        text-shadow: 0 1px 1px #26340f !important;
        cursor: pointer !important;
        box-sizing: border-box !important;
    }

    html#mainLayout[data-trav47-layout="desktop"] body.map #content.positionDetails.trav47-direct-position-details .travian-map-farm-list-row {
        display: grid !important;
        grid-template-columns: auto minmax(0, 1fr) !important;
        align-items: center !important;
        gap: 10px !important;
        width: 100% !important;
        min-height: 38px !important;
        margin: 0 !important;
        padding: 5px 8px !important;
        border: 1px solid #bdc9b3 !important;
        border-radius: 6px !important;
        color: #465640 !important;
        background: #f1f6ed !important;
        box-shadow: inset 0 1px 0 rgba(255,255,255,.82) !important;
        font-weight: 700 !important;
        box-sizing: border-box !important;
    }

    html#mainLayout[data-trav47-layout="desktop"] body.map #content.positionDetails.trav47-direct-position-details .travian-map-farm-list-row.has-source-note {
        grid-template-columns: auto minmax(0, 1fr) !important;
    }

    html#mainLayout[data-trav47-layout="desktop"] body.map #content.positionDetails.trav47-direct-position-details .travian-map-farm-source-note {
        grid-column: 1 / -1 !important;
        color: #8b4c2d !important;
        font-size: 11px !important;
        text-align: center !important;
    }

    html#mainLayout[data-trav47-layout="desktop"] body.map #content.positionDetails.trav47-direct-position-details .travian-map-farm-list-row > select.dropdown {
        display: block !important;
        width: 100% !important;
        min-width: 0 !important;
        height: 29px !important;
        margin: 0 !important;
        padding: 3px 9px !important;
        border: 1px solid #a8b99b !important;
        border-radius: 5px !important;
        color: #35402a !important;
        background-color: #fffef9 !important;
        font: 400 12px/21px Tahoma, Arial, sans-serif !important;
        text-align: right !important;
        box-sizing: border-box !important;
    }

    html#mainLayout[data-trav47-layout="desktop"] body.map #content.positionDetails.trav47-direct-position-details .travian-map-farm-units {
        display: grid !important;
        grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
        gap: 6px !important;
        width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 8px !important;
        border: 1px solid #c3cbb6 !important;
        border-radius: 7px !important;
        background: rgba(224,232,205,.58) !important;
        box-shadow: inset 0 1px 2px rgba(66,45,26,.07) !important;
        box-sizing: border-box !important;
    }

    html#mainLayout[data-trav47-layout="desktop"] body.map #content.positionDetails.trav47-direct-position-details .travian-map-farm-units > .travian-map-unit {
        display: grid !important;
        grid-template-columns: 24px minmax(0, 1fr) !important;
        align-items: center !important;
        gap: 5px !important;
        width: 100% !important;
        min-width: 0 !important;
        min-height: 39px !important;
        margin: 0 !important;
        padding: 5px !important;
        border: 1px solid #b6c3a8 !important;
        border-radius: 6px !important;
        background: linear-gradient(180deg, rgba(255,255,255,.86), rgba(230,237,210,.76)), #eef0dc !important;
        box-shadow: inset 0 1px 0 #fff, 0 1px 2px rgba(66,45,26,.08) !important;
        box-sizing: border-box !important;
    }

    html#mainLayout[data-trav47-layout="desktop"] body.map #content.positionDetails.trav47-direct-position-details .travian-map-farm-units > .travian-map-unit > img.unit {
        display: block !important;
        grid-column: 1 !important;
        justify-self: center !important;
        margin: 0 !important;
        padding: 0 !important;
        transform: scale(1.08) !important;
        transform-origin: center !important;
    }

    html#mainLayout[data-trav47-layout="desktop"] body.map #content.positionDetails.trav47-direct-position-details .travian-map-farm-units > .travian-map-unit > input.text {
        display: block !important;
        grid-column: 2 !important;
        width: 100% !important;
        min-width: 0 !important;
        height: 27px !important;
        margin: 0 !important;
        padding: 3px !important;
        border: 1px solid #a9b99a !important;
        border-radius: 4px !important;
        color: #35402a !important;
        background: #fffdf7 !important;
        box-shadow: inset 0 1px 2px rgba(66,45,26,.10) !important;
        font: 400 12px/19px Tahoma, Arial, sans-serif !important;
        text-align: center !important;
        box-sizing: border-box !important;
    }

    html#mainLayout[data-trav47-layout="desktop"] body.map #content.positionDetails.trav47-direct-position-details .travian-map-farm-form .travian-map-action-buttons {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 100% !important;
        margin: 0 !important;
    }

    html#mainLayout[data-trav47-layout="desktop"] body.map #content.positionDetails.trav47-direct-position-details .travian-map-farm-form .travian-map-action-submit {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        min-width: 105px !important;
        min-height: 34px !important;
        margin: 0 !important;
        padding: 6px 16px !important;
        border: 1px solid #365d13 !important;
        border-radius: 6px !important;
        color: #fff9df !important;
        background: linear-gradient(180deg, #7eaf35, #4d811c) !important;
        box-shadow: inset 0 1px 0 rgba(255,255,255,.34), 0 1px 2px rgba(47,35,19,.28) !important;
        font: 700 13px/20px Tahoma, Arial, sans-serif !important;
        text-shadow: 0 1px 1px #29420f !important;
        cursor: pointer !important;
        box-sizing: border-box !important;
    }

    html#mainLayout[data-trav47-layout="desktop"] body.map #content.positionDetails.trav47-direct-position-details .travian-map-farm-form .travian-map-action-error {
        min-height: 0 !important;
        margin: 0 !important;
        color: #9b2f20 !important;
        font-weight: 700 !important;
        text-align: center !important;
    }

    html#mainLayout[data-trav47-layout="desktop"] body.map #content.positionDetails.trav47-direct-position-details .travian-map-farm-form .travian-map-action-error:empty {
        display: none !important;
    }
}

/* Direct oasis details use the same information-column grammar as villages on
 * desktop.  The original bonus remains on the image for narrow layouts only. */
.trav47-direct-tile__oasis-summary {
    display: none;
}

@media screen and (min-width: 1025px) {
    html#mainLayout[data-trav47-layout="desktop"] body.map.trav47DirectMapDetails
    #content.positionDetails.trav47-direct-position-details .trav47-direct-tile__visual > .mobileOasisBonus {
        display: none !important;
    }

    html#mainLayout[data-trav47-layout="desktop"] body.map.trav47DirectMapDetails
    #content.positionDetails.trav47-direct-position-details .trav47-direct-tile__oasis-summary {
        display: flex !important;
        flex-direction: column !important;
        gap: 2px !important;
        width: 100% !important;
        min-height: 32px !important;
        margin: 0 0 7px !important;
        padding: 5px 7px !important;
        overflow: hidden !important;
        border: 1px solid #d2dfc8 !important;
        border-radius: 4px !important;
        color: #3f4938 !important;
        background: var(--direct-tile-soft) !important;
        direction: rtl !important;
        box-sizing: border-box !important;
    }

    html#mainLayout[data-trav47-layout="desktop"] body.map.trav47DirectMapDetails
    #content.positionDetails.trav47-direct-position-details .trav47-direct-tile__oasis-row {
        display: grid !important;
        grid-template-columns: 39% minmax(0, 1fr) !important;
        align-items: center !important;
        min-height: 20px !important;
        font-size: 12px !important;
        line-height: 18px !important;
    }

    html#mainLayout[data-trav47-layout="desktop"] body.map.trav47DirectMapDetails
    #content.positionDetails.trav47-direct-position-details .trav47-direct-tile__oasis-row > strong {
        color: #6a7461 !important;
        font-weight: 700 !important;
        text-align: right !important;
        white-space: nowrap !important;
    }

    html#mainLayout[data-trav47-layout="desktop"] body.map.trav47DirectMapDetails
    #content.positionDetails.trav47-direct-position-details .trav47-direct-tile__oasis-item {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 4px !important;
        min-width: 0 !important;
        white-space: nowrap !important;
    }

    html#mainLayout[data-trav47-layout="desktop"] body.map.trav47DirectMapDetails
    #content.positionDetails.trav47-direct-position-details .trav47-direct-tile__oasis-item b {
        display: inline-flex !important;
        flex-direction: row !important;
        direction: ltr !important;
        unicode-bidi: isolate !important;
    }

    html#mainLayout[data-trav47-layout="desktop"] body.map.trav47DirectMapDetails
    #content.positionDetails.trav47-direct-position-details .trav47-direct-tile__creatures-gap {
        display: none !important;
    }

    html#mainLayout[data-trav47-layout="desktop"] body.map.trav47DirectMapDetails
    #content.positionDetails.trav47-direct-position-details .trav47-direct-tile__oasis-distance {
        margin-bottom: 0 !important;
        border-bottom: 0 !important;
        border-radius: 4px 4px 0 0 !important;
    }

    html#mainLayout[data-trav47-layout="desktop"] body.map.trav47DirectMapDetails
    #content.positionDetails.trav47-direct-position-details .trav47-direct-tile__creatures-title {
        min-height: 29px !important;
        margin: -1px 0 0 !important;
        padding: 5px 6px !important;
        border: 1px solid #d4dec9 !important;
        border-top: 0 !important;
        border-bottom: 0 !important;
        border-radius: 0 !important;
        color: #6a7461 !important;
        background: #fbfdf9 !important;
        font-size: 12px !important;
        font-weight: 700 !important;
        line-height: 18px !important;
        text-align: right !important;
        box-sizing: border-box !important;
    }

    html#mainLayout[data-trav47-layout="desktop"] body.map.trav47DirectMapDetails
    #content.positionDetails.trav47-direct-position-details .trav47-direct-tile__creature-table:not(.rep) {
        margin: -1px 0 7px !important;
        border-top: 0 !important;
        border-radius: 0 0 4px 4px !important;
    }

    html#mainLayout[data-trav47-layout="desktop"] body.map.trav47DirectMapDetails
    #content.positionDetails.trav47-direct-position-details .trav47-direct-tile__details > table:not(.rep) th,
    html#mainLayout[data-trav47-layout="desktop"] body.map.trav47DirectMapDetails
    #content.positionDetails.trav47-direct-position-details .trav47-direct-tile__details > table:not(.rep) td {
        border-bottom: 0 !important;
    }

    html#mainLayout[data-trav47-layout="desktop"] body.map.trav47DirectMapDetails
    #content.positionDetails.trav47-direct-position-details .trav47-direct-tile__creature-table:not(.rep) tbody {
        display: block !important;
        width: 100% !important;
    }

    html#mainLayout[data-trav47-layout="desktop"] body.map.trav47DirectMapDetails
    #content.positionDetails.trav47-direct-position-details .trav47-direct-tile__creature-table:not(.rep) tr {
        display: grid !important;
        grid-template-columns: 22px max-content max-content !important;
        align-items: center !important;
        justify-content: start !important;
        column-gap: 3px !important;
        width: 100% !important;
        min-height: 24px !important;
        direction: rtl !important;
    }

    html#mainLayout[data-trav47-layout="desktop"] body.map.trav47DirectMapDetails
    #content.positionDetails.trav47-direct-position-details .trav47-direct-tile__creature-table:not(.rep) td {
        width: auto !important;
        padding: 2px 0 !important;
    }

    html#mainLayout[data-trav47-layout="desktop"] body.map.trav47DirectMapDetails
    #content.positionDetails.trav47-direct-position-details .trav47-direct-tile__creature-table:not(.rep) td.ico {
        grid-column: 1 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 22px !important;
    }

    html#mainLayout[data-trav47-layout="desktop"] body.map.trav47DirectMapDetails
    #content.positionDetails.trav47-direct-position-details .trav47-direct-tile__creature-table:not(.rep) td.val {
        grid-column: 2 !important;
        min-width: 14px !important;
        text-align: center !important;
    }

    html#mainLayout[data-trav47-layout="desktop"] body.map.trav47DirectMapDetails
    #content.positionDetails.trav47-direct-position-details .trav47-direct-tile__creature-table:not(.rep) td.desc {
        grid-column: 3 !important;
        text-align: right !important;
    }

    html#mainLayout[data-trav47-layout="desktop"] body.map.trav47DirectMapDetails
    #content.positionDetails.trav47-direct-position-details .trav47-direct-tile__creature-table:not(.rep) td:only-child {
        grid-column: 1 / -1 !important;
        width: 100% !important;
        text-align: right !important;
    }
}

@media screen and (max-width: 680px) {
    body.map #content.positionDetails.trav47-direct-position-details > #tileDetails.trav47-direct-tile {
        grid-template-columns: minmax(0, 1fr) !important;
        grid-template-rows: auto auto auto auto !important;
    }
    body.map #content.positionDetails.trav47-direct-position-details .trav47-direct-tile__visual,
    body.map #content.positionDetails.trav47-direct-position-details .trav47-direct-tile__actions,
    body.map #content.positionDetails.trav47-direct-position-details .trav47-direct-tile__details {
        grid-column: 1 !important;
        width: 100% !important;
    }
    body.map #content.positionDetails.trav47-direct-position-details .trav47-direct-tile__visual {
        grid-row: 2 !important;
        max-width: 319px !important;
        justify-self: center !important;
    }
    body.map #content.positionDetails.trav47-direct-position-details .trav47-direct-tile__actions {
        grid-row: 3 !important;
    }
    body.map #content.positionDetails.trav47-direct-position-details .trav47-direct-tile__details {
        grid-row: 4 !important;
    }
}

/* Desktop-only clean map-detail presentation.  The legacy dialog chrome is
   intentionally removed: #tileDetails is the complete desktop window. */
@media screen and (min-width: 1025px) {
    body.map #content.positionDetails.trav47-direct-position-details .trav47-direct-tile__actions .a.arrow {
        min-height: 28px !important;
    }

    body.map .travian-desktop-map-dialog-wrapper {
        overflow: visible !important;
    }

    body.map .travian-desktop-map-dialog {
        position: absolute !important;
        inset: 0 !important;
        width: 100% !important;
        height: 100% !important;
        padding: 0 !important;
        overflow: visible !important;
        border: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
        box-sizing: border-box !important;
    }

    body.map .travian-desktop-map-dialog .dialog-container,
    body.map .travian-desktop-map-dialog .dialogContainer {
        position: relative !important;
        width: 100% !important;
        height: auto !important;
        padding: 0 !important;
        overflow: visible !important;
        border: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
        box-sizing: border-box !important;
    }

    body.map .travian-desktop-map-dialog .dialog-contents,
    body.map .travian-desktop-map-dialog .dialogContents,
    body.map .travian-desktop-map-dialog form,
    body.map .travian-desktop-map-dialog #dialogContent {
        width: 100% !important;
        height: auto !important;
        padding: 0 !important;
        margin: 0 !important;
        overflow: visible !important;
        border: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
        box-sizing: border-box !important;
    }

    body.map .travian-desktop-map-dialog .dialog-background-tl,
    body.map .travian-desktop-map-dialog .dialog-background-tc,
    body.map .travian-desktop-map-dialog .dialog-background-tr,
    body.map .travian-desktop-map-dialog .dialog-background-ml,
    body.map .travian-desktop-map-dialog .dialog-background-mc,
    body.map .travian-desktop-map-dialog .dialog-background-mr,
    body.map .travian-desktop-map-dialog .dialog-background-bl,
    body.map .travian-desktop-map-dialog .dialog-background-bc,
    body.map .travian-desktop-map-dialog .dialog-background-br,
    body.map .travian-desktop-map-dialog .dialogDragBar,
    body.map .travian-desktop-map-dialog .dialog-dragbar,
    body.map .travian-desktop-map-dialog .dialog-contents > form > .title,
    body.map .travian-desktop-map-dialog .dialogContents > form > .title,
    body.map .travian-desktop-map-dialog .cancel:not(.travian-mobile-map-close),
    body.map .travian-desktop-map-dialog .dialogCancelButton.cancel {
        display: none !important;
    }

    body.map .travian-desktop-map-dialog .dialog-contents > form > .buttons,
    body.map .travian-desktop-map-dialog .dialogContents > form > .buttons {
        display: none !important;
    }

    body.map .travian-desktop-map-dialog .travian-mobile-map-close.trav47-map-tile-close {
        display: flex !important;
    }

    body.map .travian-desktop-map-dialog #tileDetails.trav47-map-tile {
        --tile-panel: #fff;
        --tile-surface-top: #fff;
        --tile-surface-bottom: #fff;
        display: grid !important;
        grid-template-columns: 275px 319px !important;
        grid-template-rows: 34px 218px auto !important;
        gap: 0 16px !important;
        width: 610px !important;
        min-width: 610px !important;
        max-width: 610px !important;
        height: auto !important;
        min-height: 390px !important;
        padding: 0 !important;
        margin: 0 !important;
        overflow: hidden !important;
        border: 1px solid rgba(0, 0, 0, .52) !important;
        border-radius: 2px !important;
        color: #333 !important;
        background: #fff !important;
        box-shadow:
            0 0 0 4px rgba(0, 0, 0, .30),
            0 4px 12px rgba(0, 0, 0, .36) !important;
        direction: ltr !important;
        box-sizing: border-box !important;
    }

    body.map .travian-desktop-map-dialog #tileDetails.trav47-map-tile > .trav47-map-tile__title {
        grid-column: 1 / -1 !important;
        grid-row: 1 !important;
        display: block !important;
        width: 100% !important;
        min-height: 34px !important;
        height: 34px !important;
        padding: 7px 6px 7px 62px !important;
        margin: 0 !important;
        overflow: hidden !important;
        border: 0 !important;
        border-bottom: 1px solid #dce3d6 !important;
        border-radius: 0 !important;
        color: #333 !important;
        background: transparent !important;
        box-shadow: none !important;
        font-size: 14px !important;
        font-weight: 700 !important;
        line-height: 17px !important;
        text-align: right !important;
        text-shadow: none !important;
        white-space: nowrap !important;
        direction: rtl !important;
        box-sizing: border-box !important;
    }

    body.map .travian-desktop-map-dialog #tileDetails.trav47-map-tile > .trav47-map-tile__title .coordinatesWrapper {
        color: inherit !important;
        font-size: inherit !important;
        font-weight: inherit !important;
    }

    body.map .travian-desktop-map-dialog #tileDetails.trav47-map-tile > .trav47-map-tile__title > .trav47-map-tile-share {
        top: 50% !important;
        left: 32px !important;
        width: 24px !important;
        height: 24px !important;
        border: 0 !important;
        border-radius: 2px !important;
        background: transparent !important;
        box-shadow: none !important;
    }

    body.map .travian-desktop-map-dialog #tileDetails.trav47-map-tile--oasis > .trav47-map-tile__title {
        padding-left: 90px !important;
    }

    body.map .travian-desktop-map-dialog #tileDetails.trav47-map-tile--oasis > .trav47-map-tile__title > .trav47-map-tile-offense {
        left: 60px !important;
        width: 24px !important;
        height: 24px !important;
        border: 0 !important;
        border-radius: 2px !important;
        background: transparent !important;
        box-shadow: none !important;
    }

    body.map .travian-desktop-map-dialog #tileDetails.trav47-map-tile--oasis > .trav47-map-tile__title > .trav47-map-tile-offense img {
        width: 20px !important;
        height: 20px !important;
    }

    body.map .travian-desktop-map-dialog #tileDetails.trav47-map-tile--oasis > .trav47-map-tile__title > .trav47-map-share-feedback {
        left: 88px !important;
    }

    body.map .travian-desktop-map-dialog #tileDetails.trav47-map-tile > .trav47-map-tile__title > .trav47-map-tile-close {
        top: 50% !important;
        left: 4px !important;
        width: 24px !important;
        height: 24px !important;
        border: 0 !important;
        border-radius: 2px !important;
        background: transparent !important;
        box-shadow: none !important;
        font-size: 22px !important;
        font-weight: 700 !important;
        line-height: 22px !important;
    }

    body.map .travian-desktop-map-dialog #tileDetails.trav47-map-tile > .trav47-map-tile__title > .trav47-map-tile-share::before {
        top: 5px !important;
        left: 9px !important;
    }

    body.map .travian-desktop-map-dialog #tileDetails.trav47-map-tile > .trav47-map-tile__title > .trav47-map-tile-share::after {
        top: 8px !important;
        left: 6px !important;
    }

    body.map .travian-desktop-map-dialog #tileDetails.trav47-map-tile > .trav47-map-tile__visual {
        grid-column: 2 !important;
        grid-row: 2 !important;
        width: 319px !important;
        min-height: 218px !important;
        height: 218px !important;
        padding: 0 !important;
        margin: 0 !important;
        overflow: hidden !important;
        border: 0 !important;
        border-radius: 0 !important;
        background-position: center top !important;
        background-repeat: no-repeat !important;
        background-size: 319px 218px !important;
        box-shadow: none !important;
        box-sizing: border-box !important;
    }

    body.map .travian-desktop-map-dialog #tileDetails.trav47-map-tile > .trav47-map-tile__actions {
        grid-column: 2 !important;
        grid-row: 3 !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        justify-content: flex-start !important;
        gap: 2px !important;
        width: 319px !important;
        padding: 10px 3px 8px 0 !important;
        margin: 0 !important;
        overflow: visible !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: #fff !important;
        box-shadow: none !important;
        direction: rtl !important;
        box-sizing: border-box !important;
    }

    body.map .travian-desktop-map-dialog #tileDetails.trav47-map-tile > .trav47-map-tile__actions .option .a.arrow,
    body.map .travian-desktop-map-dialog #tileDetails.trav47-map-tile > .trav47-map-tile__actions .option .a.arrow:not(.disabled),
    body.map .travian-desktop-map-dialog #tileDetails.trav47-map-tile > .trav47-map-tile__actions .option .a.arrow.disabled {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        min-height: 16px !important;
        padding: 0 8px 0 0 !important;
        overflow: visible !important;
        border: 0 !important;
        border-radius: 0 !important;
        color: #5b8f16 !important;
        background: transparent !important;
        background-color: transparent !important;
        background-image: none !important;
        box-shadow: none !important;
        font-size: 14px !important;
        font-weight: 700 !important;
        line-height: 16px !important;
        text-align: right !important;
        text-shadow: none !important;
        white-space: nowrap !important;
    }

    body.map .travian-desktop-map-dialog #tileDetails.trav47-map-tile > .trav47-map-tile__actions .option .a.arrow.disabled {
        color: #777 !important;
    }

    body.map .travian-desktop-map-dialog #tileDetails.trav47-map-tile > .trav47-map-tile__details {
        grid-column: 1 !important;
        grid-row: 2 / span 2 !important;
        display: block !important;
        width: 275px !important;
        min-width: 275px !important;
        max-width: 275px !important;
        height: auto !important;
        min-height: 218px !important;
        max-height: none !important;
        padding: 0 !important;
        margin: 0 !important;
        overflow: visible !important;
        border: 0 !important;
        border-radius: 0 !important;
        color: #333 !important;
        background: #fff !important;
        box-shadow: none !important;
        direction: rtl !important;
        box-sizing: border-box !important;
        font-size: 12px !important;
        line-height: 16px !important;
    }

    body.map .travian-desktop-map-dialog #tileDetails.trav47-map-tile > .trav47-map-tile__details > table,
    body.map .travian-desktop-map-dialog #tileDetails.trav47-map-tile > .trav47-map-tile__details > table.transparent,
    body.map .travian-desktop-map-dialog #tileDetails.trav47-map-tile .trav47-map-tile__field-summary {
        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
    }

    /* Desktop animal rows stay compact and clean without internal separators. */
    body.map .travian-desktop-map-dialog #tileDetails.trav47-map-tile table#troop_info tr {
        position: relative !important;
    }

    body.map .travian-desktop-map-dialog #tileDetails.trav47-map-tile table#troop_info td {
        border-bottom: 0 !important;
    }

    body.map .travian-desktop-map-dialog #tileDetails.trav47-map-tile > .trav47-map-tile__details > table#troop_info:not(.rep) tr.trav47-map-combat-link-row {
        min-height: 24px !important;
        margin-top: 4px !important;
        padding-top: 0 !important;
        border-top: 0 !important;
    }

    body.map .travian-desktop-map-dialog #tileDetails.trav47-map-tile .trav47-map-combat-link {
        display: inline-flex !important;
        flex-wrap: nowrap !important;
        justify-content: flex-start !important;
        width: auto !important;
        min-width: max-content !important;
        min-height: 16px !important;
        padding: 0 8px 0 0 !important;
        overflow: visible !important;
        border: 0 !important;
        border-bottom: 0 !important;
        border-radius: 0 !important;
        color: #5b8f16 !important;
        background: transparent !important;
        box-shadow: none !important;
        font-size: 14px !important;
        line-height: 16px !important;
        text-align: right !important;
        white-space: nowrap !important;
        background-image: none !important;
    }

    /* Player-village information uses a short quarter-width separator while
       preserving the existing two-column data layout. */
    body.map .travian-desktop-map-dialog #tileDetails.trav47-map-tile table#village_info tr {
        position: relative !important;
    }

    body.map .travian-desktop-map-dialog #tileDetails.trav47-map-tile table#village_info th,
    body.map .travian-desktop-map-dialog #tileDetails.trav47-map-tile table#village_info td {
        border-bottom: 0 !important;
    }

    body.map .travian-desktop-map-dialog #tileDetails.trav47-map-tile table#village_info tr:not(:last-child)::after {
        content: "" !important;
        position: absolute !important;
        right: 0 !important;
        bottom: 0 !important;
        width: 25% !important;
        height: 1px !important;
        background: #dfe5dc !important;
        pointer-events: none !important;
    }

    body.map .travian-desktop-map-dialog #tileDetails.trav47-map-tile .trav47-map-tile__reports {
        width: calc(100% - 5px) !important;
        margin: 11px 0 0 5px !important;
    }

    body.map .travian-desktop-map-dialog #tileDetails.trav47-map-tile > .trav47-map-tile__details h4,
    body.map .travian-desktop-map-dialog #tileDetails.trav47-map-tile .trav47-map-tile__field-summary h3 {
        padding: 0 !important;
        margin: 0 0 5px !important;
        border: 0 !important;
        border-radius: 0 !important;
        color: #333 !important;
        background: transparent !important;
        box-shadow: none !important;
        font-size: 14px !important;
        line-height: 16px !important;
    }

    body.map .travian-desktop-map-dialog #tileDetails.trav47-map-tile .trav47-map-tile__reports-title {
        display: inline-block !important;
        width: auto !important;
        min-width: 54px !important;
        padding: 3px 10px !important;
        margin: 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        color: #fff !important;
        background: #8fbd43 !important;
        box-shadow: none !important;
        font-size: 12px !important;
        font-weight: 700 !important;
        line-height: 16px !important;
        text-align: center !important;
    }
}
/* Keep oasis tooltip rows compact on desktop. The following resource row
 * already starts with its own line break; this removes only the duplicate. */
@media (min-width: 1025px) {
    br.trav47-map-tooltip-mobile-gap {
        display: none;
    }
}

/* Desktop dynamic map: keep the farm editor as a real overlay instead of
 * letting it collapse into the 275px information column. */
@media screen and (min-width: 1025px) {
    html#mainLayout[data-trav47-layout="desktop"] body.map .travian-desktop-map-dialog #tileDetails.trav47-map-tile {
        position: relative !important;
    }

    html#mainLayout[data-trav47-layout="desktop"] body.map .travian-desktop-map-dialog #tileDetails.trav47-map-tile > .travian-map-action-panel:not([hidden]) {
        position: absolute !important;
        top: 42px !important;
        right: 10px !important;
        left: 10px !important;
        z-index: 500 !important;
        display: block !important;
        width: auto !important;
        min-width: 0 !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
        border: 1px solid #61452f !important;
        border-radius: 9px !important;
        color: #35402a !important;
        background: linear-gradient(180deg, #faf6ea 0%, #ebe3ce 100%) !important;
        box-shadow: 0 10px 28px rgba(35, 25, 17, .45), inset 0 1px 0 rgba(255, 255, 255, .85) !important;
        direction: rtl !important;
        box-sizing: border-box !important;
    }

    html#mainLayout[data-trav47-layout="desktop"] body.map .travian-desktop-map-dialog .travian-map-action-content {
        display: block !important;
        width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: visible !important;
        box-sizing: border-box !important;
    }

    html#mainLayout[data-trav47-layout="desktop"] body.map .travian-desktop-map-dialog .travian-map-farm-form {
        display: flex !important;
        flex-direction: column !important;
        gap: 9px !important;
        width: 100% !important;
        min-width: 0 !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 10px 10px !important;
        font: 400 13px/20px Tahoma, Arial, sans-serif !important;
        box-sizing: border-box !important;
    }

    html#mainLayout[data-trav47-layout="desktop"] body.map .travian-desktop-map-dialog .travian-map-farm-desktop-head {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 12px !important;
        width: calc(100% + 20px) !important;
        min-height: 42px !important;
        margin: 0 -10px 1px !important;
        padding: 6px 9px !important;
        border-bottom: 1px solid #533925 !important;
        color: #fff3d2 !important;
        background: linear-gradient(180deg, #87684a 0%, #60452f 54%, #3f2c20 100%) !important;
        box-shadow: inset 0 1px 0 rgba(255, 239, 201, .32) !important;
        box-sizing: border-box !important;
    }

    html#mainLayout[data-trav47-layout="desktop"] body.map .travian-desktop-map-dialog .travian-map-farm-desktop-title {
        display: flex !important;
        flex: 1 1 auto !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 4px !important;
        min-width: 0 !important;
        margin-right: 64px !important;
        text-align: center !important;
        white-space: nowrap !important;
    }

    html#mainLayout[data-trav47-layout="desktop"] body.map .travian-desktop-map-dialog .travian-map-farm-desktop-title strong,
    html#mainLayout[data-trav47-layout="desktop"] body.map .travian-desktop-map-dialog .travian-map-farm-desktop-title .travian-map-target-name,
    html#mainLayout[data-trav47-layout="desktop"] body.map .travian-desktop-map-dialog .travian-map-farm-desktop-title .travian-map-target-coords {
        color: inherit !important;
        font-size: 14px !important;
        font-weight: 700 !important;
        line-height: 24px !important;
        text-shadow: 0 1px 1px #24160e !important;
    }

    html#mainLayout[data-trav47-layout="desktop"] body.map .travian-desktop-map-dialog .travian-map-farm-desktop-title .travian-map-target-name {
        min-width: 0 !important;
        max-width: 215px !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }

    html#mainLayout[data-trav47-layout="desktop"] body.map .travian-desktop-map-dialog .travian-map-farm-desktop-title .travian-map-target-coords {
        direction: ltr !important;
        unicode-bidi: isolate !important;
    }

    html#mainLayout[data-trav47-layout="desktop"] body.map .travian-desktop-map-dialog .travian-map-farm-desktop-close {
        display: inline-flex !important;
        flex: 0 0 auto !important;
        align-items: center !important;
        justify-content: center !important;
        min-width: 58px !important;
        height: 28px !important;
        margin: 0 !important;
        padding: 4px 10px !important;
        border: 1px solid #2e5012 !important;
        border-radius: 5px !important;
        color: #fff9df !important;
        background: linear-gradient(180deg, #78aa34, #436f18) !important;
        box-shadow: inset 0 1px 0 rgba(255, 255, 255, .30), 0 1px 2px rgba(0, 0, 0, .32) !important;
        font: 700 12px/18px Tahoma, Arial, sans-serif !important;
        text-shadow: 0 1px 1px #26340f !important;
        cursor: pointer !important;
        box-sizing: border-box !important;
    }

    html#mainLayout[data-trav47-layout="desktop"] body.map .travian-desktop-map-dialog .travian-map-farm-list-row {
        display: grid !important;
        grid-template-columns: auto minmax(0, 1fr) !important;
        align-items: center !important;
        gap: 10px !important;
        width: 100% !important;
        min-height: 38px !important;
        margin: 0 !important;
        padding: 5px 8px !important;
        border: 1px solid #bdc9b3 !important;
        border-radius: 6px !important;
        color: #465640 !important;
        background: #f1f6ed !important;
        box-shadow: inset 0 1px 0 rgba(255, 255, 255, .82) !important;
        font-weight: 700 !important;
        box-sizing: border-box !important;
    }

    html#mainLayout[data-trav47-layout="desktop"] body.map .travian-desktop-map-dialog .travian-map-farm-list-row.has-source-note {
        grid-template-columns: auto minmax(0, 1fr) !important;
    }

    html#mainLayout[data-trav47-layout="desktop"] body.map .travian-desktop-map-dialog .travian-map-farm-source-note {
        grid-column: 1 / -1 !important;
        color: #8b4c2d !important;
        font-size: 11px !important;
        text-align: center !important;
    }

    html#mainLayout[data-trav47-layout="desktop"] body.map .travian-desktop-map-dialog .travian-map-farm-list-row > select.dropdown {
        display: block !important;
        width: 100% !important;
        min-width: 0 !important;
        height: 29px !important;
        margin: 0 !important;
        padding: 3px 9px !important;
        border: 1px solid #a8b99b !important;
        border-radius: 5px !important;
        color: #35402a !important;
        background-color: #fffef9 !important;
        font: 400 12px/21px Tahoma, Arial, sans-serif !important;
        text-align: right !important;
        box-sizing: border-box !important;
    }

    html#mainLayout[data-trav47-layout="desktop"] body.map .travian-desktop-map-dialog .travian-map-farm-units {
        display: grid !important;
        grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
        gap: 6px !important;
        width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 8px !important;
        border: 1px solid #c3cbb6 !important;
        border-radius: 7px !important;
        background: rgba(224, 232, 205, .58) !important;
        box-shadow: inset 0 1px 2px rgba(66, 45, 26, .07) !important;
        box-sizing: border-box !important;
    }

    html#mainLayout[data-trav47-layout="desktop"] body.map .travian-desktop-map-dialog .travian-map-farm-units > .travian-map-unit {
        display: grid !important;
        grid-template-columns: 24px minmax(0, 1fr) !important;
        align-items: center !important;
        gap: 5px !important;
        width: 100% !important;
        min-width: 0 !important;
        min-height: 39px !important;
        margin: 0 !important;
        padding: 5px !important;
        border: 1px solid #b6c3a8 !important;
        border-radius: 6px !important;
        background: linear-gradient(180deg, rgba(255, 255, 255, .86), rgba(230, 237, 210, .76)), #eef0dc !important;
        box-shadow: inset 0 1px 0 #fff, 0 1px 2px rgba(66, 45, 26, .08) !important;
        box-sizing: border-box !important;
    }

    html#mainLayout[data-trav47-layout="desktop"] body.map .travian-desktop-map-dialog .travian-map-farm-units > .travian-map-unit > img.unit {
        display: block !important;
        grid-column: 1 !important;
        justify-self: center !important;
        margin: 0 !important;
        padding: 0 !important;
        transform: scale(1.08) !important;
        transform-origin: center !important;
    }

    html#mainLayout[data-trav47-layout="desktop"] body.map .travian-desktop-map-dialog .travian-map-farm-units > .travian-map-unit > input.text {
        display: block !important;
        grid-column: 2 !important;
        width: 100% !important;
        min-width: 0 !important;
        height: 27px !important;
        margin: 0 !important;
        padding: 3px !important;
        border: 1px solid #a9b99a !important;
        border-radius: 4px !important;
        color: #35402a !important;
        background: #fffdf7 !important;
        box-shadow: inset 0 1px 2px rgba(66, 45, 26, .10) !important;
        font: 400 12px/19px Tahoma, Arial, sans-serif !important;
        text-align: center !important;
        box-sizing: border-box !important;
    }

    html#mainLayout[data-trav47-layout="desktop"] body.map .travian-desktop-map-dialog .travian-map-farm-form .travian-map-action-buttons {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 100% !important;
        margin: 0 !important;
    }

    html#mainLayout[data-trav47-layout="desktop"] body.map .travian-desktop-map-dialog .travian-map-farm-form .travian-map-action-submit {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        min-width: 105px !important;
        min-height: 34px !important;
        margin: 0 !important;
        padding: 6px 16px !important;
        border: 1px solid #365d13 !important;
        border-radius: 6px !important;
        color: #fff9df !important;
        background: linear-gradient(180deg, #7eaf35, #4d811c) !important;
        box-shadow: inset 0 1px 0 rgba(255, 255, 255, .34), 0 1px 2px rgba(47, 35, 19, .28) !important;
        font: 700 13px/20px Tahoma, Arial, sans-serif !important;
        text-shadow: 0 1px 1px #29420f !important;
        cursor: pointer !important;
        box-sizing: border-box !important;
    }

    html#mainLayout[data-trav47-layout="desktop"] body.map .travian-desktop-map-dialog .travian-map-farm-form .travian-map-action-error {
        min-height: 0 !important;
        margin: 0 !important;
        color: #9b2f20 !important;
        font-weight: 700 !important;
        text-align: center !important;
    }

    html#mainLayout[data-trav47-layout="desktop"] body.map .travian-desktop-map-dialog .travian-map-farm-form .travian-map-action-error:empty {
        display: none !important;
    }
}

/* Desktop farm-list selector: size to the selected label instead of filling
 * the complete overlay width. */
@media screen and (min-width: 1025px) {
    html#mainLayout[data-trav47-layout="desktop"] body.map #tileDetails.trav47-map-tile .trav47-map-tile__actions .mapFarmOption .a.arrow.trav47-map-farm-edit:not(.disabled),
    html#mainLayout[data-trav47-layout="desktop"] body.map .dialog #tileDetails.trav47-map-tile .trav47-map-tile__actions .mapFarmOption .a.arrow.trav47-map-farm-edit:not(.disabled) {
        border-color: #b6c3a8 !important;
        color: #42672d !important;
        background: linear-gradient(180deg, #fffdf7, #e8efd9) !important;
        box-shadow: inset 0 1px 0 #fff, 0 1px 2px rgba(66, 45, 26, .12) !important;
    }

    html#mainLayout[data-trav47-layout="desktop"] body.map .mapReportActions .mapReportAction.trav47-map-farm-edit,
    html#mainLayout[data-trav47-layout="desktop"] body.map .trav47-map-tile__reports-head .mapReportAction.trav47-map-farm-edit {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        min-height: 24px !important;
        padding: 3px 10px !important;
        border: 1px solid #9bb588 !important;
        border-radius: 4px !important;
        color: #42672d !important;
        background: linear-gradient(180deg, #fffef9 0%, #e1ecd5 100%) !important;
        box-shadow: inset 0 1px 0 #fff, 0 1px 2px rgba(66, 45, 26, .16) !important;
        line-height: 16px !important;
        text-decoration: none !important;
        box-sizing: border-box !important;
    }

    html#mainLayout[data-trav47-layout="desktop"] body.map .mapReportActions .mapReportAction.trav47-map-farm-edit:hover,
    html#mainLayout[data-trav47-layout="desktop"] body.map .mapReportActions .mapReportAction.trav47-map-farm-edit:focus,
    html#mainLayout[data-trav47-layout="desktop"] body.map .trav47-map-tile__reports-head .mapReportAction.trav47-map-farm-edit:hover,
    html#mainLayout[data-trav47-layout="desktop"] body.map .trav47-map-tile__reports-head .mapReportAction.trav47-map-farm-edit:focus {
        border-color: #789a5e !important;
        color: #31541d !important;
        background: linear-gradient(180deg, #ffffff 0%, #d2e2c2 100%) !important;
    }

    html#mainLayout[data-trav47-layout="desktop"] body.map :is(#content.positionDetails.trav47-direct-position-details, .travian-desktop-map-dialog) .travian-map-farm-list-row:not(.has-source-note) {
        grid-template-columns: max-content max-content !important;
        justify-content: start !important;
    }

    html#mainLayout[data-trav47-layout="desktop"] body.map :is(#content.positionDetails.trav47-direct-position-details, .travian-desktop-map-dialog) .travian-map-farm-list-row > select.dropdown {
        field-sizing: fixed !important;
        justify-self: start !important;
        width: max-content !important;
        max-width: 440px !important;
        padding-right: 10px !important;
        padding-left: 15px !important;
    }
}
