/* -----------------------------
   Workplace places view (modern)
   Used in: app/workplace/places.html
   ----------------------------- */
#workplacePlacesModern.workplacePlacesModern.dashboardAdmin--modern .dashboard-grid {
    grid-template-columns: 1fr;
}

#workplacePlacesModern.workplacePlacesModern.dashboardAdmin--modern .workplacePlacesToolbar {
    margin-bottom: 12px;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 12px;
}

#workplacePlacesModern.workplacePlacesModern.dashboardAdmin--modern .workplacePlacesToolbarMeta {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-left: 0;
}

#workplacePlacesModern.workplacePlacesModern.dashboardAdmin--modern .workplacePlacesToolbarMetaText {
    display: inline-flex;
    align-items: center;
}

#workplacePlacesModern.workplacePlacesModern.dashboardAdmin--modern .workplacePlacesToolbarMetaSub {
    font-size: 13px;
    /* font-weight: 600; */
    color: #8ba0b7;
}

#workplacePlacesModern.workplacePlacesModern.dashboardAdmin--modern .workplacePlacesPageSize.form-control {
    width: 78px;
    height: 30px;
    border-radius: 4px;
    border: 1px solid #c2cad8;
    background: #ffffff;
    text-align: center;
    font-size: 12px;
    font-weight: 600;
    color: #4a5f77;
    padding: 2px 8px;
    box-shadow: none;
}

#workplacePlacesModern.workplacePlacesModern.dashboardAdmin--modern .workplacePlacesSearch {
    position: relative;
    flex: 1 1 320px;
    max-width: 420px;
}

/* type="search": sem o "x" e o arredondamento nativos, para ficar igual aos outros campos */
#workplacePlacesModern.workplacePlacesModern.dashboardAdmin--modern .workplacePlacesSearch input[type="search"] {
    -webkit-appearance: none;
    appearance: none;
}

#workplacePlacesModern.workplacePlacesModern.dashboardAdmin--modern .workplacePlacesSearch i {
    position: absolute;
    top: 50%;
    left: 10px;
    transform: translateY(-50%);
    color: #86a0b8;
    pointer-events: none;
}

#workplacePlacesModern.workplacePlacesModern.dashboardAdmin--modern .workplacePlacesSearch input.form-control {
    border-radius: 999px;
    border: 1px solid var(--dm-border-soft);
    background: #fbfdff;
    padding-left: 32px;
    height: 34px;
}

#workplacePlacesModern.workplacePlacesModern.dashboardAdmin--modern .workplacePlacesSearch input.form-control:focus {
    border-color: rgba(79, 124, 255, .5);
    box-shadow: 0 0 0 3px rgba(79, 124, 255, .12);
}

#workplacePlacesModern.workplacePlacesModern.dashboardAdmin--modern .workplacePlacesHeaderBadge {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 5px 11px;
    border-radius: 999px;
    border-width: 1px;
    border-style: solid;
    font-weight: 700;
}

#workplacePlacesModern.workplacePlacesModern.dashboardAdmin--modern .workplacePlacesHeaderBadge.is-places {
    border-color: #d5e2f8;
    background: #f7faff;
    color: #4c668d;
}

#workplacePlacesModern.workplacePlacesModern.dashboardAdmin--modern .workplacePlacesHeaderBadge i {
    opacity: .95;
}

/* Acção principal da página (o mesmo azul da página activa na paginação) */
#workplacePlacesModern.workplacePlacesModern.dashboardAdmin--modern .workplacePlacesNewBtn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    border-radius: 999px;
    padding: 9px 18px;
    border: 1px solid #5a89e6;
    background: linear-gradient(180deg, #6c98ee 0%, #5685df 100%);
    color: #ffffff;
    font-weight: 800;
    line-height: 1;
    box-shadow: 0 8px 18px rgba(86, 133, 223, .28), inset 0 1px 0 rgba(255, 255, 255, .28);
    transition: transform .16s ease, box-shadow .16s ease, background .16s ease;
}

#workplacePlacesModern.workplacePlacesModern.dashboardAdmin--modern .workplacePlacesNewBtn:hover,
#workplacePlacesModern.workplacePlacesModern.dashboardAdmin--modern .workplacePlacesNewBtn:focus {
    border-color: #4a78d6;
    background: linear-gradient(180deg, #5f8eea 0%, #4b7bd8 100%);
    color: #ffffff;
    text-decoration: none;
    box-shadow: 0 10px 22px rgba(86, 133, 223, .34), inset 0 1px 0 rgba(255, 255, 255, .28);
    transform: translateY(-1px);
}

#workplacePlacesModern.workplacePlacesModern.dashboardAdmin--modern .workplacePlacesNewBtn:focus-visible {
    outline: 3px solid rgba(86, 133, 223, .35);
    outline-offset: 2px;
}

#workplacePlacesModern.workplacePlacesModern.dashboardAdmin--modern .workplacePlacesNewBtn[disabled] {
    opacity: .5;
    cursor: not-allowed;
    transform: none;
    box-shadow: none;
}

/* O tooltip de um botão desactivado tem de estar no elemento à volta (botões desactivados não recebem o rato) */
#workplacePlacesModern.workplacePlacesModern.dashboardAdmin--modern .workplacePlacesNewBtnWrap {
    display: inline-block;
}

#workplacePlacesModern.workplacePlacesModern.dashboardAdmin--modern .workplacePlacesNewBtnWrap .workplacePlacesNewBtn[disabled] {
    pointer-events: none;
}

#workplacePlacesModern.workplacePlacesModern.dashboardAdmin--modern .workplacePlacesBuyBtn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    border-radius: 999px;
    padding: 8px 16px;
    border: 1px solid #e38a1f;
    background: linear-gradient(135deg, #ff8f2f 0%, #ffb34a 48%, #ffd677 100%);
    color: #6a3500;
    font-weight: 800;
    line-height: 1;
    box-shadow:
        0 12px 24px rgba(226, 128, 19, .34),
        inset 0 1px 0 rgba(255, 255, 255, .84);
    text-shadow: 0 1px 0 rgba(255, 255, 255, .48);
    transition: transform .16s ease, box-shadow .16s ease, filter .16s ease;
}

#workplacePlacesModern.workplacePlacesModern.dashboardAdmin--modern .workplacePlacesBuyBtn:hover,
#workplacePlacesModern.workplacePlacesModern.dashboardAdmin--modern .workplacePlacesBuyBtn:focus {
    border-color: #d97606;
    background: linear-gradient(135deg, #ff8319 0%, #ffab34 46%, #ffcf62 100%);
    color: #5a2d00;
    box-shadow:
        0 14px 26px rgba(216, 110, 2, .4),
        inset 0 1px 0 rgba(255, 255, 255, .88);
    transform: translateY(-1px) scale(1.02);
    filter: saturate(1.08);
}

#workplacePlacesModern.workplacePlacesModern.dashboardAdmin--modern .workplacePlacesBuyBtn:active {
    transform: translateY(0);
    box-shadow:
        0 8px 16px rgba(216, 110, 2, .3),
        inset 0 1px 0 rgba(255, 255, 255, .8);
}

#workplacePlacesModern.workplacePlacesModern.dashboardAdmin--modern .workplacePlacesBuyBtn[disabled] {
    opacity: .7;
    cursor: default;
    transform: none;
    box-shadow:
        0 6px 12px rgba(216, 110, 2, .18),
        inset 0 1px 0 rgba(255, 255, 255, .78);
}

#workplacePlacesModern.workplacePlacesModern.dashboardAdmin--modern .workplacePlacesPagination {
    padding-top: 12px;
    border-top: 1px solid #e5edf8;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 10px;
    flex-wrap: wrap;
}

/* Controlos da lista (pesquisa, filtro, intervalo, por página, páginas): em cima, antes dos cartões */
#workplacePlacesModern.workplacePlacesModern.dashboardAdmin--modern .workplacePlacesControls {
    margin-bottom: 18px;
}

/* User: sem a faixa da subscrição, uma linha separa o cabeçalho das moradas (mesma cor da linha da paginação) */
#workplacePlacesModern.workplacePlacesModern.dashboardAdmin--modern .userDetailsModernCardHeader.is-user {
    padding-bottom: 16px;
    border-bottom: 1px solid #e5edf8;
}

/* "Moradas por página" junto da paginação, encostado à direita */
#workplacePlacesModern.workplacePlacesModern.dashboardAdmin--modern .workplacePlacesPagerBottom {
    margin-top: 18px;
    display: flex;
    justify-content: flex-end;
}

#workplacePlacesModern.workplacePlacesModern.dashboardAdmin--modern .workplacePlacesPagerBottom .pagination {
    margin: 0;
}

#workplacePlacesModern.workplacePlacesModern.dashboardAdmin--modern .workplacePlacesPageSizeWrap {
    margin-left: auto;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

#workplacePlacesModern.workplacePlacesModern.dashboardAdmin--modern .workplacePlacesPageSizeWrap label {
    margin: 0;
    font-weight: 400;
}

#workplacePlacesModern.workplacePlacesModern.dashboardAdmin--modern .workplacePlacesPagination .pagination,
#workplacePlacesModern.workplacePlacesModern.dashboardAdmin--modern .workplacePlacesPagerBottom .pagination {
    margin: 0;
    border-radius: 10px;
    overflow: hidden;
    border: 1px solid #e2e7ef;
    background: #ffffff;
}

#workplacePlacesModern.workplacePlacesModern.dashboardAdmin--modern .workplacePlacesPagination .pagination>li>a,
#workplacePlacesModern.workplacePlacesModern.dashboardAdmin--modern .workplacePlacesPagination .pagination>li>span,
#workplacePlacesModern.workplacePlacesModern.dashboardAdmin--modern .workplacePlacesPagerBottom .pagination>li>a,
#workplacePlacesModern.workplacePlacesModern.dashboardAdmin--modern .workplacePlacesPagerBottom .pagination>li>span {
    min-width: 36px;
    height: 34px;
    line-height: 1;
    text-align: center;
    color: #5f6f81;
    border-color: #d9e0ea;
    background: #ffffff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 10px;
    transition: all .14s ease;
}

#workplacePlacesModern.workplacePlacesModern.dashboardAdmin--modern .workplacePlacesPagination .pagination>li>a i,
#workplacePlacesModern.workplacePlacesModern.dashboardAdmin--modern .workplacePlacesPagerBottom .pagination>li>a i {
    font-size: 17px;
    line-height: 1;
}

#workplacePlacesModern.workplacePlacesModern.dashboardAdmin--modern .workplacePlacesPagination .pagination>li>a:hover,
#workplacePlacesModern.workplacePlacesModern.dashboardAdmin--modern .workplacePlacesPagination .pagination>li>a:focus,
#workplacePlacesModern.workplacePlacesModern.dashboardAdmin--modern .workplacePlacesPagerBottom .pagination>li>a:hover,
#workplacePlacesModern.workplacePlacesModern.dashboardAdmin--modern .workplacePlacesPagerBottom .pagination>li>a:focus {
    color: #485766;
    border-color: #c8d1dd;
    background: #f4f6f9;
}

#workplacePlacesModern.workplacePlacesModern.dashboardAdmin--modern .workplacePlacesPagination .pagination>li.active>a,
#workplacePlacesModern.workplacePlacesModern.dashboardAdmin--modern .workplacePlacesPagination .pagination>li.active>span,
#workplacePlacesModern.workplacePlacesModern.dashboardAdmin--modern .workplacePlacesPagination .pagination>li.active>a:focus,
#workplacePlacesModern.workplacePlacesModern.dashboardAdmin--modern .workplacePlacesPagination .pagination>li.active>a:hover,
#workplacePlacesModern.workplacePlacesModern.dashboardAdmin--modern .workplacePlacesPagerBottom .pagination>li.active>a,
#workplacePlacesModern.workplacePlacesModern.dashboardAdmin--modern .workplacePlacesPagerBottom .pagination>li.active>span,
#workplacePlacesModern.workplacePlacesModern.dashboardAdmin--modern .workplacePlacesPagerBottom .pagination>li.active>a:focus,
#workplacePlacesModern.workplacePlacesModern.dashboardAdmin--modern .workplacePlacesPagerBottom .pagination>li.active>a:hover {
    border-color: #5a89e6;
    background: linear-gradient(180deg, #6c98ee 0%, #5685df 100%);
    color: #ffffff;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .28);
}

#workplacePlacesModern.workplacePlacesModern.dashboardAdmin--modern .workplacePlacesPagination .pagination>li.disabled>a,
#workplacePlacesModern.workplacePlacesModern.dashboardAdmin--modern .workplacePlacesPagination .pagination>li.disabled>span,
#workplacePlacesModern.workplacePlacesModern.dashboardAdmin--modern .workplacePlacesPagerBottom .pagination>li.disabled>a,
#workplacePlacesModern.workplacePlacesModern.dashboardAdmin--modern .workplacePlacesPagerBottom .pagination>li.disabled>span {
    color: #aab4bf;
    background: #ffffff;
    border-color: #e3e8ef;
    opacity: 1;
}

#workplacePlacesModern.workplacePlacesModern.dashboardAdmin--modern .workplacePlacesPageInfo {
    font-size: 11px;
    font-weight: 700;
    color: #5f6f81;
    border: 1px solid #d9e0ea;
    border-radius: 999px;
    background: #f7f9fc;
    padding: 5px 10px;
    letter-spacing: .2px;
}

#workplacePlacesModern.workplacePlacesModern.dashboardAdmin--modern .workplacePlacesList {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}

#workplacePlacesModern.workplacePlacesModern.dashboardAdmin--modern .workplacePlacesItem {
    --wp-accent: #2563eb;
    --wp-accent-strong: #1d4ed8;
    --wp-accent-soft: rgba(37, 99, 235, .11);
    --wp-accent-soft-2: #f5f8ff;
    --wp-accent-border: rgba(37, 99, 235, .2);
    --wp-avatar-bg: #e8efff;
    --wp-avatar-text: #1d4ed8;
    --wp-avatar-border: #d5e3ff;
    --wp-glow: rgba(37, 99, 235, .32);

    border: 1px solid rgba(180, 198, 222, .58);
    border-radius: 20px;
    background:
        radial-gradient(120% 130% at 100% 0%, var(--wp-accent-soft) 0%, rgba(255, 255, 255, 0) 52%),
        linear-gradient(180deg, #ffffff 0%, var(--wp-accent-soft-2) 100%);
    padding: 0;
    overflow: hidden;
    transition: transform .22s cubic-bezier(.2, .7, .2, 1), box-shadow .22s ease, border-color .22s ease;
    display: flex;
    flex-direction: column;
    position: relative;
    isolation: isolate;
}

#workplacePlacesModern.workplacePlacesModern.dashboardAdmin--modern .workplacePlacesItem::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    border: 1px solid rgba(255, 255, 255, .65);
    pointer-events: none;
    opacity: .55;
    z-index: 3;
}

#workplacePlacesModern.workplacePlacesModern.dashboardAdmin--modern .workplacePlacesItem > * {
    position: relative;
    z-index: 1;
}

#workplacePlacesModern.workplacePlacesModern.dashboardAdmin--modern .workplacePlacesItem .workplacePlacesCardBody {
    z-index: 2;
}

#workplacePlacesModern.workplacePlacesModern.dashboardAdmin--modern .workplacePlacesItem.is-clickable {
    cursor: pointer;
}

#workplacePlacesModern.workplacePlacesModern.dashboardAdmin--modern .workplacePlacesItem:hover {
    border-color: var(--wp-accent-border);
    transform: translateY(-3px);
    box-shadow:
        0 12px 22px rgba(21, 41, 71, .11),
        0 3px 10px rgba(37, 99, 235, .14);
}

#workplacePlacesModern.workplacePlacesModern.dashboardAdmin--modern .workplacePlacesMapThumbWrap {
    width: 100%;
    flex: 0 0 auto;
    position: relative;
    overflow: hidden;
}

#workplacePlacesModern.workplacePlacesModern.dashboardAdmin--modern .workplacePlacesMapThumb {
    width: 100%;
    height: 134px;
    border-radius: 0;
    object-fit: cover;
    display: block;
    border: 0;
    border-bottom: 1px solid var(--wp-accent-border);
    filter: saturate(1.14) contrast(1.05);
    transform: scale(1.03);
    transition: transform .35s ease, filter .35s ease;
}

#workplacePlacesModern.workplacePlacesModern.dashboardAdmin--modern .workplacePlacesMapThumb.is-empty {
    background: linear-gradient(135deg, var(--wp-accent-soft) 0%, #ffffff 100%);
    color: var(--wp-accent-strong);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    height: 134px;
    border-radius: 0;
    border-bottom: 1px solid var(--wp-accent-border);
}

#workplacePlacesModern.workplacePlacesModern.dashboardAdmin--modern .workplacePlacesMapOverlay {
    position: absolute;
    left: 10px;
    right: 10px;
    bottom: 10px;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    pointer-events: none;
}

#workplacePlacesModern.workplacePlacesModern.dashboardAdmin--modern .workplacePlacesMapLabel {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    max-width: 100%;
    border-radius: 999px;
    padding: 6px 11px;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .2px;
    color: #ffffff;
    border: 1px solid rgba(185, 231, 247, .62);
    background: linear-gradient(90deg, rgba(37, 92, 170, .88) 0%, rgba(24, 151, 146, .78) 100%);
    backdrop-filter: blur(3px);
    box-shadow: 0 8px 18px rgba(25, 86, 144, .28);
}

#workplacePlacesModern.workplacePlacesModern.dashboardAdmin--modern .workplacePlacesMapLabel span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    display: block;
}

#workplacePlacesModern.workplacePlacesModern.dashboardAdmin--modern .workplacePlacesItem:hover .workplacePlacesMapThumb {
    transform: scale(1.07);
    filter: saturate(1.2) contrast(1.08);
}

#workplacePlacesModern.workplacePlacesModern.dashboardAdmin--modern .workplacePlacesCardBody {
    padding: 14px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    min-height: 205px;
}

#workplacePlacesModern.workplacePlacesModern.dashboardAdmin--modern .workplacePlacesItemTitleWrap {
    min-width: 0;
}

#workplacePlacesModern.workplacePlacesModern.dashboardAdmin--modern .workplacePlacesItemTitle {
    margin: 0;
    color: #1d2c44;
    font-weight: 800;
    font-size: 19px;
    line-height: 1.2;
    overflow-wrap: anywhere;
}

#workplacePlacesModern.workplacePlacesModern.dashboardAdmin--modern .workplacePlacesItemAddress {
    margin-top: 4px;
    color: #5f7387;
    font-size: 13px;
    line-height: 1.4;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

#workplacePlacesModern.workplacePlacesModern.dashboardAdmin--modern .workplacePlacesItemBadges {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    justify-content: flex-start;
    margin-top: 8px;
}

#workplacePlacesModern.workplacePlacesModern.dashboardAdmin--modern .workplacePlacesItemBadge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 5px 11px;
    border-radius: 999px;
    border: 1px solid var(--wp-accent-border);
    background: linear-gradient(180deg, rgba(255, 255, 255, .92), var(--wp-accent-soft));
    color: var(--wp-accent-strong);
    font-size: 12px;
    font-weight: 800;
    max-width: 100%;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .66);
}

#workplacePlacesModern.workplacePlacesModern.dashboardAdmin--modern .workplacePlacesItemBadge span {
    max-width: 190px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    display: inline-block;
}

#workplacePlacesModern.workplacePlacesModern.dashboardAdmin--modern .workplacePlacesPeople {
    margin-top: auto;
    border-top: 1px dashed rgba(183, 200, 220, .7);
    padding-top: 11px;
}

#workplacePlacesModern.workplacePlacesModern.dashboardAdmin--modern .workplacePlacesPeopleHeader {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

#workplacePlacesModern.workplacePlacesModern.dashboardAdmin--modern .workplacePlacesPeopleLabel {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .6px;
    color: #5f7387;
}

#workplacePlacesModern.workplacePlacesModern.dashboardAdmin--modern .workplacePlacesPeopleCount {
    min-width: 24px;
    height: 24px;
    border-radius: 999px;
    padding: 0 8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    font-weight: 800;
    background: linear-gradient(180deg, #ffffff 0%, var(--wp-accent-soft) 100%);
    color: var(--wp-accent-strong);
    border: 1px solid var(--wp-accent-border);
}

#workplacePlacesModern.workplacePlacesModern.dashboardAdmin--modern .workplacePlacesPeopleStack {
    margin-top: 10px;
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    gap: 0;
    min-height: 36px;
}

#workplacePlacesModern.workplacePlacesModern.dashboardAdmin--modern .workplacePlacesPeopleAvatar {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    background: var(--wp-avatar-bg);
    color: var(--wp-avatar-text);
    border: 2px solid #ffffff;
    font-size: 12px;
    font-weight: 800;
    box-shadow: none;
    margin-left: -8px;
    transition: transform .18s ease;
}

#workplacePlacesModern.workplacePlacesModern.dashboardAdmin--modern .workplacePlacesPeopleAvatar:first-child {
    margin-left: 0;
}

#workplacePlacesModern.workplacePlacesModern.dashboardAdmin--modern .workplacePlacesPeopleAvatar:hover {
    transform: translateY(-2px);
}

#workplacePlacesModern.workplacePlacesModern.dashboardAdmin--modern .workplacePlacesPeopleAvatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

#workplacePlacesModern.workplacePlacesModern.dashboardAdmin--modern .workplacePlacesPeopleMore {
    min-width: 38px;
    height: 36px;
    border-radius: 999px;
    padding: 0 11px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-left: -8px;
    background: linear-gradient(180deg, #ffffff 0%, var(--wp-accent-soft) 100%);
    color: var(--wp-accent-strong);
    font-size: 12px;
    font-weight: 800;
    border: 2px solid #ffffff;
    box-shadow: none;
}

#workplacePlacesModern.workplacePlacesModern.dashboardAdmin--modern .workplacePlacesItem.is-tone-0 {
    --wp-accent: #2c6bff;
    --wp-accent-strong: #1e4ec8;
    --wp-accent-soft: rgba(44, 107, 255, .14);
    --wp-accent-soft-2: #f5f8ff;
    --wp-accent-border: rgba(44, 107, 255, .28);
    --wp-avatar-bg: #e6eeff;
    --wp-avatar-text: #1e4ec8;
    --wp-avatar-border: #d6e3ff;
    --wp-glow: rgba(44, 107, 255, .34);
}

#workplacePlacesModern.workplacePlacesModern.dashboardAdmin--modern .workplacePlacesItem.is-tone-1 {
    --wp-accent: #0f9ba8;
    --wp-accent-strong: #0b6f82;
    --wp-accent-soft: rgba(15, 155, 168, .16);
    --wp-accent-soft-2: #f3fdfd;
    --wp-accent-border: rgba(15, 155, 168, .31);
    --wp-avatar-bg: #def5f7;
    --wp-avatar-text: #0b6f82;
    --wp-avatar-border: #c8eaed;
    --wp-glow: rgba(15, 155, 168, .31);
}

#workplacePlacesModern.workplacePlacesModern.dashboardAdmin--modern .workplacePlacesItem.is-tone-2 {
    --wp-accent: #7b48ce;
    --wp-accent-strong: #5c32a2;
    --wp-accent-soft: rgba(123, 72, 206, .15);
    --wp-accent-soft-2: #faf6ff;
    --wp-accent-border: rgba(123, 72, 206, .3);
    --wp-avatar-bg: #f0e5ff;
    --wp-avatar-text: #5c32a2;
    --wp-avatar-border: #e2d3fa;
    --wp-glow: rgba(123, 72, 206, .3);
}

#workplacePlacesModern.workplacePlacesModern.dashboardAdmin--modern .workplacePlacesItem.is-tone-3 {
    --wp-accent: #e37c1e;
    --wp-accent-strong: #a64d0c;
    --wp-accent-soft: rgba(227, 124, 30, .16);
    --wp-accent-soft-2: #fffaf4;
    --wp-accent-border: rgba(227, 124, 30, .32);
    --wp-avatar-bg: #ffebd7;
    --wp-avatar-text: #a64d0c;
    --wp-avatar-border: #f7dbbf;
    --wp-glow: rgba(227, 124, 30, .29);
}

#workplacePlacesModern.workplacePlacesModern.dashboardAdmin--modern .workplacePlacesItem.is-tone-4 {
    --wp-accent: #19a35f;
    --wp-accent-strong: #127245;
    --wp-accent-soft: rgba(25, 163, 95, .15);
    --wp-accent-soft-2: #f3fcf7;
    --wp-accent-border: rgba(25, 163, 95, .29);
    --wp-avatar-bg: #dff7ea;
    --wp-avatar-text: #127245;
    --wp-avatar-border: #c9ecd8;
    --wp-glow: rgba(25, 163, 95, .29);
}

#workplacePlacesModern.workplacePlacesModern.dashboardAdmin--modern .workplacePlacesItem.is-tone-5 {
    --wp-accent: #da3f7a;
    --wp-accent-strong: #9a1f4d;
    --wp-accent-soft: rgba(218, 63, 122, .15);
    --wp-accent-soft-2: #fff6fa;
    --wp-accent-border: rgba(218, 63, 122, .28);
    --wp-avatar-bg: #fbe3ee;
    --wp-avatar-text: #9a1f4d;
    --wp-avatar-border: #f2cde0;
    --wp-glow: rgba(218, 63, 122, .28);
}

#workplacePlacesModern.workplacePlacesModern.dashboardAdmin--modern .workplacePlacesEmployeesEmpty,
#workplacePlacesModern.workplacePlacesModern.dashboardAdmin--modern .workplacePlacesEmpty {
    margin-top: 10px;
    border: 1px dashed var(--dm-border);
    border-radius: 12px;
    padding: 28px 16px;
    background: var(--dm-soft-blue);
    color: var(--dm-muted);
    font-size: 13px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    text-align: center;
}

#workplacePlacesModern.workplacePlacesModern.dashboardAdmin--modern .workplacePlacesEmpty > i {
    font-size: 26px;
    color: #9fb3cc;
}

/* Faixa da subscrição: moradas activas vs limite (o padrão de barra do dashboard: compliance-bar) */
#workplacePlacesModern.workplacePlacesModern.dashboardAdmin--modern .workplacePlacesUsage {
    display: flex;
    align-items: center;
    gap: 16px;
    margin: 0 0 16px;
    padding: 12px 16px;
    border: 1px solid var(--dm-border-soft);
    border-radius: 14px;
    background: var(--dm-surface-2);
}

#workplacePlacesModern.workplacePlacesModern.dashboardAdmin--modern .workplacePlacesUsageMain {
    flex: 1 1 auto;
    min-width: 0;
}

#workplacePlacesModern.workplacePlacesModern.dashboardAdmin--modern .workplacePlacesUsageHead {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 8px;
}

#workplacePlacesModern.workplacePlacesModern.dashboardAdmin--modern .workplacePlacesUsageLabel {
    font-size: 13px;
    font-weight: 700;
    color: #556d88;
}

#workplacePlacesModern.workplacePlacesModern.dashboardAdmin--modern .workplacePlacesUsageValue {
    font-size: 13px;
    color: var(--dm-muted);
    white-space: nowrap;
}

#workplacePlacesModern.workplacePlacesModern.dashboardAdmin--modern .workplacePlacesUsageValue strong {
    font-size: 16px;
    color: var(--dm-text);
}

#workplacePlacesModern.workplacePlacesModern.dashboardAdmin--modern .workplacePlacesUsageBar {
    height: 8px;
    border-radius: 999px;
    background: var(--dm-border);
    overflow: hidden;
}

#workplacePlacesModern.workplacePlacesModern.dashboardAdmin--modern .workplacePlacesUsageFill {
    height: 100%;
    border-radius: 999px;
    background: linear-gradient(90deg, #6c98ee 0%, #5685df 100%);
    transition: width .3s ease;
}

#workplacePlacesModern.workplacePlacesModern.dashboardAdmin--modern .workplacePlacesUsage.is-near .workplacePlacesUsageFill {
    background: linear-gradient(90deg, #ffb34a 0%, #ff8f2f 100%);
}

#workplacePlacesModern.workplacePlacesModern.dashboardAdmin--modern .workplacePlacesUsage.is-full {
    border-color: #f6dcb6;
    background: #fffaf2;
}

#workplacePlacesModern.workplacePlacesModern.dashboardAdmin--modern .workplacePlacesUsage.is-full .workplacePlacesUsageFill {
    background: linear-gradient(90deg, #ff8f2f 0%, #e3701a 100%);
}

#workplacePlacesModern.workplacePlacesModern.dashboardAdmin--modern .workplacePlacesUsageHint {
    margin-top: 8px;
    font-size: 12px;
    color: #9a5a12;
}

#workplacePlacesModern.workplacePlacesModern.dashboardAdmin--modern .workplacePlacesUsage .workplacePlacesBuyBtn {
    flex: 0 0 auto;
}

/* -----------------------------
   Workplace place details view
   Used in: app/workplace/places/details.html
   ----------------------------- */
#workplacePlaceDetailsModern.workplacePlaceDetailsModern.dashboardAdmin--modern .dashboard-grid {
    grid-template-columns: 1fr;
}

#workplacePlaceDetailsModern.workplacePlaceDetailsModern.dashboardAdmin--modern .workplacePlaceDetailsBadge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

#workplacePlaceDetailsModern.workplacePlaceDetailsModern.dashboardAdmin--modern .workplacePlaceDetailsBadge.is-primary {
    border-color: rgba(241, 186, 45, .5);
    background: #fff9eb;
    color: #b87400;
}

#workplacePlaceDetailsModern.workplacePlaceDetailsModern.dashboardAdmin--modern .workplacePlaceDetailsEditBtn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    border-radius: 999px;
    padding: 6px 12px;
    border: 1px solid #b8d2f7;
    background: #eef5ff;
    color: #2d5f9f;
    font-weight: 700;
}

#workplacePlaceDetailsModern.workplacePlaceDetailsModern.dashboardAdmin--modern .workplacePlaceDetailsEditBtn:hover,
#workplacePlaceDetailsModern.workplacePlaceDetailsModern.dashboardAdmin--modern .workplacePlaceDetailsEditBtn:focus {
    border-color: #9fc2f2;
    background: #e2eeff;
    color: #234f88;
    text-decoration: none;
}

#workplacePlaceDetailsModern.workplacePlaceDetailsModern.dashboardAdmin--modern .workplacePlaceDetailsMapWrap {
    margin-top: 14px;
    border: 1px solid #d8e3f2;
    border-radius: 16px;
    overflow: hidden;
    background: #f8fbff;
}

#workplacePlaceDetailsModern.workplacePlaceDetailsModern.dashboardAdmin--modern .workplacePlaceDetailsMap {
    width: 100%;
    height: 280px;
    object-fit: cover;
    display: block;
}

#workplacePlaceDetailsModern.workplacePlaceDetailsModern.dashboardAdmin--modern .workplacePlaceDetailsMap.is-empty {
    height: 280px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 8px;
    color: #69819d;
    font-size: 18px;
    font-weight: 700;
    background: linear-gradient(135deg, #edf4ff 0%, #f8fbff 100%);
}

#workplacePlaceDetailsModern.workplacePlaceDetailsModern.dashboardAdmin--modern .workplacePlaceDetailsLines .userDetailsModernLineLabel {
    min-width: 130px;
}

#workplacePlaceDetailsModern.workplacePlaceDetailsModern.dashboardAdmin--modern .workplacePlaceDetailsEmployeesCount {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    border: 1px solid #d9e4f4;
    background: linear-gradient(180deg, #ffffff 0%, #f3f8ff 100%);
    color: #34537a;
    font-weight: 800;
}

#workplacePlaceDetailsModern.workplacePlaceDetailsModern.dashboardAdmin--modern .workplacePlaceDetailsUsersGrid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(270px, 1fr));
    gap: 12px;
}

#workplacePlaceDetailsModern.workplacePlaceDetailsModern.dashboardAdmin--modern .workplacePlaceDetailsUserItem.request-item {
    margin-bottom: 0;
    flex-wrap: nowrap;
    min-width: 0;
}

#workplacePlaceDetailsModern.workplacePlaceDetailsModern.dashboardAdmin--modern .workplacePlaceDetailsUserItem .request-avatar,
#workplacePlaceDetailsModern.workplacePlaceDetailsModern.dashboardAdmin--modern .workplacePlaceDetailsUserItem .request-avatar-fallback {
    flex: 0 0 46px;
}

#workplacePlaceDetailsModern.workplacePlaceDetailsModern.dashboardAdmin--modern .workplacePlaceDetailsUserItem .request-text {
    min-width: 0;
}

#workplacePlaceDetailsModern.workplacePlaceDetailsModern.dashboardAdmin--modern .workplacePlaceDetailsUserItem .request-name,
#workplacePlaceDetailsModern.workplacePlaceDetailsModern.dashboardAdmin--modern .workplacePlaceDetailsUserItem .request-sub {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

#workplacePlaceDetailsModern.workplacePlaceDetailsModern.dashboardAdmin--modern .workplacePlaceDetailsUserItem .request-sub {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

#workplacePlaceDetailsModern.workplacePlaceDetailsModern.dashboardAdmin--modern .workplacePlaceDetailsUsersEmpty {
    margin-top: 0;
}

#workplacePlaceDetailsModern.workplacePlaceDetailsModern.dashboardAdmin--modern .workplacePlaceDetailsEmpty {
    margin-top: 0;
}

/* -----------------------------
   Workplace place form view
   Used in: app/workplace/places/form.html
   ----------------------------- */
#workplacePlaceFormModern.workplacePlaceFormModern.dashboardAdmin--modern .dashboard-grid {
    grid-template-columns: 1fr;
}

#workplacePlaceFormModern.workplacePlaceFormModern.dashboardAdmin--modern .workplacePlaceFormIdBadge {
    border-color: #d5e3f6;
    background: #f5f9ff;
    color: #4f6789;
}

#workplacePlaceFormModern.workplacePlaceFormModern.dashboardAdmin--modern .workplacePlaceFormCancelBtn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    border-radius: 999px;
    border: 1px solid #d1dce9;
    background: #ffffff;
    color: #556b86;
    font-weight: 700;
}

#workplacePlaceFormModern.workplacePlaceFormModern.dashboardAdmin--modern .workplacePlaceFormCancelBtn:hover,
#workplacePlaceFormModern.workplacePlaceFormModern.dashboardAdmin--modern .workplacePlaceFormCancelBtn:focus {
    border-color: #c0d0e4;
    background: #f8fbff;
    color: #3e5674;
}

#workplacePlaceFormModern.workplacePlaceFormModern.dashboardAdmin--modern .workplacePlaceFormSaveBtn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    border-radius: 999px;
    border: 1px solid #4f81d8;
    background: linear-gradient(180deg, #6d98ee 0%, #5685df 100%);
    color: #ffffff;
    font-weight: 700;
}

#workplacePlaceFormModern.workplacePlaceFormModern.dashboardAdmin--modern .workplacePlaceFormSaveBtn:hover,
#workplacePlaceFormModern.workplacePlaceFormModern.dashboardAdmin--modern .workplacePlaceFormSaveBtn:focus {
    border-color: #3f71c9;
    background: linear-gradient(180deg, #5e8ce9 0%, #4d7ed9 100%);
    color: #ffffff;
}

#workplacePlaceFormModern.workplacePlaceFormModern.dashboardAdmin--modern .workplacePlaceFormGrid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

#workplacePlaceFormModern.workplacePlaceFormModern.dashboardAdmin--modern .workplacePlaceFormField {
    min-width: 0;
}

#workplacePlaceFormModern.workplacePlaceFormModern.dashboardAdmin--modern .workplacePlaceFormField.is-full {
    grid-column: 1 / -1;
}

#workplacePlaceFormModern.workplacePlaceFormModern.dashboardAdmin--modern .workplacePlaceFormField label {
    display: block;
    margin: 0 0 6px;
    font-size: 12px;
    font-weight: 700;
    color: #667f9a;
}

#workplacePlaceFormModern.workplacePlaceFormModern.dashboardAdmin--modern .workplacePlaceFormField .form-control {
    height: 36px;
    border-radius: 10px;
    border: 1px solid #d4e0ef;
    background: #ffffff;
    color: #2d425b;
    box-shadow: none;
}

#workplacePlaceFormModern.workplacePlaceFormModern.dashboardAdmin--modern .workplacePlaceFormField .form-control:focus {
    border-color: #9fbfeb;
    box-shadow: 0 0 0 3px rgba(88, 136, 214, .12);
}

#workplacePlaceFormModern.workplacePlaceFormModern.dashboardAdmin--modern .workplacePlaceFormHint {
    margin-top: 5px;
    font-size: 11px;
    color: #7b90a8;
}

#workplacePlaceFormModern.workplacePlaceFormModern.dashboardAdmin--modern .workplacePlaceFormCoordinateActions {
    margin-top: 8px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    flex-wrap: wrap;
}

#workplacePlaceFormModern.workplacePlaceFormModern.dashboardAdmin--modern .workplacePlaceFormGeoBtn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    border-radius: 999px;
    border: 1px solid #c5d8f3;
    background: #f2f7ff;
    color: #2e5c94;
    font-weight: 700;
    padding: 6px 12px;
}

#workplacePlaceFormModern.workplacePlaceFormModern.dashboardAdmin--modern .workplacePlaceFormGeoBtn:hover,
#workplacePlaceFormModern.workplacePlaceFormModern.dashboardAdmin--modern .workplacePlaceFormGeoBtn:focus {
    border-color: #afcaef;
    background: #e9f2ff;
    color: #224b7d;
}

#workplacePlaceFormModern.workplacePlaceFormModern.dashboardAdmin--modern .workplacePlaceFormGeoBtn[disabled] {
    opacity: .65;
    cursor: default;
}

#workplacePlaceFormModern.workplacePlaceFormModern.dashboardAdmin--modern .workplacePlaceFormEmployeesField {
    margin-top: 2px;
}

#workplacePlaceFormModern.workplacePlaceFormModern.dashboardAdmin--modern .workplacePlaceFormEmployeesHeader {
    margin-bottom: 0;
    border: 1px solid #dbe5f2;
    border-radius: 14px;
    background: #f8fbff;
    padding: 12px 14px;
    cursor: pointer;
    user-select: none;
    transition: border-color .15s ease, background-color .15s ease;
}

#workplacePlaceFormModern.workplacePlaceFormModern.dashboardAdmin--modern .workplacePlaceFormEmployeesHeader:hover,
#workplacePlaceFormModern.workplacePlaceFormModern.dashboardAdmin--modern .workplacePlaceFormEmployeesHeader:focus {
    outline: none;
    border-color: #c5d7ee;
    background: #f3f8ff;
}

#workplacePlaceFormModern.workplacePlaceFormModern.dashboardAdmin--modern .workplacePlaceFormEmployeesHeaderIcon {
    flex: 0 0 auto;
}

#workplacePlaceFormModern.workplacePlaceFormModern.dashboardAdmin--modern .workplacePlaceFormEmployeesHeaderTitle {
    font-size: 16px;
    font-weight: 700;
    line-height: 1.2;
    color: var(--dm-text);
}

#workplacePlaceFormModern.workplacePlaceFormModern.dashboardAdmin--modern .workplacePlaceFormEmployeesHeaderSub {
    max-width: 520px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

#workplacePlaceFormModern.workplacePlaceFormModern.dashboardAdmin--modern .workplacePlaceFormEmployeesHeaderActions {
    gap: 8px;
}

#workplacePlaceFormModern.workplacePlaceFormModern.dashboardAdmin--modern .workplacePlaceFormEmployeesHeaderCount {
    min-width: 30px;
    justify-content: center;
    padding-left: 10px;
    padding-right: 10px;
}

#workplacePlaceFormModern.workplacePlaceFormModern.dashboardAdmin--modern .workplacePlaceFormEmployeesHeaderChevron {
    width: 28px;
    height: 28px;
    justify-content: center;
    padding: 0;
    font-size: 18px;
    line-height: 1;
}

#workplacePlaceFormModern.workplacePlaceFormModern.dashboardAdmin--modern .workplacePlaceFormEmployeesLayout {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    align-items: stretch;
    margin-top: 10px;
}

#workplacePlaceFormModern.workplacePlaceFormModern.dashboardAdmin--modern .workplacePlaceFormEmployeesPanel {
    border: 1px solid #e0e8f3;
    border-radius: 14px;
    background: #ffffff;
    padding: 12px;
    min-width: 0;
    box-shadow: none;
}

#workplacePlaceFormModern.workplacePlaceFormModern.dashboardAdmin--modern .workplacePlaceFormEmployeesPanel:nth-child(2) {
    border-color: #e0e8f3;
    background: #ffffff;
}

#workplacePlaceFormModern.workplacePlaceFormModern.dashboardAdmin--modern .workplacePlaceFormEmployeesPanelHead {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 8px;
    gap: 8px;
}

#workplacePlaceFormModern.workplacePlaceFormModern.dashboardAdmin--modern .workplacePlaceFormEmployeesPanelTitle {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .03em;
    text-transform: uppercase;
    color: #6b7c93;
}

#workplacePlaceFormModern.workplacePlaceFormModern.dashboardAdmin--modern .workplacePlaceFormEmployeesPanelCount {
    min-width: 30px;
    justify-content: center;
    padding-left: 10px;
    padding-right: 10px;
}

#workplacePlaceFormModern.workplacePlaceFormModern.dashboardAdmin--modern .workplacePlaceFormEmployeesPanel:nth-child(2) .workplacePlaceFormEmployeesPanelTitle {
    color: #6b7c93;
}

#workplacePlaceFormModern.workplacePlaceFormModern.dashboardAdmin--modern .workplacePlaceFormEmployeesPanel:nth-child(2) .workplacePlaceFormEmployeesPanelCount {
    border-color: var(--dm-border-soft);
    background: var(--dm-soft-blue);
    color: #2a5aa6;
}

#workplacePlaceFormModern.workplacePlaceFormModern.dashboardAdmin--modern .workplacePlaceFormEmployeesSelect .ui-select-match > .btn {
    min-height: 36px;
    border-radius: 10px;
    border: 1px solid #d4e0ef;
    background: #ffffff;
    overflow: hidden;
    box-shadow: none;
}

#workplacePlaceFormModern.workplacePlaceFormModern.dashboardAdmin--modern .workplacePlaceFormEmployeesSelect .ui-select-match > .btn:focus,
#workplacePlaceFormModern.workplacePlaceFormModern.dashboardAdmin--modern .workplacePlaceFormEmployeesSelect.ui-select-focus .ui-select-match > .btn {
    border-color: #9fbfeb;
    box-shadow: none;
}

#workplacePlaceFormModern.workplacePlaceFormModern.dashboardAdmin--modern .workplacePlaceFormEmployeesSelect .ui-select-choices,
#workplacePlaceFormModern.workplacePlaceFormModern.dashboardAdmin--modern .workplacePlaceFormEmployeesSelect .ui-select-no-choice {
    max-height: 230px;
    box-shadow: none !important;
}

#workplacePlaceFormModern.workplacePlaceFormModern.dashboardAdmin--modern .workplacePlaceFormEmployeeChoice {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
}

#workplacePlaceFormModern.workplacePlaceFormModern.dashboardAdmin--modern .workplacePlaceFormEmployeeChoice .request-avatar,
#workplacePlaceFormModern.workplacePlaceFormModern.dashboardAdmin--modern .workplacePlaceFormEmployeeChoice .request-avatar-fallback {
    width: 32px;
    height: 32px;
    flex: 0 0 32px;
}

#workplacePlaceFormModern.workplacePlaceFormModern.dashboardAdmin--modern .workplacePlaceFormEmployeesMeta {
    margin-top: 8px;
    color: #6884a2;
    font-size: 12px;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

#workplacePlaceFormModern.workplacePlaceFormModern.dashboardAdmin--modern .workplacePlaceFormEmployeesList {
    margin-top: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
    max-height: 210px;
    overflow-y: auto;
    overflow-x: hidden;
    padding-right: 4px;
}

#workplacePlaceFormModern.workplacePlaceFormModern.dashboardAdmin--modern .workplacePlaceFormEmployeeItem.request-item {
    margin-bottom: 0;
    min-width: 0;
    width: 100%;
    flex-wrap: nowrap;
}

#workplacePlaceFormModern.workplacePlaceFormModern.dashboardAdmin--modern .workplacePlaceFormEmployeeItem .request-text {
    min-width: 0;
    flex: 1 1 auto;
}

/* A bola das iniciais/avatar não pode encolher (ficava oval ao lado de nomes compridos) */
#workplacePlaceFormModern.workplacePlaceFormModern.dashboardAdmin--modern .workplacePlaceFormEmployeeItem .request-avatar,
#workplacePlaceFormModern.workplacePlaceFormModern.dashboardAdmin--modern .workplacePlaceFormEmployeeItem .request-avatar-fallback {
    flex: 0 0 46px;
}

#workplacePlaceFormModern.workplacePlaceFormModern.dashboardAdmin--modern .workplacePlaceFormEmployeeItem .request-name,
#workplacePlaceFormModern.workplacePlaceFormModern.dashboardAdmin--modern .workplacePlaceFormEmployeeItem .request-sub {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

#workplacePlaceFormModern.workplacePlaceFormModern.dashboardAdmin--modern .workplacePlaceFormEmployeeRemove {
    border-radius: 999px;
    border: 1px solid #d5dfed;
    background: #ffffff;
    color: #556d88;
    font-weight: 700;
    padding: 4px 9px;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    flex: 0 0 auto;
}

#workplacePlaceFormModern.workplacePlaceFormModern.dashboardAdmin--modern .workplacePlaceFormEmployeeRemove:hover,
#workplacePlaceFormModern.workplacePlaceFormModern.dashboardAdmin--modern .workplacePlaceFormEmployeeRemove:focus {
    border-color: #c3d2e8;
    background: #f7faff;
    color: #3d5676;
}

#workplacePlaceFormModern.workplacePlaceFormModern.dashboardAdmin--modern .workplacePlaceFormEmployeesEmpty {
    margin-top: 0;
}

#workplacePlaceFormModern.workplacePlaceFormModern.dashboardAdmin--modern .workplacePlaceFormCheck {
    margin: 2px 0 0;
    font-size: 13px;
    font-weight: 700;
    color: #4c6380;
}

#workplacePlaceFormModern.workplacePlaceFormModern.dashboardAdmin--modern .workplacePlaceFormMapWrap,
#workplacePlaceFromUserModal .workplacePlaceFormMapWrap {
    border: 1px solid #d8e3f2;
    border-radius: 16px;
    overflow: hidden;
    background: #f8fbff;
    position: relative;
}

#workplacePlaceFormModern.workplacePlaceFormModern.dashboardAdmin--modern .workplacePlaceFormMap,
#workplacePlaceFromUserModal .workplacePlaceFormMap {
    width: 100%;
    height: 260px;
    object-fit: cover;
    display: block;
}

#workplacePlaceFormModern.workplacePlaceFormModern.dashboardAdmin--modern .workplacePlaceFormMap.is-clickable,
#workplacePlaceFromUserModal .workplacePlaceFormMap.is-clickable {
    cursor: crosshair;
}

#workplacePlaceFormModern.workplacePlaceFormModern.dashboardAdmin--modern .workplacePlaceFormMapToolbar,
#workplacePlaceFromUserModal .workplacePlaceFormMapToolbar {
    position: absolute;
    top: 10px;
    right: 10px;
    z-index: 3;
    display: inline-flex;
    flex-direction: column;
    align-items: stretch;
    border-radius: 10px;
    padding: 0;
    overflow: hidden;
    background: rgba(255, 255, 255, .96);
    border: 1px solid rgba(203, 216, 233, .95);
    box-shadow: 0 3px 9px rgba(43, 76, 125, .16);
}

#workplacePlaceFormModern.workplacePlaceFormModern.dashboardAdmin--modern .workplacePlaceFormMapZoomBtn,
#workplacePlaceFromUserModal .workplacePlaceFormMapZoomBtn {
    width: 34px;
    height: 34px;
    border-radius: 0;
    border: 0;
    border-top: 1px solid #cfdaea;
    background: #ffffff;
    color: #436287;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin: 0;
}

#workplacePlaceFormModern.workplacePlaceFormModern.dashboardAdmin--modern .workplacePlaceFormMapZoomBtn:first-child,
#workplacePlaceFromUserModal .workplacePlaceFormMapZoomBtn:first-child {
    border-top: 0;
}

#workplacePlaceFormModern.workplacePlaceFormModern.dashboardAdmin--modern .workplacePlaceFormMapZoomBtn i,
#workplacePlaceFromUserModal .workplacePlaceFormMapZoomBtn i {
    font-size: 13px;
    line-height: 1;
}

#workplacePlaceFormModern.workplacePlaceFormModern.dashboardAdmin--modern .workplacePlaceFormMapZoomBtn:hover,
#workplacePlaceFromUserModal .workplacePlaceFormMapZoomBtn:hover,
#workplacePlaceFormModern.workplacePlaceFormModern.dashboardAdmin--modern .workplacePlaceFormMapZoomBtn:focus,
#workplacePlaceFromUserModal .workplacePlaceFormMapZoomBtn:focus {
    background: #f3f8ff;
    color: #2e4e74;
}

#workplacePlaceFormModern.workplacePlaceFormModern.dashboardAdmin--modern .workplacePlaceFormMapZoomBtn[disabled],
#workplacePlaceFromUserModal .workplacePlaceFormMapZoomBtn[disabled] {
    opacity: .46;
    cursor: default;
}

#workplacePlaceFormModern.workplacePlaceFormModern.dashboardAdmin--modern .workplacePlaceFormMapHint,
#workplacePlaceFromUserModal .workplacePlaceFormMapHint {
    position: absolute;
    left: 10px;
    bottom: 10px;
    z-index: 3;
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    padding: 5px 10px;
    font-size: 12px;
    font-weight: 700;
    color: #ffffff;
    background: rgba(43, 76, 125, .84);
    backdrop-filter: blur(2px);
}

#workplacePlaceFormModern.workplacePlaceFormModern.dashboardAdmin--modern .workplacePlaceFormMap.is-empty,
#workplacePlaceFromUserModal .workplacePlaceFormMap.is-empty {
    width: 100%;
    height: 260px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 8px;
    color: #69819d;
    font-size: 18px;
    font-weight: 700;
    background: linear-gradient(135deg, #edf4ff 0%, #f8fbff 100%);
}

@media (max-width: 991px) {
    #workplacePlacesModern.workplacePlacesModern.dashboardAdmin--modern .workplacePlacesList {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    #workplacePlaceDetailsModern.workplacePlaceDetailsModern.dashboardAdmin--modern .workplacePlaceDetailsMap,
    #workplacePlaceDetailsModern.workplacePlaceDetailsModern.dashboardAdmin--modern .workplacePlaceDetailsMap.is-empty {
        height: 240px;
    }

    #workplacePlaceDetailsModern.workplacePlaceDetailsModern.dashboardAdmin--modern .workplacePlaceDetailsUsersGrid {
        grid-template-columns: 1fr;
    }

    #workplacePlaceFormModern.workplacePlaceFormModern.dashboardAdmin--modern .workplacePlaceFormGrid {
        grid-template-columns: 1fr;
    }

    #workplacePlaceFormModern.workplacePlaceFormModern.dashboardAdmin--modern .workplacePlaceFormEmployeesLayout {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 768px) {
    #workplacePlacesModern.workplacePlacesModern.dashboardAdmin--modern .workplacePlacesToolbar {
        flex-direction: column;
        align-items: stretch;
    }

    /* Em coluna, o flex-basis (320px) aplicava-se à altura da pesquisa */
    #workplacePlacesModern.workplacePlacesModern.dashboardAdmin--modern .workplacePlacesSearch {
        flex: 0 0 auto;
    }

    /* Subscrição: barra em cima, botão de comprar por baixo e a toda a largura */
    #workplacePlacesModern.workplacePlacesModern.dashboardAdmin--modern .workplacePlacesUsage {
        flex-direction: column;
        align-items: stretch;
    }

    #workplacePlacesModern.workplacePlacesModern.dashboardAdmin--modern .workplacePlacesUsage .workplacePlacesBuyBtn {
        justify-content: center;
    }

    #workplacePlacesModern.workplacePlacesModern.dashboardAdmin--modern .workplacePlacesPageSizeWrap {
        margin-left: 0;
    }

    #workplacePlacesModern.workplacePlacesModern.dashboardAdmin--modern .workplacePlacesToolbarMeta {
        margin-left: 0;
        justify-content: flex-start;
    }

    #workplacePlacesModern.workplacePlacesModern.dashboardAdmin--modern .workplacePlacesSearch {
        max-width: none;
        width: 100%;
    }

    #workplacePlacesModern.workplacePlacesModern.dashboardAdmin--modern .workplacePlacesPagination {
        justify-content: space-between;
        flex-wrap: nowrap;
    }

    /* Botões das páginas (no fundo) centrados no telemóvel */
    #workplacePlacesModern.workplacePlacesModern.dashboardAdmin--modern .workplacePlacesPagerBottom {
        justify-content: center;
    }

    #workplacePlacesModern.workplacePlacesModern.dashboardAdmin--modern .workplacePlacesList {
        grid-template-columns: 1fr;
    }

    #workplacePlacesModern.workplacePlacesModern.dashboardAdmin--modern .workplacePlacesMapThumb,
    #workplacePlacesModern.workplacePlacesModern.dashboardAdmin--modern .workplacePlacesMapThumb.is-empty {
        height: 120px;
    }

    #workplacePlacesModern.workplacePlacesModern.dashboardAdmin--modern .workplacePlacesItemTitle {
        font-size: 18px;
    }

    #workplacePlacesModern.workplacePlacesModern.dashboardAdmin--modern .workplacePlacesCardBody {
        min-height: 198px;
    }

    #workplacePlaceDetailsModern.workplacePlaceDetailsModern.dashboardAdmin--modern .workplacePlaceDetailsMap,
    #workplacePlaceDetailsModern.workplacePlaceDetailsModern.dashboardAdmin--modern .workplacePlaceDetailsMap.is-empty {
        height: 210px;
    }

    #workplacePlaceFormModern.workplacePlaceFormModern.dashboardAdmin--modern .workplacePlaceFormMap,
    #workplacePlaceFormModern.workplacePlaceFormModern.dashboardAdmin--modern .workplacePlaceFormMap.is-empty {
        height: 220px;
    }

    #workplacePlaceFormModern.workplacePlaceFormModern.dashboardAdmin--modern .workplacePlaceFormMapHint {
        font-size: 11px;
        left: 8px;
        right: 8px;
        justify-content: center;
    }

    #workplacePlaceFormModern.workplacePlaceFormModern.dashboardAdmin--modern .workplacePlaceFormEmployeesHeader {
        padding: 10px 11px;
    }

    #workplacePlaceFormModern.workplacePlaceFormModern.dashboardAdmin--modern .workplacePlaceFormEmployeesHeaderSub {
        max-width: 180px;
    }

    #workplacePlaceFormModern.workplacePlaceFormModern.dashboardAdmin--modern .userDetailsModernCardBadges {
        width: 100%;
        margin-left: 0;
        justify-content: flex-start;
    }
}

/* Locais desactivados (não contam para o limite) */
#workplacePlacesModern.workplacePlacesModern.dashboardAdmin--modern .workplacePlacesItem.is-disabled {
    opacity: .6;
    filter: grayscale(.6);
}

#workplacePlacesModern.workplacePlacesModern.dashboardAdmin--modern .workplacePlacesItemBadge.is-disabled,
#workplacePlaceDetailsModern.workplacePlaceDetailsModern.dashboardAdmin--modern .workplacePlaceDetailsBadge.is-disabled {
    border-color: #f1c7c7;
    background: #fdf1f1;
    color: #b54747;
}

#workplacePlacesModern.workplacePlacesModern.dashboardAdmin--modern .workplacePlacesShowDisabled {
    margin: 0 0 0 auto;
    padding-left: 28px;
    font-size: 12px;
    font-weight: 700;
    color: #556d88;
    white-space: nowrap;
}

/* Depois das regras base, para as sobrepor no telemóvel */
@media (max-width: 768px) {
    #workplacePlacesModern.workplacePlacesModern.dashboardAdmin--modern .workplacePlacesShowDisabled {
        margin-left: 0;
    }

    /* Acção principal por baixo do título e a toda a largura */
    #workplacePlacesModern.workplacePlacesModern.dashboardAdmin--modern .userDetailsModernCardHeader {
        flex-wrap: wrap;
    }

    /* O título fica ao lado do ícone; só a acção passa para a linha de baixo */
    #workplacePlacesModern.workplacePlacesModern.dashboardAdmin--modern .userDetailsModernCardHeaderText {
        flex: 1 1 0;
    }

    #workplacePlacesModern.workplacePlacesModern.dashboardAdmin--modern .userDetailsModernCardBadges {
        width: 100%;
        margin-left: 0;
    }

    #workplacePlacesModern.workplacePlacesModern.dashboardAdmin--modern .workplacePlacesNewBtnWrap,
    #workplacePlacesModern.workplacePlacesModern.dashboardAdmin--modern .workplacePlacesNewBtnWrap .workplacePlacesNewBtn {
        width: 100%;
        justify-content: center;
    }
}

/* User: os cartões não têm a secção dos funcionários, por isso não precisam da altura mínima */
#workplacePlacesModern.workplacePlacesModern.dashboardAdmin--modern .workplacePlacesList.is-user .workplacePlacesCardBody {
    min-height: 0;
}

/* User: pesquisa, intervalo e "por página" numa só linha (pesquisa à esquerda, o resto à direita) */
#workplacePlacesModern.workplacePlacesModern.dashboardAdmin--modern .workplacePlacesControls.is-user {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
}

#workplacePlacesModern.workplacePlacesModern.dashboardAdmin--modern .workplacePlacesControls.is-user .workplacePlacesToolbar {
    flex: 1 1 320px;
    margin-bottom: 0;
}

#workplacePlacesModern.workplacePlacesModern.dashboardAdmin--modern .workplacePlacesControls.is-user .workplacePlacesPagination {
    margin-left: auto;
    padding-top: 0;
    border-top: 0;
    flex-wrap: nowrap;
}

#workplacePlacesModern.workplacePlacesModern.dashboardAdmin--modern .workplacePlacesControls.is-user .workplacePlacesPageSizeWrap {
    margin-left: 0;
}

@media (max-width: 768px) {
    #workplacePlacesModern.workplacePlacesModern.dashboardAdmin--modern .workplacePlacesControls.is-user .workplacePlacesToolbar {
        flex-basis: 100%;
    }

    #workplacePlacesModern.workplacePlacesModern.dashboardAdmin--modern .workplacePlacesControls.is-user .workplacePlacesPagination {
        margin-left: 0;
        width: 100%;
        justify-content: space-between;
    }

    #workplacePlacesModern.workplacePlacesModern.dashboardAdmin--modern .workplacePlacesControls.is-user .workplacePlacesPageInfo {
        width: auto;
    }

    #workplacePlacesModern.workplacePlacesModern.dashboardAdmin--modern .workplacePlacesControls.is-user .workplacePlacesPageSizeWrap {
        width: auto;
    }
}

/* Cartão: o funcionário dono da morada (cada morada é de um só funcionário) */
#workplacePlacesModern.workplacePlacesModern.dashboardAdmin--modern .workplacePlacesOwner {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
}

#workplacePlacesModern.workplacePlacesModern.dashboardAdmin--modern .workplacePlacesOwnerName {
    font-size: 13px;
    font-weight: 700;
    color: var(--dm-text);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Espécie da morada: filtro da lista ("Todas / Empresa / Funcionários") e escolha no formulário */
#workplacePlacesModern.workplacePlacesModern.dashboardAdmin--modern .workplacePlacesKindFilter,
#workplacePlaceFormModern.workplacePlaceFormModern.dashboardAdmin--modern .workplacePlaceFormKind {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 4px;
    padding: 3px;
    border: 1px solid var(--dm-border-soft);
    border-radius: 999px;
    background: var(--dm-surface-2);
}

#workplacePlacesModern.workplacePlacesModern.dashboardAdmin--modern .workplacePlacesKindFilter .btn,
#workplacePlaceFormModern.workplacePlaceFormModern.dashboardAdmin--modern .workplacePlaceFormKind .btn {
    border: 0;
    border-radius: 999px;
    background: transparent;
    color: #556d88;
    font-weight: 700;
    padding: 5px 12px;
    box-shadow: none;
}

#workplacePlacesModern.workplacePlacesModern.dashboardAdmin--modern .workplacePlacesKindFilter .btn.is-active,
#workplacePlaceFormModern.workplacePlaceFormModern.dashboardAdmin--modern .workplacePlaceFormKind .btn.is-active {
    background: linear-gradient(180deg, #6c98ee 0%, #5685df 100%);
    color: #ffffff;
}

#workplacePlacesModern.workplacePlacesModern.dashboardAdmin--modern .workplacePlacesKindCount {
    display: inline-block;
    min-width: 18px;
    margin-left: 4px;
    padding: 0 6px;
    border-radius: 999px;
    background: rgba(86, 133, 223, .12);
    font-size: 11px;
    line-height: 18px;
    text-align: center;
}

#workplacePlacesModern.workplacePlacesModern.dashboardAdmin--modern .workplacePlacesKindFilter .btn.is-active .workplacePlacesKindCount {
    background: rgba(255, 255, 255, .25);
}

#workplacePlaceFormModern.workplacePlaceFormModern.dashboardAdmin--modern .workplacePlaceFormKind {
    margin-bottom: 16px;
}

#workplacePlaceFormModern.workplacePlaceFormModern.dashboardAdmin--modern .workplacePlaceFormKindLabel {
    margin-bottom: 16px;
    font-weight: 700;
    color: #556d88;
}

/* Etiqueta "Empresa" / "Sede" nos cartões e no detalhe */
#workplacePlacesModern.workplacePlacesModern.dashboardAdmin--modern .workplacePlacesItemBadge.is-company,
#workplacePlaceDetailsModern.workplacePlaceDetailsModern.dashboardAdmin--modern .workplacePlaceDetailsBadge.is-company {
    border-color: #d6dcf5;
    background: #f1f4ff;
    color: #3d4fa3;
}

/* Janela "Usar como morada de picagem" (ficha do funcionário › Contactos); o mapa usa as regras do formulário acima */
#workplacePlaceFromUserModal .workplacePlaceFromUserIntro {
    margin: 0 0 18px;
    color: #4c668d;
}

#workplacePlaceFromUserModal .workplacePlaceFormMapWrap {
    margin-top: 4px;
}
