/* ============================================================
   COMPARTIR ELEMENTOS - CSS consolidado
   ============================================================ */

/* ancho del popup */
#groupFolder .scrollingBox .tooltipBox.folderTip:has(.share-system-folder) {
    max-width: 500px !important;
}

/* boton guardar deshabilitado (el de cancelar SIEMPRE esta activo) */
.share-system-folder > .btns .save:disabled,
.save_cancel_teams:disabled {
    opacity: .45;
    cursor: default;
    pointer-events: none;
}

/* desplegable de rol por fila: abierto/cerrado */
.select-invite .option-window { display: none !important; }
.select-invite.open .option-window { display: block !important; }

/* filas atenuadas: en "Solo tu" perderan el acceso al guardar */
/* .dimmed retirado: "Solo tu" oculta las filas en vez de atenuarlas */

/* ------------------------------------------------------------
   BOTON "AÑADIR MIEMBRO"
   ------------------------------------------------------------ */
.add-member-bar {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    min-height: 44px;
    margin: 8px 0 4px;
    transition: opacity .15s ease;
}
.add-member-bar .btn-add-member {
    background: #3533AD;
    color: #fff;
    border: none;
    padding: 10px 20px;
    border-radius: 10px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
}
.add-member-bar .btn-add-member:hover { background: #2a289c; }

/* ------------------------------------------------------------
   HINT DE LISTA VACIA
   ------------------------------------------------------------ */
.share-empty-hint {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    background: #f4f4f6;
    border-radius: 10px;
    padding: 12px 14px;
    margin: 10px 0;
    font-size: 13px;
    color: #555;
    line-height: 1.4;
    transition: opacity .15s ease;
}
.share-empty-hint .hint-ico {
    flex-shrink: 0;
    font-size: 16px;
    color: #888;
}

#share_empty_hint {
    display: block;
    background: none;
    border-radius: 0;
    padding: 0;
    margin: 6px 2px 0;
    font-size: 13px;
    line-height: 1.35;
    color: #9095a0;
    text-align: left;
}

/* ------------------------------------------------------------
   ACCESS LEVEL
   ------------------------------------------------------------ */
.access-level-block {
    margin: 14px 0 4px;
    text-align: left;
}
.access-level-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 8px;
}
.access-level-title {
    font-size: 13px;
    font-weight: 600;
}
.access-level-select { position: relative; }

.access-level-select .access-current {
    display: flex;
    align-items: center;
    gap: 10px;
    background: #f4f4f6;
    border: none;
    border-radius: 12px;
    padding: 8px 14px;
    cursor: pointer;
    max-width: 320px;
    text-align: left;
}
.access-level-select .access-current .access-current-txt {
    font-size: 13px;
    font-weight: 600;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.access-level-select .access-caret::after {
    content: "";
    display: inline-block;
    width: 7px; height: 7px;
    border-right: 2px solid #555;
    border-bottom: 2px solid #555;
    transform: rotate(45deg);
    margin-left: 4px;
}

/* desplegable de opciones */
.access-options {
    position: absolute;
    left: 0;
    bottom: calc(100% + 6px);
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 8px 30px rgba(0,0,0,.18);
    min-width: 330px;
    padding: 6px;
    z-index: 50;
}
.access-opt {
    display: flex;
    align-items: flex-start;
    align-items: center;
    gap: 12px;
    padding: 12px;
    border-radius: 10px;
    cursor: pointer;
}
.access-opt:hover { background: #f5f5f7; }
.access-opt .access-opt-txt { flex: 1; min-width: 0; }
.access-opt .access-opt-txt p {
    font-size: 14px;
    font-weight: 600;
    margin: 0 0 2px;
}
.access-opt .access-opt-txt span {
    font-size: 12px;
    color: #777;
    display: block;
    line-height: 1.35;
}

/* iconos de las opciones (se clonan dentro del boton) */
.access-opt-ico {
    flex-shrink: 0;
    width: 28px; height: 28px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    font-weight: 700;
    color: #fff;
}

/* iconos antiguos
.access-opt-ico.lock  { background: #eee; }
.access-opt-ico.lock::before  { content: "\1F512"; font-size: 14px; }
.access-opt-ico.world { background: #eee; }
.access-opt-ico.world::before { content: "\1F310"; font-size: 15px; }
*/

.access-opt-ico{
    background:none !important;
    text-indent:-100000px;
    color:transparent;
}

.access-opt-ico.lock::before, .access-opt-ico.world::before, .access-opt-ico.team-avatar::before  { 
    content: '';
    width:18px;
    height: 18px;
    background-repeat: no-repeat;
    background-size:contain;
    background-image: url("data:image/svg+xml,%3Csvg width='18' height='18' viewBox='0 0 18 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23clip0_929_3593)'%3E%3Cpath d='M14.2904 16.6504H3.71039C2.99039 16.6504 2.40039 16.0604 2.40039 15.3404V8.29035C2.40039 7.57035 2.99039 6.98035 3.71039 6.98035H4.71039V5.65035C4.71039 3.29035 6.63039 1.36035 9.00039 1.36035C11.3704 1.36035 13.2904 3.28035 13.2904 5.65035V6.98035H14.2904C15.0104 6.98035 15.6004 7.57035 15.6004 8.29035V15.3404C15.6004 16.0604 15.0104 16.6504 14.2904 16.6504ZM3.71039 8.27035V15.3404V15.3504H14.2904V8.28035L3.71039 8.27035ZM6.01039 6.97035H11.9904V5.64035C11.9904 3.99035 10.6504 2.65035 9.00039 2.65035C7.35039 2.65035 6.01039 3.99035 6.01039 5.64035V6.97035Z' fill='%233533AD'/%3E%3Cpath d='M9.98977 11.5906C9.98977 11.0306 9.55977 10.6006 8.99977 10.6006C8.43977 10.6006 8.00977 11.0306 8.00977 11.5906C8.00977 11.8906 8.13977 12.1506 8.33977 12.3206V13.2506C8.33977 13.6106 8.63977 13.9106 8.99977 13.9106C9.35977 13.9106 9.65977 13.6106 9.65977 13.2506V12.3206C9.85977 12.1506 9.98977 11.8906 9.98977 11.5906Z' fill='%233533AD'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0_929_3593'%3E%3Crect width='18' height='18' fill='white'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E%0A");
}
.access-opt-ico.world::before {
    background-image: url("data:image/svg+xml,%3Csvg width='18' height='18' viewBox='0 0 18 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23clip0_929_3800)'%3E%3Cpath d='M7.9372 10.0534C6.5422 10.0534 5.4082 8.91938 5.4082 7.52438V5.34638C5.4082 3.95138 6.5422 2.81738 7.9372 2.81738C9.3322 2.81738 10.4662 3.95138 10.4662 5.34638V7.52438C10.4662 8.91938 9.3322 10.0534 7.9372 10.0534ZM7.9372 3.98738C7.1902 3.98738 6.5782 4.59938 6.5782 5.34638V7.52438C6.5782 8.27138 7.1902 8.88338 7.9372 8.88338C8.6842 8.88338 9.2962 8.27138 9.2962 7.52438V5.34638C9.2962 4.59938 8.6842 3.98738 7.9372 3.98738Z' fill='%233533AD'/%3E%3Cpath d='M13.6343 15.1832C13.4993 15.1832 13.3733 15.1382 13.2653 15.0482C8.01827 10.7372 2.86127 14.7242 2.64527 14.9042C2.39327 15.1022 2.02427 15.0662 1.82627 14.8142C1.62827 14.5622 1.66427 14.1932 1.91627 13.9952C1.97927 13.9502 8.01827 9.23419 14.0123 14.1572C14.2643 14.3642 14.3003 14.7332 14.0933 14.9852C13.9763 15.1292 13.8143 15.2012 13.6433 15.2012L13.6343 15.1832Z' fill='%233533AD'/%3E%3Cpath d='M14.003 11.2953C13.679 11.2953 13.418 11.0343 13.418 10.7103V7.28129C13.418 6.95729 13.679 6.69629 14.003 6.69629C14.327 6.69629 14.588 6.95729 14.588 7.28129V10.7103C14.588 11.0343 14.327 11.2953 14.003 11.2953Z' fill='%233533AD'/%3E%3Cpath d='M15.7132 9.58504H12.2842C11.9602 9.58504 11.6992 9.32404 11.6992 9.00004C11.6992 8.67604 11.9602 8.41504 12.2842 8.41504H15.7132C16.0372 8.41504 16.2982 8.67604 16.2982 9.00004C16.2982 9.32404 16.0372 9.58504 15.7132 9.58504Z' fill='%233533AD'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0_929_3800'%3E%3Crect width='18' height='18' fill='white'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E%0A");
}

.access-opt-ico.team-avatar::before{
    background-image: url("data:image/svg+xml,%3Csvg width='18' height='18' viewBox='0 0 18 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23clip0_929_3609)'%3E%3Cpath d='M6.91898 10.3396C5.55898 10.3396 4.45898 9.23965 4.45898 7.87965V5.84965C4.45898 4.48965 5.55898 3.38965 6.91898 3.38965C8.27898 3.38965 9.37898 4.48965 9.37898 5.84965V7.87965C9.37898 9.23965 8.27898 10.3396 6.91898 10.3396ZM6.91898 4.68965C6.27898 4.68965 5.75898 5.20965 5.75898 5.84965V7.87965C5.75898 8.51965 6.27898 9.03965 6.91898 9.03965C7.55898 9.03965 8.07898 8.51965 8.07898 7.87965V5.84965C8.07898 5.20965 7.55898 4.68965 6.91898 4.68965Z' fill='%233533AD'/%3E%3Cpath d='M12.5097 9.74953C11.4997 9.74953 10.6797 8.92953 10.6797 7.91953V6.59953C10.6797 5.58953 11.4997 4.76953 12.5097 4.76953C13.5197 4.76953 14.3397 5.58953 14.3397 6.59953V7.91953C14.3397 8.92953 13.5197 9.74953 12.5097 9.74953ZM12.5097 6.05953C12.2197 6.05953 11.9797 6.29953 11.9797 6.58953V7.90953C11.9797 8.19953 12.2197 8.43953 12.5097 8.43953C12.7997 8.43953 13.0397 8.19953 13.0397 7.90953V6.58953C13.0397 6.29953 12.7997 6.05953 12.5097 6.05953Z' fill='%233533AD'/%3E%3Cpath d='M15.9689 12.7993C15.8189 12.7993 15.6789 12.7493 15.5589 12.6493C12.5589 10.1893 9.6089 12.4693 9.4789 12.5593C9.1989 12.7793 8.7889 12.7293 8.5689 12.4493C8.3489 12.1693 8.3889 11.7593 8.6689 11.5393C9.9989 10.4793 13.3289 9.12927 16.3789 11.6393C16.6589 11.8693 16.6989 12.2793 16.4689 12.5593C16.3389 12.7193 16.1589 12.7993 15.9689 12.7993Z' fill='%233533AD'/%3E%3Cpath d='M2.02952 14.6101C1.85952 14.6101 1.67952 14.5401 1.55952 14.4101C1.30952 14.1501 1.32952 13.7401 1.58952 13.4901C3.03952 12.1201 4.93952 11.3701 6.92952 11.3701C8.91952 11.3701 10.7895 12.1101 12.2395 13.4501C12.4995 13.6901 12.5195 14.1101 12.2695 14.3701C12.0295 14.6301 11.6095 14.6501 11.3495 14.4001C10.1395 13.2801 8.56952 12.6601 6.92952 12.6601C5.28952 12.6601 3.68952 13.2901 2.47952 14.4301C2.34952 14.5501 2.18952 14.6101 2.02952 14.6101Z' fill='%233533AD'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0_929_3609'%3E%3Crect width='18' height='18' fill='white'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E%0A");
}


/* icono dentro del boton actual (clonado) */
#share_access_ico .access-opt-ico { width: 24px; height: 24px; font-size: 12px; }

/* check de la opcion seleccionada (UNA sola definicion: evita el doble tick) */
.access-opt .access-check {
    width: 18px;
    flex-shrink: 0;
}
.access-opt .access-check::after { content: none; }
.access-opt.selected .access-check::after {
    content: "";
    display: block;
    width: 6px;
    height: 12px;
    border-right: 2px solid #3533AD;
    border-bottom: 2px solid #3533AD;
    transform: rotate(45deg);
    margin-top: 4px;
}
/* el icono clonado dentro del boton nunca pinta check */
#share_access_ico .access-check::after { content: none !important; }

/* ------------------------------------------------------------
   OPCION "QUITAR ACCESO" EN EL DESPLEGABLE DE FILA
   ------------------------------------------------------------ */
.option-window .opt-remove {
    color: #E02424;
    border-top: 1px solid #eee;
    margin-top: 4px;
    padding-top: 8px;
}
.option-window .opt-remove:hover {
    background: #fef2f2;
}

/* ------------------------------------------------------------
   PANEL: rol del nuevo miembro
   ------------------------------------------------------------ */
.share-panel-role { padding: 24px 0; }
.share-panel-role .panel-title {
    font-weight: 600;
    font-size: 18px;
    margin-bottom: 8px;
    text-align: center;
}
.share-panel-role .scroll-box { margin: 16px 0; }

/* ------------------------------------------------------------
   PANEL: nombre del equipo
   ------------------------------------------------------------ */
.share-panel-teamname {
    padding: 24px;
    text-align: center;
}
.share-panel-teamname .panel-title {
    font-weight: 600;
    font-size: 20px;
    margin-bottom: 20px;
}
.share-panel-teamname .panel-head {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 20px;
}
.share-panel-teamname .panel-head .panel-title {
    margin: 0;
    text-align: left;
}
.panel-back {
    flex-shrink: 0;
    width: 32px;
    height: 32px;
    border: 1px solid #e0e0e0;
    border-radius: 50%;
    background: #fff;
    cursor: pointer;
    position: relative;
}
.panel-back::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 54%;
    width: 8px;
    height: 8px;
    border-left: 2px solid #333;
    border-bottom: 2px solid #333;
    transform: translate(-50%, -50%) rotate(45deg);
}
.panel-back:hover { border-color: #3533AD; }

.share-panel-teamname .panel-subhint {
    font-size: 12px;
    color: #888;
    margin: 0 auto 20px;
    max-width: 360px;
    text-align: left;
}

/* campo de nombre con estado de error */
@keyframes shake {
  0%, 100% { transform: translateX(0); }
  20% { transform: translateX(-6px); }
  40% { transform: translateX(5px); }
  60% { transform: translateX(-3px); }
  80% { transform: translateX(2px); }
}

.share-panel-teamname .field {
    display: block;
    width: 100%;
    margin: 0 0 8px;
    border: 1px solid #d8d8de;
    border-radius: 8px;
    background: #fff;
    transition: border-color .15s, box-shadow .15s;
}
.share-panel-teamname .field input {
    display: block;
    width: 100%;
    border: none;
    outline: none;
    background: transparent;
    padding: 12px 16px;
    margin: 0;
    font-size: 15px;
    box-sizing: border-box;
    border-radius: 8px;
}
.share-panel-teamname .field:focus-within {
    border-color: #3533AD;
}
.share-panel-teamname .field.is-error {
    border: 1.5px solid #d63b3b;
    box-shadow: 0 0 0 3px rgba(214, 59, 59, .14);
    animation: shake .64s ease;
}
.share-panel-teamname .field.is-error:focus-within {
    border-color: #d63b3b;
}

.field-error {
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 8px;
    margin: 0 auto 8px;
    color: #c62525;
    font-size: 12.5px;
    line-height: 1.45;
    text-align: left;
}
.field-error .err-ico { flex-shrink: 0; }
.field-error span { text-align: left; }

@media (prefers-reduced-motion: reduce) {
    .share-panel-teamname .field.is-error { animation: none; }
}

/* ------------------------------------------------------------
   PREVIEW DE INVITADOS
   ------------------------------------------------------------ */
.invite-preview {
    max-width: 360px;
    margin: 0 auto 8px;
    border: 1px solid #e8e8ec;
    border-radius: 12px;
    padding: 14px;
    text-align: left;
}
.invite-preview-title {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
    color: #999;
    margin-bottom: 10px;
}
.invite-preview-row {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 6px 0;
}
.invite-preview-row .name-mail p {
    margin: 0;
    font-size: 14px;
    font-weight: 600;
}
.invite-preview-row .name-mail span {
    font-size: 12px;
    color: #888;
}

/* ------------------------------------------------------------
   PANEL: confirmacion
   ------------------------------------------------------------ */
.share-panel-done { padding: 24px; text-align: center; }
.share-panel-done .panel-done-ico {
    width: 48px; height: 48px;
    margin: 0 auto 16px;
    border-radius: 50%;
    background: #0E9F6E;
    color: #fff;
    font-size: 24px;
    line-height: 48px;
}
.share-panel-done .panel-subhint { text-align: center; margin: 0 auto 20px; }
.link-manage-team {
    display: inline-block;
    margin-top: 16px;
    color: #3533AD;
    font-weight: 600;
    text-decoration: underline;
}

/* botones de los paneles */
.panel-btns {
    display: flex;
    gap: 12px;
    justify-content: center;
    margin-top: 20px;
}
.panel-btns .save {
    background: #3533AD;
    color: #fff;
    border: none;
    padding: 12px 24px;
    border-radius: 10px;
    cursor: pointer;
}
.panel-btns .save:hover { background: #2a289c; }
.panel-btns .cancel {
    background: #fff;
    border: 1px solid #ccc;
    padding: 12px 24px;
    border-radius: 10px;
    cursor: pointer;
}

/* ============================================================
   VISTA PRINCIPAL vs VISTA LISTA (dos pantallas del popup)
   ============================================================ */

/* hint bajo el buscador */
.share-search-hint {
    font-size: 13px;
    line-height: 1.35;
    color: #9095a0;
    margin: 6px 2px 4px;
    text-align: left;
    transition: opacity .15s ease;
}

/* fila del OWNER (solo vista principal) */
.share-owner-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 2px;
    border-bottom: 1px solid #f0f0f2;
    margin-bottom: 4px;
}
.share-owner-row .label {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
}
.share-owner-row .name-mail { min-width: 0; }
.share-owner-row .name-mail p {
    margin: 0;
    font-size: 14px;
    font-weight: 600;
    color: #1a1a1a;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.share-owner-row .name-mail span {
    font-size: 12px;
    color: #888;
}
.share-owner-row .owner-tag {
    font-size: 13px;
    color: #777;
    flex-shrink: 0;
    padding-left: 12px;
}

/* avatares circulares (owner, filas, bolitas) */
.share-owner-row .initial-mail,
#share_members_list .initial-mail {
    flex-shrink: 0;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 15px;
    font-weight: 700;
    text-transform: uppercase;
    line-height: 1;
}


.share-bolitas {
    display: flex;
    align-items: center;
}
.share-bolita {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    border: 2px solid #fff;
    margin-left: -8px;
    cursor: pointer;
    transition: transform .1s ease;
}
.share-bolita:first-child { margin-left: 0; }
.share-bolita:hover { transform: translateY(-2px); z-index: 2; }
.share-manage-txt {
    font-size: 13px;
    font-weight: 600;
    color: #3533AD;
    cursor: pointer;
}

/* boton volver dentro del titulo (solo vista lista) */
.share-system-folder > .title {
    display: flex;
    align-items: center;
    gap: 10px;
}
.share-view-back {
    width: 30px;
    height: 30px;
}

/* en la vista lista ocultamos owner, manage y hint (por si el JS tarda) */
.share-system-folder.view-list #share_owner_row,
.share-system-folder.view-list #share_manage_row,
.share-system-folder.view-list #share_search_hint { display: none; }

/* ============================================================
   AVATARES POR ROL (mockup Team access)
   Con especificidad alta para ganar a reglas globales de .initial-mail
   ============================================================ */
.share-system-folder .initial-mail,
.share-system-folder .share-bolita {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #fff !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    line-height: 1 !important;
    text-indent: 0 !important;
    overflow: visible !important;
    background-image: none !important;
    letter-spacing: .3px;
}
.share-system-folder .initial-mail { width: 40px !important; height: 40px !important; border-radius: 50% !important; font-size: 15px !important; }
.share-system-folder .share-bolita { width: 32px !important; height: 32px !important; border-radius: 50% !important; font-size: 12px !important; }

/* colores por rol */
.share-system-folder .av-owner   { background: #3f2fb8 !important; color: #fff !important; }   /* propietario: morado solido */
.share-system-folder .av-editor  { background: #d8d4f7 !important; color: #4a3fbf !important; } /* editor: lila claro, texto morado */
.share-system-folder .av-viewer  { background: #e6e6ea !important; color: #555 !important; }   /* miembro/viewer: gris, texto oscuro */
.share-system-folder .av-none    { background: #e6e6ea !important; color: #555 !important; }
.share-system-folder .av-pending {                                                              /* pendiente: gris muy claro, borde punteado */
    background: #f4f4f6 !important;
    color: #9aa0ab !important;
    border: 1.5px dashed #cfcfd6 !important;
}

/* fila pendiente: textos atenuados como el mockup */
.share-system-folder .box-fila-select.pending-row .name-mail p { color: #6b7280; }
.share-system-folder .box-fila-select.pending-row .name-mail span { color: #aab0bb; }

/* ============================================================
   BOTON VOLVER (vista lista) - fix de render
   ============================================================ */
.share-system-folder > .title {
    position: relative;
    display: flex;
    align-items: center;
    gap: 12px;
}
.share-system-folder .share-view-back {
    flex: 0 0 auto;
    width: 34px !important;
    height: 34px !important;
    min-width: 34px;
    padding: 0 !important;
    border: 1px solid #e0e0e0 !important;
    border-radius: 50% !important;
    background: #fff !important;
    cursor: pointer;
    position: relative !important;
    left: auto !important;
    top: auto !important;
    right: auto !important;
    margin: 0 !important;
    transform: none !important;
    box-sizing: border-box;
    font-size: 0;
    line-height: 0;
}
.share-system-folder .share-view-back::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 9px;
    height: 9px;
    border-left: 2px solid #333;
    border-bottom: 2px solid #333;
    transform: translate(-50%, -50%) translateX(2px) rotate(45deg);
}
.share-system-folder .share-view-back:hover { border-color: #3533AD !important; }
.share-system-folder .share-view-back:hover::before { border-color: #3533AD; }

/* owner dentro de la lista: sin scroll propio raro, mismo padding que filas */
.share-system-folder #share_members_list .share-owner-row {
    padding: 10px 2px;
    border-bottom: 1px solid #f0f0f2;
    margin-bottom: 2px;
}
/* ============================================================
   FIXES DE ALINEACION Y CHECKS (bugs reportados)
   ============================================================ */

/* --- BUG 1 y 2: alinear avatar + nombre/email en TODAS las filas igual --- */
/* misma estructura para filas de miembro y para el owner: avatar arriba-centro con el bloque de texto */
.share-system-folder #share_members_list .box-fila-select:not(.row-hidden):not(.row-team-hidden),
.share-system-folder #share_members_list .share-owner-row:not(.row-hidden) {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between;
    gap: 0;
    padding: 10px 2px !important;
}
.share-system-folder #share_members_list .box-fila-select .label,
.share-system-folder #share_members_list .share-owner-row .label {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    min-width: 0;
    flex: 1;
}
/* el bloque de texto: nombre y email pegados a la izquierda, misma linea base */
.share-system-folder #share_members_list .name-mail {
    min-width: 0;
    text-align: left;
}
.share-system-folder #share_members_list .name-mail p {
    margin: 0 !important;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.3;
    color: #1a1a1a;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.share-system-folder #share_members_list .name-mail span {
    display: block;
    margin: 0 !important;
    font-size: 12px;
    line-height: 1.3;
    color: #888;
}
/* avatar: tamaño identico owner y filas, sin desplazamiento vertical */
.share-system-folder #share_members_list .initial-mail {
    flex: 0 0 auto !important;
    width: 40px !important;
    height: 40px !important;
    align-self: center !important;
}
/* etiqueta derecha (Owner / selector) centrada verticalmente */
.share-system-folder #share_members_list .owner-tag,
.share-system-folder #share_members_list .select-invite {
    flex: 0 0 auto;
    align-self: center;
}

/* --- BUG 3: en el selector de Access level, solo la fila .selected pinta check --- */
/* hover = solo fondo, nunca check (gana a cualquier regla global) */
.share-system-folder .access-opt .access-check::after { content: none !important; }
.share-system-folder .access-opt:hover .access-check::after { content: none !important; }
.share-system-folder .access-opt.selected .access-check::after {
    content: "" !important;
    display: block !important;
    width: 6px !important;
    height: 12px !important;
    border-right: 2px solid #3533AD !important;
    border-bottom: 2px solid #3533AD !important;
    border-left: 0 !important;
    border-top: 0 !important;
    transform: rotate(45deg) !important;
    margin-top: 4px !important;
    background: none !important;
}
.share-system-folder .access-opt:hover { background: #f5f5f7 !important; }

/* ============================================================
   REDISEÑO PIXEL-PERFECT (imagen 3) - sobreescribe lo anterior
   ============================================================ */

/* ---------- FILAS: owner y miembros identicas ---------- */
.share-system-folder #share_members_list {
    padding: 0 !important;
}
.share-system-folder #share_members_list .box-fila-select:not(.row-hidden):not(.row-team-hidden),
.share-system-folder #share_members_list .share-owner-row:not(.row-hidden) {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 14px !important;
    padding: 12px 2px !important;
    border: none !important;
    border-bottom: 1px solid #eef0f3 !important;
    margin: 0 !important;
}
.share-system-folder #share_members_list .box-fila-select:last-child,
.share-system-folder #share_members_list .share-owner-row:last-child {
    border-bottom: none !important;
}
.share-system-folder #share_members_list .label {
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
    min-width: 0 !important;
    flex: 1 1 auto !important;
}
.share-system-folder #share_members_list .initial-mail {
    flex: 0 0 44px !important;
    width: 44px !important;
    height: 44px !important;
    font-size: 16px !important;
    align-self: center !important;
}
.share-system-folder #share_members_list .name-mail {
    min-width: 0 !important;
    text-align: left !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    gap: 2px !important;
}
.share-system-folder #share_members_list .name-mail p {
    margin: 0 !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
    color: #1c2333 !important;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.share-system-folder #share_members_list .name-mail span {
    margin: 0 !important;
    font-size: 13px !important;
    line-height: 1.25 !important;
    color: #9aa1ad !important;
}
.share-system-folder #share_members_list .owner-tag {
    flex: 0 0 auto !important;
    align-self: center !important;
    font-size: 14px !important;
    color: #6b7280 !important;
    padding-left: 12px !important;
}
.share-system-folder #share_members_list .select-invite {
    flex: 0 0 auto !important;
    align-self: center !important;
}

/* ---------- ACCESS LEVEL: caja cerrada ---------- */
.share-system-folder .access-level-block { margin: 16px 0 4px !important; }
.share-system-folder .access-level-title {
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: .05em !important;
    text-transform: uppercase !important;
    color: #9aa1ad !important;
    margin-bottom: 8px !important;
}
.share-system-folder .access-current {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    width: 100% !important;
    max-width: none !important;
    background: #fff !important;
    border: 1px solid #e4e6eb !important;
    border-radius: 12px !important;
    padding: 14px 16px !important;
    cursor: pointer !important;
    box-sizing: border-box !important;
}
.share-system-folder .access-current .access-current-txt {
    flex: 1 !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    color: #1c2333 !important;
    text-align: left !important;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.share-system-folder .access-caret::after {
    content: "" !important;
    display: inline-block !important;
    width: 8px !important; height: 8px !important;
    border-right: 2px solid #6b7280 !important;
    border-bottom: 2px solid #6b7280 !important;
    border-left: 0 !important; border-top: 0 !important;
    transform: rotate(45deg) !important;
    margin-bottom: 3px;
}

/* ---------- ACCESS LEVEL: desplegable ---------- */
.share-system-folder .access-options {
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    bottom: calc(100% + 8px) !important;
    background: #fff !important;
    border-radius: 16px !important;
    box-shadow: 0 12px 40px rgba(20,25,45,.16) !important;
    padding: 8px !important;
    min-width: 0 !important;
    z-index: 60 !important;
}
.share-system-folder .access-opt {
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
    padding: 12px 14px !important;
    border-radius: 12px !important;
    cursor: pointer !important;
    background: transparent !important;
    transition: background .12s ease !important;
}
/* hover: SOLO fondo, ancho completo */
.share-system-folder .access-opt:hover { background: #f3f2fb !important; }
.share-system-folder .access-opt-txt { flex: 1 1 auto !important; min-width: 0 !important; }
.share-system-folder .access-opt-txt p {
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #1c2333 !important;
    margin: 0 0 2px !important;
}
.share-system-folder .access-opt-txt span {
    font-size: 13px !important;
    color: #9aa1ad !important;
    display: block !important;
    line-height: 1.35 !important;
}
.share-system-folder .access-opt-ico {
    flex: 0 0 22px !important;
    width: 22px !important; height: 22px !important;
    background: none !important;
    border-radius: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #4b4fbf !important;
}

/* ---------- CHECK: solo visible en .selected, NUNCA en hover ---------- */
.share-system-folder .access-tick {
    flex: 0 0 20px !important;
    width: 20px !important;
    display: none !important;         /* oculto por defecto */
    align-items: center !important;
    justify-content: center !important;
}
.share-system-folder .access-opt.selected .access-tick {
    display: flex !important;         /* solo la seleccionada */
}
/* matar cualquier ::after/::before heredado que pintara checks */
.share-system-folder .access-opt .access-check,
.share-system-folder .access-opt .access-check::after,
.share-system-folder .access-opt .access-check::before { content: none !important; display: none !important; }

/* ============================================================
   FIX access level: fondo gris del bloque + doble flecha
   ============================================================ */

/* el bloque NO debe tener fondo gris ni recuadro (imagen 3) */
.share-system-folder .access-level-block {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    margin: 16px 0 4px !important;
    border-radius: 0 !important;
}

/* matar cualquier flecha extra pintada por CSS global sobre el boton */
.share-system-folder .access-current::before,
.share-system-folder .access-current::after { content: none !important; display: none !important; }

/* una sola flecha: la del .access-caret */
.share-system-folder .access-caret {
    flex: 0 0 auto !important;
    display: inline-flex !important;
    align-items: center !important;
}
.share-system-folder .access-caret::before { content: none !important; display: none !important; }
.share-system-folder .access-caret::after {
    content: "" !important;
    display: inline-block !important;
    width: 8px !important; height: 8px !important;
    border-right: 2px solid #6b7280 !important;
    border-bottom: 2px solid #6b7280 !important;
    border-left: 0 !important; border-top: 0 !important;
    border-radius: 0 !important;
    transform: rotate(45deg) !important;
    margin: 0 0 3px 0 !important;
}

/* por si el CSS global mete la flecha como background-image en el boton */
.share-system-folder .access-current {
    background-image: none !important;
    appearance: none !important;
    -webkit-appearance: none !important;
}

/* filas ocultas por vista/filtro: gana al display:flex !important de las filas */
.share-system-folder #share_members_list .box-fila-select.row-hidden,
.share-system-folder #share_owner_row.row-hidden { display: none !important; }

/* ============================================================
   PANTALLA "Invitations sent" - fila de invitado (mockup)
   ============================================================ */
.share-panel-done .invite-preview {
    background: #fafbfc;
    border: 1px solid #eef0f3;
    border-radius: 14px;
    padding: 14px 16px;
    max-width: none;
    margin: 0 0 8px;
}
.share-panel-done .invite-preview-row {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 0;
}
.share-panel-done .invite-preview-row .initial-mail {
    flex: 0 0 44px;
    width: 44px !important;
    height: 44px !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    text-transform: uppercase;
}
.share-panel-done .invite-preview-row .name-mail { text-align: left; }
.share-panel-done .invite-preview-row .name-mail p {
    margin: 0;
    font-size: 15px;
    font-weight: 700;
    color: #1c2333;
    line-height: 1.25;
}
.share-panel-done .invite-preview-row .name-mail span {
    font-size: 13px;
    color: #9aa1ad;
    line-height: 1.25;
}

/* ============================================================
   PANTALLA "Invitations sent" - rediseño (mockup imagen 2)
   header izquierda + X, subtitulo centrado, footer con separador
   ============================================================ */
.share-panel-done {
    padding: 0 !important;
    text-align: left !important;
}
.share-panel-done .panel-done-ico { display: none !important; }

/* header */
.share-panel-done .done-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 4px 2px 16px;
    border-bottom: 1px solid #eef0f3;
}
.share-panel-done .done-title {
    font-size: 20px;
    font-weight: 800;
    color: #1c2333;
}
.share-panel-done .done-close-x {
    width: 22px;
    height: 22px;
    position: relative;
    flex-shrink: 0;
    cursor: pointer;
}
.share-panel-done .done-close-x::before,
.share-panel-done .done-close-x::after {
    content: "";
    position: absolute;
    top: 50%; left: 50%;
    width: 18px; height: 2px;
    background: #1c2333;
    border-radius: 2px;
}
.share-panel-done .done-close-x::before { transform: translate(-50%,-50%) rotate(45deg); }
.share-panel-done .done-close-x::after  { transform: translate(-50%,-50%) rotate(-45deg); }

/* body */
.share-panel-done .done-body {
    padding: 22px 2px 2px;
    min-height: 120px;
}
.share-panel-done .done-subhint {
    text-align: center;
    font-size: 15px;
    color: #6b7280;
    line-height: 1.45;
    margin: 0 auto 20px;
    max-width: 440px;
}

/* footer con separador: link izquierda, boton derecha */
.share-panel-done .done-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 2px 2px;
    border-top: 1px solid #eef0f3;
    margin-top: 8px;
}
.share-panel-done .link-manage-team {
    color: #3533AD;
    font-weight: 700;
    font-size: 15px;
    text-decoration: none;
    margin: 0;
}
.share-panel-done .link-manage-team:hover { text-decoration: underline; }
.share-panel-done .done-btn {
    background: #3533AD;
    color: #fff;
    border: none;
    padding: 12px 28px;
    border-radius: 10px;
    font-size: 15px;
    font-weight: 700;
    cursor: pointer;
}
.share-panel-done .done-btn:hover { background: #2a289c; }





/* ============================================================
   PANEL "Manage my team" (team_manage_panel.php)
   Estilo coherente con el popup de compartir
   ============================================================ */

#team_manage_panel {
    box-sizing: border-box;
    max-width: 480px;
}
#team_manage_panel * { box-sizing: border-box; }

/* ---------- cabecera ---------- */
.team-manage-head { margin-bottom: 18px; }
.team-manage-title {
    font-size: 22px;
    font-weight: 800;
    color: #1c2333;
    line-height: 1.2;
}
.team-manage-name {
    font-size: 16px;
    font-weight: 700;
    color: #0694A2;
    margin-top: 2px;
}

/* ---------- fila de invitar ---------- */
.team-invite-row {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 14px;
}
.team-invite-row #team_invite_email {
    flex: 1 1 auto;
    min-width: 0;
    border: 1px solid #e4e6eb;
    border-radius: 10px;
    padding: 12px 14px;
    font-size: 14px;
    outline: none;
    background: #fff;
}
.team-invite-row #team_invite_email:focus { border-color: #3533AD; }
.team-invite-row #team_invite_role {
    flex: 0 0 auto;
    border: 1px solid #e4e6eb;
    border-radius: 10px;
    padding: 12px 10px;
    font-size: 14px;
    background: #fff;
    cursor: pointer;
    outline: none;
}
.team-invite-btn {
    flex: 0 0 auto;
    background: #3533AD;
    color: #fff;
    border: none;
    border-radius: 10px;
    padding: 12px 18px;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
    white-space: nowrap;
}
.team-invite-btn:hover { background: #2a289c; }

/* ---------- mensajes ---------- */
.team-manage-msg-ok,
.team-manage-msg-error {
    border-radius: 10px;
    padding: 10px 14px;
    font-size: 13px;
    margin-bottom: 12px;
}
.team-manage-msg-ok    { background: #e7f8f1; color: #0E6B4F; }
.team-manage-msg-error { background: #fdecec; color: #c62525; }

/* ---------- lista de miembros ---------- */
.team-members-list { margin-bottom: 16px; }

.team-member-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 12px 2px;
    border-bottom: 1px solid #eef0f3;
}
.team-member-row:last-child { border-bottom: none; }

.team-member-row .label {
    display: flex;
    align-items: center;
    gap: 14px;
    min-width: 0;
    flex: 1 1 auto;
}
.team-member-row .name-mail { min-width: 0; }
.team-member-row .name-mail p {
    margin: 0;
    font-size: 15px;
    font-weight: 700;
    color: #1c2333;
    line-height: 1.25;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.team-member-row .name-mail span {
    display: block;
    font-size: 13px;
    color: #9aa1ad;
    line-height: 1.25;
}

/* avatar */
.team-member-row .initial-mail {
    flex: 0 0 42px;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 16px;
    font-weight: 700;
    text-transform: uppercase;
    line-height: 1;
}
/* colores por rol (mismos que el popup de compartir) */
.team-member-row .av-owner   { background: #3f2fb8; color: #fff; }
.team-member-row .av-editor  { background: #d8d4f7; color: #4a3fbf; }
.team-member-row .av-viewer  { background: #e6e6ea; color: #555; }
.team-member-row .av-pending { background: #f4f4f6; color: #9aa0ab; border: 1.5px dashed #cfcfd6; }

/* ---------- parte derecha ---------- */
.team-member-right { flex: 0 0 auto; }

.team-role-fixed {
    font-size: 14px;
    color: #6b7280;
    padding-right: 4px;
}

/* selector de rol / acciones */
.team-role-select {
    position: relative;
    display: inline-block;
}
.team-role-select > button {
    background: #f4f4f6;
    border: 1px solid #e4e6eb;
    border-radius: 8px;
    padding: 8px 30px 8px 14px;
    font-size: 13px;
    font-weight: 600;
    color: #1c2333;
    cursor: pointer;
    position: relative;
    min-width: 110px;
    text-align: left;
}
.team-role-select > button::after {
    content: "";
    position: absolute;
    right: 12px;
    top: 50%;
    width: 7px; height: 7px;
    border-right: 2px solid #6b7280;
    border-bottom: 2px solid #6b7280;
    transform: translateY(-70%) rotate(45deg);
}

/* menu desplegable (oculto por defecto, visible con .open) */
.team-role-options {
    display: none;
    position: absolute;
    right: 0;
    top: calc(100% + 6px);
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 10px 34px rgba(20,25,45,.16);
    padding: 6px;
    margin: 0;
    list-style: none;
    min-width: 200px;
    z-index: 70;
}
.team-role-select.open .team-role-options { display: block; }

.team-role-options li {
    list-style: none;
    padding: 10px 12px;
    border-radius: 8px;
    font-size: 14px;
    color: #1c2333;
    cursor: pointer;
    white-space: nowrap;
}
.team-role-options li:hover { background: #f3f2fb; }
.team-role-options li.opt-remove {
    color: #E02424;
    border-top: 1px solid #eee;
    margin-top: 4px;
    padding-top: 10px;
}
.team-role-options li.opt-remove:hover { background: #fef2f2; }

/* ---------- contador de asientos ---------- */
.team-seats {
    font-size: 13px;
    color: #6b7280;
    padding-top: 8px;
    border-top: 1px solid #eef0f3;
}
.team-seats span { font-weight: 700; color: #1c2333; }
/* ============================================================
   PANEL MIEMBROS - ajustes "medio bien" (provisional)
   ============================================================ */

/* contenedor con aire */
#team_manage_panel {
    padding: 4px 6px;
}

/* la etiqueta del admin a la derecha, alineada como los selectores */
#team_manage_panel .team-member-right {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    min-width: 130px;
}
#team_manage_panel .team-role-fixed {
    font-size: 13px;
    font-weight: 600;
    color: #9aa1ad;
    white-space: nowrap;
}

/* que el bloque de nombre no empuje la etiqueta admin fuera */
#team_manage_panel .team-member-row .label {
    max-width: calc(100% - 140px);
}
#team_manage_panel .team-member-row .name-mail p,
#team_manage_panel .team-member-row .name-mail span {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 260px;
}

/* separacion de la fila de invitar respecto a la cabecera */
#team_manage_panel .team-invite-row { margin-top: 4px; margin-bottom: 18px; }

/* la lista con scroll si hay muchos miembros */
#team_manage_panel .team-members-list {
    max-height: 340px;
    overflow-y: auto;
    padding-right: 4px;
}

/* selector de rol un poco mas compacto y consistente */
#team_manage_panel .team-role-select > button {
    min-width: 118px;
    background: #fff;
    border: 1px solid #e4e6eb;
}
#team_manage_panel .team-role-select > button:hover { border-color: #cfd2da; }

/* titulo del equipo con menos hueco */
#team_manage_panel .team-manage-name { margin-top: 0; margin-bottom: 2px; }



/* ============================================================
   PANEL "Manage my team" - CSS aislado (clases tmp-)
   Cuadra con el mockup de 2 columnas. No comparte clases con
   el CSS antiguo del sitio.
   ============================================================ */

.tmp-shell {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
    font-family: inherit;
}
.tmp-shell * { box-sizing: border-box; }

/* ---------- columna izquierda ---------- */
.tmp-left {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    flex-direction: column;
    padding: 28px;
    background: #fff;
}
.tmp-head { margin-bottom: 22px; }
.tmp-title {
    font-size: 26px; font-weight: 800; color: #1c2333;
    line-height: 1.15; margin: 0;
}
.tmp-team-name {
        font-size: 15px; font-weight: 600; color: #52556b; margin-top: 4px;
}

/* fila invitar */
.tmp-invite-row {
    display: flex; flex-wrap: nowrap; align-items: stretch;
    gap: 10px; margin-bottom: 8px;
}
.tmp-invite-input {
    flex: 1 1 auto; min-width: 0;
    display: flex; align-items: center; gap: 10px;
    border: 1px solid #e4e6eb; border-radius: 12px;
    padding: 0 14px; background: #fff;
}
.tmp-invite-input:focus-within { border-color: #3533AD; }
.tmp-invite-ico {
    flex: 0 0 20px; width: 20px; height: 20px;
    background-color: #b6bcc6;
    -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M20 4H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2Zm0 4-8 5-8-5V6l8 5 8-5v2Z'/></svg>") center/contain no-repeat;
    mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M20 4H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2Zm0 4-8 5-8-5V6l8 5 8-5v2Z'/></svg>") center/contain no-repeat;
}
.tmp-invite-input input {
    flex: 1 1 auto; min-width: 0; border: none; outline: none;
    background: transparent; padding: 13px 0; font-size: 14px;
    margin: 0; box-shadow: none; color: #1c2333;
}
.tmp-invite-role {
    flex: 0 0 130px; border: 1px solid #e4e6eb; border-radius: 12px;
    padding: 13px 12px; font-size: 14px; background: #fff;
    margin: 0; cursor: pointer; color: #1c2333;
}
.tmp-invite-btn {
    flex: 0 0 auto; min-width: 96px; background: #3533AD; color: #fff;
    border: none; border-radius: 12px; padding: 13px 20px;
    font-size: 14px; font-weight: 700; cursor: pointer; margin: 0;
}
.tmp-invite-btn:hover { background: #2a289c; }

/* mensajes */
.tmp-msg-ok, .tmp-msg-error {
    border-radius: 10px; padding: 10px 14px; font-size: 13px; margin-top: 10px;
}
.tmp-msg-ok    { background: #e7f8f1; color: #0E6B4F; }
.tmp-msg-error { background: #fdecec; color: #c62525; }

/* lista */
.tmp-list {
    flex: 1 1 auto;
    overflow-y: auto;
    /* max-height: 340px; */
    min-height: 270px;
    margin: 14px 0 0;
    padding-right: 4px;
}

/* fila de miembro */
.tmp-row {
    display: flex; align-items: center; justify-content: space-between;
    gap: 14px; padding: 12px 2px; border-bottom: 1px solid #eef0f3;
}
.tmp-row:last-child { border-bottom: none; }
.tmp-row-label {
    display: flex; align-items: center; gap: 14px;
    min-width: 0; flex: 1 1 auto; max-width: calc(100% - 150px);
}
.tmp-row-info { min-width: 0; }
.tmp-row-info p {
    margin: 0; font-size: 15px; font-weight: 700; color: #1c2333;
    line-height: 1.25; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.tmp-row-info span {
       display: block; font-size: 13px; color: #52556b; line-height: 1.25;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}

/* avatar por rol */
/* Compensacion optica: un circulo se percibe mas adentro que un trazo recto
   aunque las dos cajas arranquen en el mismo pixel. Sin esto los avatares
   parecen desplazados a la derecha respecto al titulo. La alineacion medida ya
   es correcta, esto es ajuste de percepcion. */
.tmp-avatar { margin-left: -2px; }

.tmp-avatar {
    flex: 0 0 42px; width: 42px; height: 42px; border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    color: #fff; font-size: 16px; font-weight: 700;
    text-transform: uppercase; line-height: 1;
}
.tmp-avatar.av-owner   { background: #3f2fb8; color: #fff; }
.tmp-avatar.av-editor  { background: #d8d4f7; color: #4a3fbf; }
.tmp-avatar.av-viewer  { background: #e6e6ea; color: #555; }
.tmp-avatar.av-pending { background: #f4f4f6; color: #9aa0ab; border: 1.5px dashed #cfcfd6; }

/* parte derecha fila */
.tmp-row-right {
    flex: 0 0 auto; display: flex; align-items: center;
    justify-content: flex-end; min-width: 140px;
}
/* Badge, no texto suelto: la fila del admin no tiene control a la derecha y
   quedaba visualmente vacia frente a las demas, que llevan boton de rol. */
/* Pildora completamente redondeada y sin borde, como el mockup: es una etiqueta
   de estado, no un control, y el borde la hacia parecer pulsable igual que los
   botones de rol de las filas de abajo. */
/* Mas baja que los botones de rol a proposito: es una etiqueta de estado, no un
   control, y a la misma altura competia visualmente con ellos. */
.tmp-role-fixed {
    display: inline-flex;
    align-items: center;
    box-sizing: border-box;
    height: 30px;
    padding: 0 14px;
    border-radius: 999px;
    background: var(--eb-indigo-soft, #F0EFFA);
    box-shadow: none;
    font-size: 13px;
    font-weight: 600;
    line-height: 1;
    color: var(--eb-indigo, #3533AD);
    white-space: nowrap;
}


/* La fila del admin no lleva boton de tres puntos, asi que su contenido acaba
   36px antes que el de las demas y el badge no cuadraba con "Invite" ni con
   los botones de rol. Reservamos ese hueco. */
.tmp-row-right { justify-content: flex-end; }




/* selector rol / acciones */
.tmp-role-select { position: relative; display: inline-block; }
.tmp-role-select > button {
    background: #fff; border: 1px solid #e4e6eb; border-radius: 10px;
    padding: 9px 34px 9px 14px; font-size: 13px; font-weight: 600;
    color: #1c2333; cursor: pointer; position: relative;
    min-width: 120px; text-align: left;
}
.tmp-role-select > button:hover { border-color: #cfd2da; }
/* El caret NO debe salir en el boton de tres puntos: este selector cogia
   cualquier button dentro de un .tmp-role-select, y el de acciones tambien
   lo es. De ahi que se vieran puntos y flecha juntos. */
.tmp-role-select > button::after {
    content: ""; position: absolute; right: 14px; top: 50%;
    width: 7px; height: 7px;
    border-right: 2px solid #6b7280; border-bottom: 2px solid #6b7280;
    transform: translateY(-70%) rotate(45deg);
}
.tmp-dots-select > button::after { content: none !important; display: none !important; }

/* El caret del boton de rol lo pinta .tmp-role-select > button::after, asi que
   el <i> del marcado sobra: se veian dos flechas, un triangulo y un chevron. */
.tmp-role-btn .tmp-role-caret { display: none !important; }

.tmp-role-options {
    display: none; position: absolute; right: 0; top: calc(100% + 6px);
    background: #fff; border-radius: 12px;
    box-shadow: 0 10px 34px rgba(20,25,45,.16);
    padding: 6px; margin: 0; list-style: none; min-width: 210px; z-index: 80;
}
.tmp-role-select.open .tmp-role-options { display: block; }
.tmp-role-options li {
    list-style: none; padding: 10px 12px; border-radius: 8px;
    font-size: 14px; color: #1c2333; cursor: pointer; white-space: nowrap;
}
.tmp-role-options li:hover { background: #f3f2fb; }
.tmp-role-options li.tmp-opt-remove {
    color: #E02424; border-top: 1px solid #eee; margin-top: 4px; padding-top: 10px;
}
.tmp-role-options li.tmp-opt-remove:hover { background: #fef2f2; }

/* banda TEAM SEATS */
.tmp-seats {
    background: #f5f6f8; border-radius: 14px; padding: 16px 18px; margin-top: 14px;
}
.tmp-seats-top {
    display: flex; align-items: center; justify-content: space-between; margin-bottom: 12px;
}
.tmp-seats-label {
    font-size: 12px; font-weight: 700; letter-spacing: .05em;
    text-transform: uppercase; color: #9aa1ad;
}
.tmp-seats-upgrade { font-size: 14px; font-weight: 700; color: #3533AD; text-decoration: none; }
.tmp-seats-upgrade:hover { text-decoration: underline; }
.tmp-seats-bar-row { display: flex; align-items: center; gap: 12px; }
.tmp-seats-count {
    font-size: 14px; font-weight: 700; color: #1c2333; flex: 0 0 auto; white-space: nowrap;
}
.tmp-seats-bar {
    flex: 1 1 auto; height: 8px; background: #e4e6eb; border-radius: 6px; overflow: hidden;
}
.tmp-seats-fill { height: 100%; background: #3533AD; border-radius: 6px; transition: width .25s ease; }
.tmp-seats-left { font-size: 13px; color: #52556b; flex: 0 0 auto; white-space: nowrap; }

/* columna derecha (promos) */
.tmp-right {
    flex: 0 0 396px; width: 396px; max-width: 396px;
    position: relative; background: #f7f8fa;
    padding: 28px 28px 0; overflow: hidden;
    display: flex; flex-direction: column;
}
.tmp-promo { position: relative; z-index: 2; }
.tmp-promo-title { font-size: 18px; font-weight: 800; color: #1c2333; margin-bottom: 16px; }
.tmp-promo-item { display: flex; align-items: flex-start; gap: 12px; margin-bottom: 16px; }
.tmp-promo-item .tmp-promo-ico {
    flex: 0 0 26px; width: 26px; height: 26px; border-radius: 6px;
    background: #d9f3ef; margin-top: 2px;
        background-size:19px;
    background-position: center;
    background-repeat: no-repeat;

}




.tmp-promo-item:first-of-type .tmp-promo-ico{
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='19' height='19' viewBox='0 0 24 24' fill='%231f9c86'%3E%3Ccircle cx='9.2' cy='8' r='3.4'%3E%3C/circle%3E%3Cpath d='M2.6 19.4c.4-3.4 3-5.4 6.6-5.4s6.2 2 6.6 5.4z'%3E%3C/path%3E%3Cpath d='M17.2 5.2a3.2 3.2 0 0 1 0 6.2 4 4 0 0 0 0-6.2z'%3E%3C/path%3E%3Cpath d='M17.4 14.2c2.3.4 3.7 1.9 4 5.2h-2.6c-.1-2-.6-3.6-1.4-5.2z'%3E%3C/path%3E%3C/svg%3E");
}
.tmp-promo-item:nth-of-type(2) .tmp-promo-ico{
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='19' height='19' viewBox='0 0 24 24' fill='%231f9c86'%3E%3Cpath d='M3.2 8a1.8 1.8 0 0 1 1.8-1.8h3.3l1.8 2.1h8a1.8 1.8 0 0 1 1.8 1.8v8.1a1.8 1.8 0 0 1-1.8 1.8H5a1.8 1.8 0 0 1-1.8-1.8z'%3E%3C/path%3E%3Cpath d='M12.9 11.9h-1.8v2.1H9v1.8h2.1v2.1h1.8v-2.1H15V14h-2.1z' fill='%23f7f8fa'%3E%3C/path%3E%3C/svg%3E")
}
.tmp-promo-item:last-of-type .tmp-promo-ico{
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='19' height='19' viewBox='0 0 24 24' fill='%231f9c86'%3E%3Crect x='3' y='13' width='3.4' height='6.4' rx='1.1'%3E%3C/rect%3E%3Crect x='8.5' y='9.4' width='3.4' height='10' rx='1.1'%3E%3C/rect%3E%3Crect x='14' y='11.6' width='3.4' height='7.8' rx='1.1'%3E%3C/rect%3E%3Crect x='19.5' y='5.2' width='3.4' height='14.2' rx='1.1'%3E%3C/rect%3E%3C/svg%3E");
}

.tmp-promo-item p { margin: 0; font-size: 14px; line-height: 1.45; color: #1c2333; }
.tmp-promo-img { width: 100%; height: auto; margin: 0; display: block; }

@media (max-width: 820px) {
    .tmp-shell { flex-direction: column; }
    .tmp-right { flex: 1 1 auto; width: 100%; max-width: none; }
}

/* ============================================================
   MODAL PROPIO (clases nuevas, no comparte nada con el sitio)
   ============================================================ */
.tmp-modal-overlay {
    position: fixed;
    inset: 0;
    background: rgba(20,25,45,.55);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 99999;
    padding: 20px;
    box-sizing: border-box;
}
.tmp-modal {
    position: relative;
    width: 900px;
    max-width: 96vw;
    max-height: 92vh;
    background: #fff;
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 24px 70px rgba(0,0,0,.35);
    display: flex;
}
/* el shell dentro del modal ocupa todo */
.tmp-modal .tmp-shell {
    width: 100% !important;
    max-width: none !important;
    max-height: 92vh;
}

/* boton cerrar circular sobre la esquina */
.tmp-modal-close {
    position: absolute;
    top: 16px;
    right: 16px;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 2px 10px rgba(0,0,0,.15);
    z-index: 10;
    cursor: pointer;
    display: block;
}
.tmp-modal-close::before,
.tmp-modal-close::after {
    content: "";
    position: absolute;
    top: 50%; left: 50%;
    width: 15px; height: 2px;
    background: #1c2333;
    border-radius: 2px;
}
.tmp-modal-close::before { transform: translate(-50%,-50%) rotate(45deg); }
.tmp-modal-close::after  { transform: translate(-50%,-50%) rotate(-45deg); }

/* columna izquierda con su propio scroll si hace falta */
.tmp-modal .tmp-left { max-height: 92vh; overflow-y: auto; }
.tmp-modal .tmp-right { max-height: 92vh; overflow-y: auto; }

@media (max-width: 820px) {
    .tmp-modal { width: 96vw; flex-direction: column; }
    .tmp-modal .tmp-shell { flex-direction: column; }
}

/* ============================================================
   AJUSTES FINOS (selector, autofill, anchos)
   ============================================================ */

/* columna izquierda mas ancha, derecha algo mas estrecha */
.tmp-shell .tmp-left  { flex: 1 1 auto !important; }
.tmp-shell .tmp-right { flex: 0 0 340px !important; width: 340px !important; max-width: 340px !important; }

/* input de email: que ocupe todo el espacio disponible */
.tmp-invite-row { align-items: stretch; }
.tmp-invite-input { flex: 1 1 auto !important; min-width: 200px; }

/* quitar el fondo azul del autofill del navegador */
.tmp-invite-input input:-webkit-autofill,
.tmp-invite-input input:-webkit-autofill:hover,
.tmp-invite-input input:-webkit-autofill:focus {
    -webkit-box-shadow: 0 0 0 100px #fff inset !important;
    box-shadow: 0 0 0 100px #fff inset !important;
    -webkit-text-fill-color: #1c2333 !important;
    caret-color: #1c2333;
    transition: background-color 9999s ease-in-out 0s;
}

/* selector de rol estilizado (quitar apariencia nativa + flecha propia) */
.tmp-invite-role {
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'><path fill='none' stroke='%236b7280' stroke-width='2' d='M2 4l4 4 4-4'/></svg>") !important;
    background-repeat: no-repeat !important;
    background-position: right 12px center !important;
    background-size: 12px !important;
    padding-right: 32px !important;
    color: #1c2333 !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
}
.tmp-invite-role:focus { border-color: #3533AD !important; outline: none !important; }

/* las opciones del select nativo no se pueden estilar mucho, pero
   al menos quitamos el resaltado azul feo en algunos navegadores */
.tmp-invite-role option {
    background: #fff;
    color: #1c2333;
}

/* ============================================================
   DROPDOWN CUSTOM del rol al invitar
   ============================================================ */
.tmp-invite-role-select {
    position: relative;
    flex: 0 0 140px;
    display: flex;
}
.tmp-invite-role-btn {
    width: 100%;
    background: #fff;
    border: 1px solid #e4e6eb;
    border-radius: 12px;
    padding: 13px 34px 13px 14px;
    font-size: 14px;
    font-weight: 600;
    color: #1c2333;
    cursor: pointer;
    text-align: left;
    position: relative;
    line-height: 1.2;
}
.tmp-invite-role-btn::after {
    content: "";
    position: absolute;
    right: 14px; top: 50%;
    width: 7px; height: 7px;
    border-right: 2px solid #6b7280;
    border-bottom: 2px solid #6b7280;
    transform: translateY(-70%) rotate(45deg);
}
.tmp-invite-role-select.open .tmp-invite-role-btn { border-color: #3533AD; }
.tmp-invite-role-options {
    display: none;
    position: absolute;
    left: 0; right: 0;
    top: calc(100% + 6px);
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 10px 34px rgba(20,25,45,.16);
    padding: 6px;
    margin: 0;
    list-style: none;
    z-index: 90;
}
.tmp-invite-role-select.open .tmp-invite-role-options { display: block; }
.tmp-invite-role-options li {
    list-style: none;
    padding: 10px 12px;
    border-radius: 8px;
    font-size: 14px;
    color: #1c2333;
    cursor: pointer;
    white-space: nowrap;
}
.tmp-invite-role-options li:hover { background: #f3f2fb; }
.tmp-invite-role-select[data-value="member"] .tmp-invite-role-options li[data-value="member"],
.tmp-invite-role-select[data-value="editor"] .tmp-invite-role-options li[data-value="editor"] {
    background: #f3f2fb;
    font-weight: 700;
}

/* ============================================================
   PROPORCIONES pixel-perfect (mockup: modal ~1000, izq ~62%, der ~38%)
   ============================================================ */
.tmp-modal { width: 1000px !important; }

.tmp-shell .tmp-left  {
    flex: 1 1 auto !important;
    width: auto !important;
    min-width: 0 !important;
    padding: 32px 36px !important;
}
.tmp-shell .tmp-right {
    flex: 0 0 380px !important;
    width: 380px !important;
    max-width: 380px !important;
}

/* el input de email ocupa todo el espacio sobrante de su fila */
.tmp-invite-row { gap: 12px !important; }
.tmp-invite-input { flex: 1 1 auto !important; min-width: 0 !important; }
.tmp-invite-role-select { flex: 0 0 150px !important; }
.tmp-invite-btn { flex: 0 0 auto !important; }

/* titulo un pelin mas compacto para que respire */
.tmp-title { font-size: 30px !important; }

/* ============================================================
   FORZAR proporciones con maxima especificidad (ancestro overlay)
   ============================================================ */
.tmp-modal-overlay .tmp-modal { width: 1000px !important; max-width: 96vw !important;height: 90%; }
.tmp-modal-overlay .tmp-modal .tmp-shell { width: 100% !important; }
.tmp-modal-overlay .tmp-modal .tmp-shell .tmp-left {
    flex: 1 1 auto !important;
    width: auto !important;
    min-width: 0 !important;
}



.tmp-modal-overlay .tmp-modal {
    width: 1000px !important;
    max-width: 96vw !important;
    height: auto !important;
    max-height: 90vh !important;
}
.tmp-modal-overlay .tmp-modal .tmp-shell { max-height: calc(90vh - 40px); overflow-y: auto; }

.tmp-modal-overlay .tmp-modal .tmp-shell .tmp-right {
    flex: 0 0 380px !important;
    width: 380px !important;
    max-width: 380px !important;
    min-width: 380px !important;
}

@media(max-width: 1000px){
   .tmp-modal-overlay .tmp-modal .tmp-shell .tmp-right {
        display:none;
    }
    .scrollingWrap .tmp-modal-overlay .tmp-modal{
        max-width: 100% !important;
    } 
}



/* --- fila: dos controles separados --- */
.tmp-row-right { display: flex; align-items: center; gap: 8px; }

/* Ancho fijo: "Member" y "Editor" tienen distinta longitud y el boton cambiaba
   de tamano segun el rol, con lo que el caret bailaba de fila a fila. */
.tmp-role-btn { width: 132px !important; min-width: 132px !important; justify-content: space-between; }

.tmp-role-btn {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    box-sizing: border-box;
    height: var(--eb-h-sm, 36px);
    padding: 0 12px;
    border: 0;
    border-radius: var(--eb-radio, 8px);
    background: #fff;
    box-shadow: inset 0 0 0 1px var(--eb-indigo-border, #DDD9F4);
    font-family: inherit;
    font-size: 13.5px;
    font-weight: var(--eb-peso, 600);
    line-height: 1;
    color: var(--eb-indigo-ink, #241D63);
    cursor: pointer;
    white-space: nowrap;
}
.tmp-role-btn:hover { background: var(--eb-indigo-soft, #F0EFFA); }
.tmp-role-caret {
    width: 0; height: 0; flex: none;
    border-left: 4px solid transparent;
    border-right: 4px solid transparent;
    border-top: 5px solid currentColor;
}

/* El recuadro y el fondo los pone el CSS legacy de .tmp-role-select sobre su
   button, por eso hacen falta los !important aqui. */
.tmp-dots-btn {
    display: inline-flex !important;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 3px;
    width: 36px !important;
    min-width: 36px !important;
    height: 36px !important;
    padding: 0 !important;
    border: 0 !important;
    box-shadow: none !important;
    border-radius: var(--eb-radio, 8px) !important;
    background: transparent !important;
    cursor: pointer;
}
.tmp-dots-btn:hover { background: var(--eb-indigo-soft, #F0EFFA) !important; }
.tmp-dots-btn > span {
    width: 3px !important;
    height: 3px !important;
    flex: none;
    border-radius: 50%;
    background: var(--eb-indigo-ink, #241D63) !important;
}

/* --- opciones de rol, con la actual marcada --- */
.tmp-role-options--roles { min-width: 260px; max-width: 342px; }
/* .tmp-role-options li trae white-space: nowrap del menu original, que solo
   tenia etiquetas de una palabra. Las descripciones son frases largas y se
   salian de la caja: el texto sobrante se pintaba fuera del fondo blanco y se
   leia encima de la fila de abajo. */
/* Cuatro estados: reposo, hover, seleccionado y seleccionado+hover. El ultimo
   faltaba: al pasar el raton sobre la opcion ya activa no cambiaba nada y no se
   distinguia de un elemento inerte. */
.tmp-role-opt {
    display: flex;
    align-items: flex-start;
    gap: 11px;
    padding: 11px 13px !important;
    border-radius: 10px;
    background: #fff;
    white-space: normal !important;
    cursor: pointer;
    transition: background .13s ease;
}

/* El background de .tmp-row-right .tmp-role-options sale tachado en el
   inspector: hay una regla legacy sobre <ul> con mas especificidad. */
#team_members_list .tmp-row-right .tmp-role-options {
    background: #fff !important;
    max-width: 342px !important;
}


/* Con los dos fondos tintados y sin separacion, las opciones se leian como un
   solo bloque continuo y no se distinguia donde acababa una y empezaba la otra. */
.tmp-role-options--roles .tmp-role-opt + .tmp-role-opt { margin-top: 6px; }
.tmp-role-opt:hover { background: var(--eb-gris-hover, #F2F2F5); }
.tmp-role-opt--on          { background: var(--eb-indigo-soft, #F0EFFA); }
.tmp-role-opt--on:hover    { background: var(--eb-indigo-press-soft, #E5E1FA); }
.tmp-role-opt-txt { min-width: 0; }
.tmp-role-opt-txt b,
.tmp-role-opt-txt em { white-space: normal !important; overflow-wrap: anywhere; }
/* Circulo vacio en reposo, relleno indigo con la marca en blanco al estar
   seleccionado. Antes solo habia una marca suelta que aparecia y desaparecia,
   asi que en reposo no habia nada que indicara que la fila era seleccionable. */
.tmp-role-opt-check {
    flex: none;
    box-sizing: border-box;
    width: 18px;
    height: 18px;
    margin-top: 1px;
    position: relative;
    border-radius: 50%;
    border: 1.5px solid var(--eb-circulo-borde, #C9CAD4);
    background: #fff;
    transition: border-color .13s ease, background .13s ease;
}
.tmp-role-opt:hover .tmp-role-opt-check { border-color: var(--eb-circulo-hover, #9FA1B0); }

.tmp-role-opt--on .tmp-role-opt-check {
    border-color: var(--eb-indigo, #3533AD);
    background: var(--eb-indigo, #3533AD);
}


/* El CSS global tiene "a, button, input { outline: 0 !important }", asi que el
   anillo de foco va por box-shadow como en el resto del sistema. */
.tmp-role-opt:focus-visible {
    outline: none;
    box-shadow: var(--eb-focus, 0 0 0 2px #fff, 0 0 0 4px #A9A7E6);
}


.tmp-role-opt--on:hover .tmp-role-opt-check {
    border-color: var(--eb-indigo-hover, #2A288C);
    background: var(--eb-indigo-hover, #2A288C);
}
.tmp-role-opt--on .tmp-role-opt-check::after {
    content: "";
    position: absolute;
    left: 5px;
    top: 2px;
    width: 4px;
    height: 8px;
    border: solid #fff;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}
.tmp-role-opt-txt { display: flex; flex-direction: column; gap: 2px; }
.tmp-role-opt-txt b  { font-size: 13.5px; font-weight: 600; color: var(--eb-indigo-ink, #241D63); }
.tmp-role-opt-txt em { font-style: normal; font-size: 12px; line-height: 1.45; color: #6f7189; }

/* --- acciones: la destructiva separada y en rojo --- */
.tmp-role-options--acciones { min-width: 220px; }
.tmp-role-options--acciones .tmp-opt-remove {
    border-top: 1px solid #ececef;
    color: var(--eb-danger, #C0223C) !important;
}
.tmp-role-options--acciones .tmp-opt-remove:hover { background: #fdf2f4 !important; }

/* --- bloque administrar cuenta --- */
.tmp-account {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-top: 14px;
    padding: 14px 16px;
    border-radius: var(--eb-radio, 8px);
    background: var(--eb-indigo-soft, #F0EFFA);
}
.tmp-account-txt { display: flex; flex-direction: column; gap: 3px; }
.tmp-account-title { font-size: 14px; font-weight: 600; color: var(--eb-indigo-ink, #241D63); }
.tmp-account-desc  { font-size: 12.5px; color: #6f7189; }
.tmp-account-btn {
    display: inline-grid;
    place-items: center;
    box-sizing: border-box;
    flex: none;
    height: var(--eb-h-sm, 36px);
    padding: 0 16px;
    border: 0;
    border-radius: var(--eb-radio, 8px);
    background: #fff;
    box-shadow: inset 0 0 0 1px var(--eb-indigo-border, #DDD9F4);
    font-family: inherit;
    font-size: 13.5px;
    font-weight: var(--eb-peso, 600);
    line-height: 1;
    color: var(--eb-indigo-ink, #241D63);
    cursor: pointer;
    white-space: nowrap;
}





/* CLAVE: sin position:relative el <ul> absolute busca ancestro posicionado
   mas arriba y aparece con left negativo, fuera del modal. */
.tmp-row-right .tmp-role-select { position: relative; }

/* La posicion la calcula team_toggle_menu() en coordenadas de ventana, porque
   la lista recorta con overflow-y: auto. Aqui solo forma y tamano. */
.tmp-row-right .tmp-role-options {
    width: max-content;
    min-width: 220px;
    max-width: 342px;
    z-index: 9999;
    background: #fff;
    box-shadow: 0 8px 24px rgba(26,26,46,.14), 0 0 0 1px rgba(26,26,46,.06);
}
.tmp-row-right .tmp-role-options--acciones { min-width: 190px; max-width: 220px; }

/* El menu flota sobre las filas de abajo y se veia el texto a traves. Con el id
   del contenedor la especificidad gana a cualquier regla legacy sobre <ul>. */
#team_members_list .tmp-row-right .tmp-role-options {
    background: #fff !important;
    background-color: #fff !important;
    opacity: 1 !important;
    backdrop-filter: none !important;
}

/* La lista hace scroll propio: con overflow visible las filas se pintaban
   encima de TEAM SEATS y de Manage my account al pasar de 6 miembros.
   El scroll vive aqui y NO en .tmp-shell, para que cabecera, fila de invitar
   y bandas inferiores queden siempre fijas.
   Los menus de rol se sacan del flujo con position: fixed desde el JS, asi que
   este overflow ya no los recorta. */
/* Con overflow-y: auto el navegador convierte el overflow-x en auto tambien, y
   recorta a ras de caja: los avatares (que llevan margin-left: -2px de
   compensacion optica) se cortaban por la izquierda, y la barra de scroll se
   comia el boton de tres puntos por la derecha.
   El padding da el aire, y el margen negativo lo devuelve para que la lista
   siga alineada con el resto del panel. */
.tmp-list  {
    overflow-y: auto !important;
    overflow-x: hidden;
    min-height: 0;
    flex: 1 1 auto;
    padding-left: 4px;
    padding-right: 12px;
    margin-left: -4px;
    margin-right: -12px;
    scrollbar-gutter: stable;
}
.tmp-left  { overflow: hidden !important; }
.tmp-row   { position: relative; padding-left: 0 !important; padding-right: 0 !important; }

/* El shell deja de hacer scroll: lo hace la lista */
.tmp-modal-overlay .tmp-modal .tmp-shell { overflow-y: hidden !important; }

/* El scroll vive SOLO en el shell, y el modal deja de recortar */
.tmp-modal-overlay .tmp-modal { overflow: visible !important; }
.tmp-modal-overlay .tmp-modal .tmp-shell {
    max-height: calc(90vh - 40px);
    overflow-y: auto;
    overflow-x: visible;
}

/* La direccion la decide team_toggle_menu() midiendo el hueco real: una regla
   por posicion de fila abria hacia arriba aunque hubiera sitio de sobra debajo,
   y el menu tapaba la fila anterior. */
.tmp-role-select.open-up .tmp-role-options {
    top: auto;
    bottom: calc(100% + 6px);
}





.tmp-account-btn:hover { background: var(--eb-indigo-soft, #F0EFFA); }


/* ============================================================
   BOTON INVITAR desactivado (hasta que haya email valido)
   ============================================================ */
.tmp-invite-btn.tmp-disabled {
    opacity: .45;
    cursor: default;
    pointer-events: none;
}

/* ============================================================
   Columna derecha: mismo inicio que el mockup
   (padding-top alineado con el contenido, sin titulo)
   ============================================================ */
.tmp-modal-overlay .tmp-modal .tmp-right {
    padding-top: 32px !important;
}

/* ============================================================
   MINIPOPUP de confirmacion (eliminar miembro)
   ============================================================ */
.tmp-confirm-overlay {
    position: fixed;
    inset: 0;
    background: rgba(20,25,45,.5);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 100010;
    padding: 20px;
}
.tmp-confirm-box {
    background: #fff;
    border-radius: 16px;
    box-shadow: 0 20px 60px rgba(0,0,0,.3);
    padding: 26px 26px 20px;
    max-width: 380px;
    width: 100%;
    text-align: center;
}
.tmp-confirm-msg {
    font-size: 16px;
    font-weight: 600;
    color: #1c2333;
    margin: 0 0 22px;
    line-height: 1.4;
}
.tmp-confirm-btns {
    display: flex;
    gap: 10px;
    justify-content: center;
}
.tmp-confirm-cancel,
.tmp-confirm-ok {
    border: none;
    border-radius: 10px;
    padding: 11px 22px;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
}
.tmp-confirm-cancel {
    background: #fff;
    color: #3533AD;
    border: 1px solid #d7d9e0;
}
.tmp-confirm-cancel:hover { background: #f5f5f7; }
.tmp-confirm-ok {
    background: #E02424;
    color: #fff;
}
.tmp-confirm-ok:hover { background: #c81e1e; }


/* etiqueta "Plantilla de equipo" clicable: abre el popup de compartir */
.brand_template_click { cursor: pointer; }
.brand_template_click:hover { opacity: .85; }

/* nivel "todo el equipo": se ocultan las filas de permisos por usuario
   (rigen los roles de equipo). Sus data-role siguen en el DOM, asi que al
   volver a "personas especificas" reaparecen con el estado que tuvieran.
   Los invitados nuevos (email aun sin equipo) si se muestran, con su selector */
/* (la ocultacion por nivel la gestiona el JS con la clase row-team-hidden) */

/* red de seguridad: si por lo que sea una fila de miembro quedara visible
   en modo equipo, al menos sin selector de rol */
.share-system-folder[data-access="team"] .box-fila-select[data-target-type="user"] .select-invite,
.share-system-folder[data-access="team"] .box-fila-select[data-target-type="email"][data-invited="1"] .select-invite {
    display: none !important;
}

/* nivel "todo el equipo": filas de miembros ocultas.
   Lleva #id + clase extra para ganar al display:flex !important de arriba */
.share-system-folder #share_members_list .box-fila-select.row-team-hidden {
    display: none !important;
}

/* la X propia del panel done se retiro: la pone el popup contenedor */
.share-panel-done .done-close-x { display: none !important; }



/* ============================================================
   CARPETAS rediseño: chips de acceso (compartidos entre superficies)
   ============================================================ */
.tmf-pill {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    height: 24px;
    padding: 0 9px 0 7px;
    border-radius: 999px;
    font-size: 11.5px;
    font-weight: 500;
    white-space: nowrap;
    box-sizing: border-box;
}
.tmf-pill-only { border: 1px dashed #d4d4dc; color: #8b8b96; background: #fff; }
.tmf-pill-team { background: #e8e5ff; color: #3a2ecb; }

.tmf-mails { display: inline-flex; align-items: center; }
.tmf-bolita {
    width: 24px;
    height: 24px;
    border-radius: 999px;
    border: 2px solid #fff;
    box-sizing: border-box;
    display: inline-grid;
    place-items: center;
    font-size: 11px;
    font-weight: 600;
    background: #e6e6ea;
    color: #555;
    text-indent: 0;
    line-height: 1;
    z-index: 1;
}
.tmf-bolita + .tmf-bolita { margin-left: -8px; }

/* fila de carpeta del menu de equipo */
.tmf-item { position: relative; }
.tmf-item .tmf-row {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 36px 10px 8px; /* hueco a la derecha para los 3 puntitos */
    border-radius: 9px;
    cursor: pointer;
}
.tmf-item .tmf-row:hover { background: #f5f5f7; }
.tmf-icon { flex: none; width: 46px; height: 44px; position: relative; }
.tmf-tab {
    position: absolute; left: 0; top: 6%;
    width: 52%; height: 16%;
    background: #dfe2e4;
    border-radius: 4px 4px 0 0;
}
.tmf-body {
    position: absolute; left: 0; right: 0; top: 17%; bottom: 6%;
    background: #eceef0;
    border-radius: 6px;
    overflow: hidden;
}
.tmf-inner {
    position: absolute;
    inset: 14% 10% 12%;
    background: #fff;
    border: 1px solid #e2e5e8;
    box-sizing: border-box;
}
.tmf-item .tmf-txt { flex: 1; min-width: 0; }
.tmf-item .tmf-txt p {
    margin: 0;
    font-size: 14px;
    font-weight: 500;
    color: #16151a;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.tmf-item .tmf-txt small { font-size: 12.5px; color: #8b8b96; }
.tmf-access { flex: none; display: flex; align-items: center; }

/* movil: los 3 puntitos siempre visibles y clicables */
@media (max-width: 900px) {
    .tmf-item .accionesFold,
    .tmf-item .more-buttons-box {
        display: block !important;
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
    }
}

/* miniatura del ultimo diseño dentro de la mini carpeta */
.tmf-inner { overflow: hidden; }
.tmf-inner img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}


/* cabecera minimal del popup de compartir: titulo + subtitulo */
.share-system-folder > .title .share-title-txt {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}
.share-system-folder > .title .share-title-sub {
    font-size: 13px;
    font-weight: 400;
    color: #8b8b96;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
/* la fila antigua del nombre, por si quedara en algun flujo cacheado */
.share-system-folder .folder-name { display: none !important; }

/* ============================================================
   PANEL MI EQUIPO (rediseño mockup): cabecera, tabs, nota y
   pantalla inicial sin equipo
   ============================================================ */
.mtp-head {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 4px 0 10px;
    min-width: 0;
}
.mtp-head svg { flex: none; }
.mtp-head-name {
    font-size: 20px;
    font-weight: 600;
    color: #16151a;
    letter-spacing: -0.01em;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    min-width: 0;
}
.mtp-head-btn {
    flex: none;
    margin-left: auto;
    height: 32px;
    padding: 0 12px 0 9px;
    border: 1px solid #dcdce3;
    border-radius: 8px;
    background: #fff;
    color: #56555f;
    font-family: inherit;
    font-size: 13px;
    font-weight: 500;
    display: flex;
    align-items: center;
    gap: 7px;
    cursor: pointer;
    white-space: nowrap;
}
.mtp-head-btn:hover { border-color: #3a2ecb; color: #3a2ecb; }

.mtp-tabs {
    display: flex;
    gap: 2px;
    padding: 0 2px;
    border-bottom: 1px solid #ececf0;
    margin-bottom: 14px;
    overflow-x: auto;
}
.mtp-tabs { scrollbar-width: none; -ms-overflow-style: none; }
.mtp-tabs::-webkit-scrollbar { display: none; }
.mtp-tab {
    border: none;
    background: transparent;
    padding: 0 10px 12px;
    margin-bottom: -1px;
    border-bottom: 2px solid transparent;
    font-family: inherit;
    font-size: 13.5px;
    font-weight: 500;
    color: #6a6a76;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 5px;
    white-space: nowrap;
}
.mtp-tab span { font-size: 12px; color: #a8a8b3; }
.mtp-tab:hover { color: #16151a; }
.mtp-tab.active {
    border-bottom-color: #3a2ecb;
    font-weight: 600;
    color: #16151a;
}

.mtp-note {
    margin: 18px 2px 8px;
    padding-top: 16px;
    border-top: 1px solid #ececf0;
    font-size: 12.5px !important;
    line-height: 1.55;
    color: #8b8b96 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    font-weight: 400 !important;
    text-align: left;
}
.mtp-note strong { font-weight: 600; color: #6a6a76; }

/* ---------- aviso "todavia no hay nada aqui" ---------- */
.mtp-empty {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    min-height: 52px;
    margin: 4px 2px 18px;
    padding: 14px 44px 14px 24px;
    background: #fff;
    border: 1px solid #ececf0;
    border-radius: 12px;
    box-shadow: 0 1px 3px rgba(22, 21, 26, .05);
}
.mtp-empty-txt {
    margin: 0 !important;
    font-size: 14px !important;
    line-height: 1.45;
    font-weight: 400 !important;
    color: #6a6a76 !important;
    text-align: center;
    text-transform: none !important;
    letter-spacing: 0 !important;
}
.mtp-empty-x {
    position: absolute;
    top: 50%;
    right: 12px;
    transform: translateY(-50%);
    width: 26px;
    height: 26px;
    padding: 0;
    border: none;
    border-radius: 50%;
    background: transparent;
    cursor: pointer;
    flex: none;
}
.mtp-empty-x::before,
.mtp-empty-x::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 12px;
    height: 1.6px;
    background: #56555f;
    border-radius: 2px;
}
.mtp-empty-x::before { transform: translate(-50%, -50%) rotate(45deg); }
.mtp-empty-x::after  { transform: translate(-50%, -50%) rotate(-45deg); }
.mtp-empty-x:hover { background: #f2f2f5; }
.mtp-empty-x:hover::before,
.mtp-empty-x:hover::after { background: #16151a; }

@media (max-width: 700px) {
    .mtp-empty { padding: 13px 40px 13px 16px; }
    .mtp-empty-txt { font-size: 13.5px !important; }
}

/* ---------- pantalla inicial sin equipo ---------- */
.mtp-noteam {
    background: #fff;
    border-radius: 12px;
    padding: 28px 24px 24px;
    display: flex;
    flex-direction: column;
    text-align: left;
}
.mtp-noteam-ico {
    width: 52px;
    height: 52px;
    border-radius: 14px;
    background: #efedff;
    display: grid;
    place-items: center;
}
.mtp-noteam-ico svg { stroke: #3a2ecb; }
.mtp-noteam-title {
    margin: 20px 0 0;
    font-size: 26px;
    line-height: 1.15;
    font-weight: 600;
    letter-spacing: -0.02em;
    color: #16151a;
}
.mtp-noteam-sub {
    margin: 12px 0 0;
    font-size: 15px;
    line-height: 1.6;
    color: #6a6a76;
}
.mtp-noteam-feats {
    display: flex;
    flex-direction: column;
    gap: 14px;
    margin: 24px 0 0;
}
.mtp-noteam-feat {
    display: flex;
    align-items: center;
    gap: 12px;
}
.mtp-noteam-feat svg { flex: none; stroke: #3a2ecb; }
.mtp-noteam-feat span { font-size: 14.5px; color: #16151a; }
.mtp-noteam-cta {
    margin: 24px 0 0;
    height: 52px;
    border: none;
    border-radius: 10px;
    color: #fff;
    font-family: inherit;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    z-index: 9;
    overflow: hidden;
}

.mtp-noteam-cta:before, .mtp-noteam-cta:after{
    content: '';
    position: absolute;
    height: 100%;
    width: 100%;
    top: 0;
    left: 0;
}

.mtp-noteam-cta:before{
    z-index: -2;
    background: #CF0873;
    transition: opacity .35s ease, transform .35s ease ;
}

.mtp-noteam-cta:after{
    z-index: -1;
    background: transparent linear-gradient(90deg, #3533AD -10%, #E3097E 80%) 0% 0% no-repeat padding-box;
    transition: .75s;
}
     

.mtp-noteam-cta:hover:after { opacity:0; }
.mtp-noteam-img {
    margin: 26px 0 0;
    border-radius: 12px;
    overflow: hidden;
    background: #f2f2f5;
}
.mtp-noteam-img img {
    width: 100%;
    height: auto;
    display: block;
}

/* ---------- panel Mi Equipo: ajustes vista "Todos" ---------- */
/* sin boton "Añadir fotos" en la seccion resumida (la pestaña Fotos abre la vista completa) */
#teams_photos #add_photos_team { display: none !important; }



/* pestaña de icono (Tipografias) */
.mtp-tab-ico svg { display: block; }

/* ---------- boton "Crear carpeta compartida" (estilo mockup, compacto) ---------- */
.mtp-create-folder {
    height: 36px !important;
width: 89% !important;
    padding: 0 14px 0 11px !important;
margin: 0 auto 10px !important;
    border: 1px solid #dcdce3 !important;
    border-radius: 8px !important;
    background: #fff !important;
    color: #16151a !important;
    font-family: inherit;
    font-size: 13.5px !important;
    font-weight: 500 !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    cursor: pointer;
    white-space: nowrap;
    box-shadow: none !important;
}
.mtp-create-folder:hover { border-color: #3a2ecb !important; color: #3a2ecb !important; }
.mtp-create-folder svg { flex: none; }
.mtp-create-folder p { margin: 0 !important; font-size: inherit !important; color: inherit !important; }
.mtp-create-folder span { display: none !important; }

/* solo visible en la pestaña Carpetas (mtp-all), no en la inicial "Todos" */
#my_team_folders:not(.mtp-all) .mtp-create-folder { display: none !important; }

/* sin SimpleBar la rejilla crece sola. OJO: aqui habia un overflow:visible con
   selector de id que ganaba a .tmfg-fijo .tmfg, y por eso en modo fijo la
   segunda fila se salia de la caja en vez de recortarse */
#my_team_folders:not(.mtp-all),
#my_designs_folders:not(.mtp-all) {
    max-height: none;
    height: auto;
    overflow: visible;
}

/* ===== títulos de sección (modo "Cualquier contenido") ===== */
.home-seccion-titulo {
    margin: 4px 0 12px;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #a8a8b3;
}
.contenedor-padre_list + .contenedor-padre_list { margin-top: 26px; }

/* ===== badge privada (gris punteado) — reutiliza .tmf-pill ===== */
.tmf-pill-priv { border: 1px dashed #d4d4dc; color: #8b8b96; background: #fff; }

/* ===== carpeta: badge en su fila, conteo + bolitas debajo ===== */
.folder-card2 .fc2-badge { margin-top: 2px; }
.folder-card2 .fc2-mails { display: inline-flex; align-items: center; }

/* ===== imagen: mismo pie que diseños ===== */
.image-card .home-badge-row { margin: 4px 0 2px; }
.image-card .fc2-foot { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.image-card .fc2-mails { display: inline-flex; align-items: center; }

/* ===== reserva de altura de bolitas: evita el salto privado↔equipo ===== */
.home-reserva-mails .home-mails,
.home-reserva-mails .fc2-mails { min-height: 24px; }
.home-mails-empty { display: inline-block; min-height: 24px; }

/* las bolitas de recurso comparten el estilo de .home-mails de diseños */
.fc2-mails .home-mails > div,
.image-card .home-mails > div {
    width: 24px; height: 24px; border-radius: 999px;
    display: grid; place-items: center;
    font-size: 9.5px; font-weight: 600;
    box-shadow: 0 0 0 2px #fff; overflow: hidden;
    line-height: 1;
    z-index: 1;
}
.fc2-mails .home-mails > div + div,
.image-card .home-mails > div + div { margin-left: -9px; }
.fc2-mails .home-mails > div.number,
.image-card .home-mails > div.number { background: #e6e6ea; color: #555; }



/* ============================================================
   POPUP "Cambiar tamano del equipo" (asientos PRO Teams)
   Clases aisladas con prefijo tseats- (no comparten nada con el CSS del sitio)
   ============================================================ */

.tseats-modal {
    width: 560px;
    max-width: calc(100vw - 32px);
    background: #fff;
    border-radius: 16px;
    box-shadow: 0 24px 60px rgba(10,12,20,.32);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    font-family: inherit;
    box-sizing: border-box;
}

/* ---------- cabecera ---------- */
.tseats-modal .tseats-head {
    height: 72px;
    padding: 0 28px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-bottom: 1px solid #eceef3;
    box-sizing: border-box;
    flex: none;
}
.tseats-modal .tseats-title {
    font-size: 18px;
    font-weight: 800;
    color: #14161c;
}
.tseats-modal .tseats-x {
    width: 32px;
    height: 32px;
    border: 0;
    background: transparent;
    border-radius: 8px;
    cursor: pointer;
    padding: 0;
    position: relative;
    flex: none;
}
.tseats-modal .tseats-x:hover { background: #f1f2f5; }
.tseats-modal .tseats-x::before,
.tseats-modal .tseats-x::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    width: 16px;
    height: 2px;
    background: #8b93a5;
    border-radius: 2px;
}
.tseats-modal .tseats-x::before { transform: translate(-50%, -50%) rotate(45deg); }
.tseats-modal .tseats-x::after  { transform: translate(-50%, -50%) rotate(-45deg); }

/* ---------- cuerpo ---------- */
.tseats-modal .tseats-body {
    padding: 24px 28px 20px;
    display: flex;
    flex-direction: column;
    gap: 20px;
}
.tseats-modal .tseats-intro {
    margin: 0;
    font-size: 14.5px;
    color: #3c4356;
    line-height: 1.5;
}

.tseats-modal .tseats-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}
.tseats-modal .tseats-row-txt {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}
.tseats-modal .tseats-row-title {
    font-size: 15px;
    font-weight: 700;
    color: #14161c;
}
.tseats-modal .tseats-row-sub {
    font-size: 12.5px;
    color: #8b93a5;
}

/* ---------- stepper de asientos ---------- */
.tseats-modal .tseats-stepper {
    display: flex;
    align-items: center;
    gap: 10px;
    flex: none;
}
.tseats-modal .tseats-btn-step {
    width: 40px;
    height: 40px;
    border-radius: 999px;
    border: 1.5px solid #3f2fb8;
    background: #fff;
    color: #3f2fb8;
    font-size: 20px;
    font-weight: 700;
    line-height: 1;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    transition: background .15s, border-color .15s, color .15s;
}
.tseats-modal .tseats-btn-step:hover:not(:disabled) { background: #f3f1fd; }
.tseats-modal .tseats-btn-step:disabled {
    border-color: #e0e3ea;
    color: #c3c8d4;
    cursor: default;
}
.tseats-modal .tseats-value {
    width: 84px;
    height: 44px;
    border: 1.5px solid #d5d9e3;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    font-weight: 700;
    color: #14161c;
}

/* ---------- banda de importes ---------- */
.tseats-modal .tseats-band {
    margin: 0 28px 24px;
    background: #f1f2f5;
    border-radius: 12px;
    padding: 16px 18px;
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.tseats-modal .tseats-band-main {
    font-size: 14.5px;
    color: #14161c;
    line-height: 1.5;
}
.tseats-modal .tseats-band-sub {
    font-size: 12.5px;
    color: #6b7280;
    line-height: 1.45;
}
.tseats-modal .tseats-amounts {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-top: 6px;
    padding-top: 12px;
    border-top: 1px solid #e0e3ea;
}
.tseats-modal .tseats-amounts > div {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
}
.tseats-modal .tseats-amounts span {
    font-size: 13.5px;
    color: #3c4356;
}
.tseats-modal .tseats-amounts strong {
    font-size: 15px;
    font-weight: 800;
    color: #14161c;
    white-space: nowrap;
}

/* ---------- pie ---------- */
.tseats-modal .tseats-foot {
    min-height: 84px;
    padding: 0 28px;
    display: flex;
    align-items: center;
    gap: 20px;
    border-top: 1px solid #eceef3;
    box-sizing: border-box;
    flex: none;
}
.tseats-modal .tseats-cta {
    height: 48px;
    padding: 0 24px;
    border: 0;
    border-radius: 10px;
    background: #3f2fb8;
    color: #fff;
    font-size: 15px;
    font-weight: 700;
    cursor: pointer;
    transition: background .15s;
}
.tseats-modal .tseats-cta:hover:not(:disabled) { background: #2a1f8a; }
.tseats-modal .tseats-cta:disabled,
.tseats-modal .tseats-cta.tseats-cta-off {
    background: #c9c4ea;
    cursor: default;
}
.tseats-modal .tseats-cancel {
    height: 48px;
    padding: 0 8px;
    border: 0;
    background: transparent;
    color: #3f2fb8;
    font-size: 15px;
    font-weight: 700;
    cursor: pointer;
}
.tseats-modal .tseats-cancel:hover { text-decoration: underline; }

/* ---------- boton "Ampliar mi equipo" en la banda de plazas ---------- */
.tmp-seats-upgrade {
    border: 0;
    background: transparent;
    color: #3f2fb8;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
    padding: 0;
}
.tmp-seats-upgrade:hover { text-decoration: underline; }

/* ---------- movil ---------- */
@media (max-width: 640px) {
    .tseats-modal .tseats-head,
    .tseats-modal .tseats-body,
    .tseats-modal .tseats-foot { padding-left: 18px; padding-right: 18px; }

    .tseats-modal .tseats-band { margin-left: 18px; margin-right: 18px; }

    .tseats-modal .tseats-row {
        flex-direction: column;
        align-items: flex-start;
        gap: 14px;
    }
    .tseats-modal .tseats-foot {
        flex-direction: column-reverse;
        align-items: stretch;
        gap: 10px;
        padding-top: 16px;
        padding-bottom: 16px;
    }
    .tseats-modal .tseats-cta,
    .tseats-modal .tseats-cancel { width: 100%; }
}

/* centrado: #groupFolder no posiciona su contenido, lo hacemos desde el modal */
#groupFolder:has(.tseats-modal) {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    box-sizing: border-box;
}


.tseats-modal {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    max-height: calc(100vh - 48px);
    overflow-y: auto;
    z-index: 10001;
}



/* los emails del panel de equipo deben poder copiarse */

.tmp-modal .tmp-row-info p, .tmp-modal .tmp-row-info span{
    -webkit-user-select: text;
    -moz-user-select: text;
    -ms-user-select: text;
    user-select: text;
}


/* badge con la carpeta a la que pertenece el diseño */
.container_template { position: relative; }

.badge-folder {
    position: absolute !important;
    top: auto !important;
    left: auto !important;
    right: 8px !important;
    bottom: 8px !important;
    z-index: 5;
    display: inline-flex !important;
    align-items: center;
    gap: 5px;
    width: auto !important;
   max-width: 75%;
    height: 22px !important;
    padding: 0 9px !important;
    border-radius: 999px;
    background: rgba(255,255,255,.94);
    border: 1px solid #e2e5e8;
    box-shadow: 0 1px 3px rgba(0,0,0,.1);
    cursor: pointer;
    box-sizing: border-box;
}

/* el svg del sitio se estira por defecto: lo fijamos a 11x11 */
.badge-folder > svg {
    flex: 0 0 11px !important;
    width: 11px !important;
    height: 11px !important;
    min-width: 11px !important;
    max-width: 11px !important;
    display: block !important;
    color: #56555f;
}

/* el span colapsaba a width 0 por el flex */
.badge-folder > span {
    flex: 1 1 auto !important;
    min-width: 0;
    width: auto !important;
    display: inline-block !important;
    color: #56555f !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    line-height: 22px !important;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.badge-folder:hover { background: #fff; border-color: #c9c9d4; }
.badge-folder:hover > span,
.badge-folder:hover > svg { color: #3a2ecb; }



.tmp-msg-error .tmp-err-cta {
    display: inline-flex;
    align-items: center;
    height: 26px;
    margin-left: 8px;
    padding: 0 12px;
    border-radius: 999px;
    background: #3f2fb8;
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    text-decoration: none;
    cursor: pointer;
    white-space: nowrap;
}
.tmp-msg-error .tmp-err-cta:hover { background: #2a1f8a; color: #fff; }



/* overlay propio del popup de asientos: independiente del sistema de foggy */
.tseats-overlay {
    position: fixed;
    inset: 0;
    z-index: 100000;
    background: rgba(20,22,28,.55);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    box-sizing: border-box;
    overflow-y: auto;
}




/* ================================================================
   CARPETAS DE EQUIPO EN REJILLA  (namespace tmfg-)
   Clases propias: no reutilizamos folders_container / object-wrap /
   box-folder / click-folder / captionObject, cuyo CSS antiguo
   imponia la fila unica y ganaba por especificidad.
   ================================================================ */

.tmfg {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 11px;
    align-items: start;
}

/* el boton de crear ocupa el ancho completo, encima de la rejilla.
   Dos clases distintas: mtp-create-folder en Mi equipo, create-folder-new
   en Mis diseños */
.tmfg > *:not(.tmfg-card),
.tmfg > .mtp-create-folder,
.tmfg > .create-folder-new {
    grid-column: 1 / -1;
    width: 100%;
    max-width: none;
    margin: 0 0 4px;
    box-sizing: border-box;
}

/* mismo aspecto en los dos paneles */
.tmfg > .create-folder-new {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 46px;
    padding: 12px 16px;
    border: 1px dashed #cfcfdb;
    border-radius: 12px;
    background: #fff;
    font-size: 13.5px;
    font-weight: 700;
    color: #3f2fb8;
    cursor: pointer;
}
.tmfg > .create-folder-new:hover { border-color: #5b4bd6; background: #f7f6ff; }

.tmfg-card { position: relative; min-width: 0; }
.tmfg-card:hover, .tmf-bolita:hover{z-index: 9999}

.tmfg-inner {
    display: flex;
    flex-direction: column;
    border: 1px solid #ececf1;
    border-radius: 12px;
    /* overflow: hidden; */
    background: #fff;
    cursor: pointer;
    transition: border-color .12s ease, box-shadow .12s ease;
}
.tmfg-inner:hover {
    border-color: #5b4bd6;
    box-shadow: 0 6px 18px rgba(91, 75, 214, .13);
}
.tmfg-card.active-folder .tmfg-inner { border-color: #5b4bd6; }

/* ---------- portada ---------- */
.tmfg-cover {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 10;
    background: #f4f4f7;
    overflow: hidden;
    border-radius:12px 12px 0 0;
}
.tmf-thumb {
    position: absolute;
    inset: 0;
    display: flex;
    gap: 2px;
    padding: 2px;
    box-sizing: border-box;
}
.tmf-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    border-radius: 3px;
}
.tmf-thumb-empty { align-items: center; justify-content: center; padding: 0; }
.tmf-thumb-2 > span,
.tmf-thumb-big { flex: 1 1 0; min-width: 0; overflow: hidden; border-radius: 3px; }
.tmf-thumb-side { width: 34%; flex: none; display: flex; flex-direction: column; gap: 2px; }
.tmf-thumb-side > span { flex: 1 1 0; min-height: 0; position: relative; overflow: hidden; border-radius: 3px; }
.tmf-thumb-mas {
    position: absolute;
    inset: 0;
    background: rgba(23, 23, 28, .52);
    color: #fff;
    font-size: 10.5px;
    font-weight: 800;
    font-style: normal;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* ---------- datos ---------- */
.tmfg-meta {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 11px 12px 12px;
}
.tmfg-txt { min-width: 0; }
.tmfg-txt p {
    margin: 0;
    font-size: 12.5px;
    font-weight: 700;
    color: #17171c;
  /*  overflow: hidden;*/
    text-overflow: ellipsis;
 /*   white-space: nowrap;*/
}
.tmfg-txt small {
    display: block;
    font-size: 10.5px;
    color: #8a8a95;
    white-space: nowrap;
}


.tmfg-txt { text-transform: none !important;

    overflow: initial;
    white-space: normal;
}



.tmfg-access { display: flex; align-self: flex-start; align-items: center; }

/* los 3 puntitos, arriba a la izquierda, con el mismo circulo gris que en
   el menu de inicio (.dropdownExample .dropbtn).
   El CSS antiguo de .accionesFold los deja en opacity:0 y los mostraba al
   pasar por encima de .box-folder, clase que estas tarjetas ya no tienen:
   por eso no volvian a aparecer */
.tmfg-card .tmfg-dots {
    position: absolute !important;
    top: 8px !important;
    left: 8px !important;
    right: auto !important;
    bottom: auto !important;
    z-index: 3;
    opacity: 0;
    transition: opacity .12s ease;
}
.tmfg-card:hover .tmfg-dots,
.tmfg-card .tmfg-dots:hover,
.tmfg-card .tmfg-dots:focus-within,
.tmfg-card .tmfg-dots.open { opacity: 1 !important; }

/* el disparador toma el aspecto del boton de inicio.
   La flecha antigua se dibuja con bordes en un ::after, asi que un
   background-image no la tapa: hay que anular el pseudoelemento */
.tmfg-card .tmfg-dots .more-button-aperture::before,
.tmfg-card .tmfg-dots .more-button-aperture::after {
    content: none !important;
    display: none !important;
    border: 0 !important;
    background: none !important;
}

.tmfg-card .tmfg-dots .more-button-aperture {
    display: block !important;
    width: 30px !important;
    height: 30px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 50% !important;
    box-shadow: 0 0 20px 0 rgba(255, 255, 255, .5);
    background-repeat: no-repeat !important;
    background-size: contain !important;
    background-position: center !important;
    background-color: transparent !important;
    background-image: url("data:image/svg+xml,%3Csvg width='30' height='30' viewBox='0 0 30 30' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath opacity='0.6' d='M15 0C17.9667 0 20.8668 0.879734 23.3335 2.52796C25.8003 4.17618 27.7229 6.51886 28.8582 9.25975C29.9935 12.0006 30.2905 15.0166 29.7118 17.9263C29.133 20.8361 27.7044 23.5088 25.6066 25.6066C23.5088 27.7044 20.8361 29.133 17.9263 29.7118C15.0166 30.2905 12.0006 29.9935 9.25975 28.8582C6.51886 27.7229 4.17618 25.8003 2.52796 23.3335C0.879734 20.8668 0 17.9667 0 15C0 11.0217 1.58035 7.20644 4.3934 4.3934C7.20644 1.58035 11.0217 0 15 0Z' fill='black'/%3E%3Cpath d='M15.0009 11.2847C15.7868 11.2847 16.424 10.6475 16.424 9.86154C16.424 9.07557 15.7868 8.43842 15.0009 8.43842C14.2149 8.43842 13.5777 9.07557 13.5777 9.86154C13.5777 10.6475 14.2149 11.2847 15.0009 11.2847Z' fill='white'/%3E%3Cpath d='M15.0009 16.6556C15.7868 16.6556 16.424 16.0185 16.424 15.2325C16.424 14.4465 15.7868 13.8094 15.0009 13.8094C14.2149 13.8094 13.5777 14.4465 13.5777 15.2325C13.5777 16.0185 14.2149 16.6556 15.0009 16.6556Z' fill='white'/%3E%3Cpath d='M15.0009 22.0265C15.7868 22.0265 16.424 21.3894 16.424 20.6034C16.424 19.8174 15.7868 19.1803 15.0009 19.1803C14.2149 19.1803 13.5777 19.8174 13.5777 20.6034C13.5777 21.3894 14.2149 22.0265 15.0009 22.0265Z' fill='white'/%3E%3C/svg%3E%0A") !important;
    opacity: .6;
    transform: scale(1);
    transition: none;
}
.tmfg-card .tmfg-dots .more-button-aperture:hover { opacity: 1; }

/* el desplegable cuelga de la izquierda, no de la derecha */
.tmfg-card .tmfg-dots .more-buttons { left: 0; right: auto; }

/* ================================================================
   CARPETAS: TRES ESTADOS
   1) al entrar           -> 1 fila exacta, sin scroll ni sticky
   2) .mtp-all            -> franja fija arriba, fila y media con degradado
   3) + .tmfg-todas       -> todas las carpetas, sin limite de alto

   El max-height lo pone el JS en pixeles midiendo una tarjeta real:
   en max-height los porcentajes se resuelven contra el ALTO del padre,
   no contra el ancho, asi que calc() con % no sirve aqui.
   ================================================================ */

/* --- 1) al entrar: una sola fila = 2 carpetas + el boton de crear.
   nth-of-type cuenta solo los <div>, y el boton de crear es un <button>,
   asi que no interfiere en la cuenta --- */
#my_team_folders:not(.mtp-all) .tmfg-card:nth-of-type(n+3),
#my_designs_folders:not(.mtp-all) .tmfg-card:nth-of-type(n+3) { display: none; }

/* --- 2) modo fijo --- */
/* la clase cae sobre nodos con CSS propio (.emojis-col, .object-elements)
   que fijan position:relative y ganan por especificidad: sin !important el
   sticky no llega a aplicarse en Mis diseños */
.tmfg-fijo {
    position: sticky !important;
    top: 0 !important;
    align-self: flex-start;
    float: none;
    z-index: 99;
    background: #fff;
    /* sin border-bottom: dejaba una linea suelta cruzando el panel.
       La sombra ya separa lo fijo de lo que se desplaza */
    box-shadow: 0 8px 14px -8px rgba(20, 20, 30, .18);
    padding-bottom: 2px;
    margin-bottom: 8px;
}

/* degradado que disuelve el corte a media tarjeta */
/* el degradado se ancla a la REJILLA, no a la franja: si no, tapaba el
   boton de "listar todas" y los botones se montaban unos sobre otros */
.tmfg-fijo .tmfg { position: relative; }
/*.tmfg-fijo::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 2px;
    height: 34px;
    pointer-events: none;
    background: linear-gradient(180deg, rgba(255,255,255,0), #fff 92%);
    z-index: 2;
}*/
.tmfg-fijo.tmfg-todas::after { display: none; }

/* la rejilla scrollea dentro de la franja; el alto lo fija el JS.
   Con id para que ningun resto antiguo con #my_team_folders lo pise */
.tmfg-fijo .tmfg,
.tmfg-fijo.tmfg,
#my_team_folders.mtp-all,
#my_designs_folders.mtp-all {
    overflow-y: auto;
    overflow-x: hidden;
    padding-right: 4px;
}
.tmfg-fijo .tmfg::-webkit-scrollbar,
.tmfg-fijo.tmfg::-webkit-scrollbar { width: 5px; }
.tmfg-fijo .tmfg::-webkit-scrollbar-thumb,
.tmfg-fijo.tmfg::-webkit-scrollbar-thumb { background: #cfcfd9; border-radius: 3px; }

/* los botones de crear del PHP se ocultan siempre: el JS los clona como
   tarjeta y como pastilla. Siguen en el DOM porque de ahi se copia el
   onclick y el texto ya traducido */
.tmfg > .mtp-create-folder,
.tmfg > .create-folder-new { display: none !important; }

/* ---------- tarjeta de crear, ultima celda de la rejilla ---------- */
/* misma caja que una tarjeta: el alto lo marca la portada 16/10 mas la zona
   de datos, asi que se replica con aspect-ratio en vez de fijar pixeles */
.tmfg > .tmfg-crear {
    grid-column: auto;
    order: 999;
    width: 100%;
    min-width: 0;
    margin: 0;
    padding: 10px;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    aspect-ratio: 16 / 10;
    height: auto;
    min-height: 0;
    border: 1px dashed #cfcfdb;
    border-radius: 12px;
    background: #fff;
    font-family: inherit;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.25;
    color: #6f6f7a;
    text-align: center;
    cursor: pointer;
    align-self: start;
}


@media (min-width: 1024px) and (max-width: 1266px) {
    .tmfg-crear-mas { display:none !important; }
}



.tmfg > .tmfg-crear:hover { border-color: #5b4bd6; background: #f7f6ff; color: #5b4bd6; }
.tmfg-crear-mas {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    border-radius: 8px;
    background: #f2f2f6;
    font-size: 16px;
    line-height: 1;
}
.tmfg > .tmfg-crear:hover .tmfg-crear-mas { background: #e7e3ff; }

/* en modo fijo mantiene la misma caja: si se encoge, la fila descuadra */

/* ---------- pastilla junto a "Ver todas" ---------- */
.tmfg-crear-mini {
    border: 0;
    border-radius: 999px;
    padding: 6px 13px;
    margin: 0 10px 0 auto;
    background: #eeecfd;
    font-family: inherit;
    font-size: 12.5px;
    font-weight: 700;
    color: #5b4bd6;
    cursor: pointer;
    white-space: nowrap;
}
.tmfg-crear-mini:hover { background: #e2ddfb; }

/* destino de arrastre */
.tmdrag-over.tmfg-crear {
    border-color: #5b4bd6;
    background: #f3f1ff;
    box-shadow: 0 0 0 3px rgba(91, 75, 214, .18);
}

/* --- 3) listar todas --- */
.tmfg-fijo.tmfg-todas .tmfg,
.tmfg-fijo.tmfg-todas.tmfg,
.tmfg-todas #my_team_folders.mtp-all,
.tmfg-todas #my_designs_folders.mtp-all { overflow: visible; }

/* boton "listar todas las carpetas", inyectado por JS */
.tmfg-vertodas {
    display: block;
    width: 100%;
    margin: 2px 0 0;
    padding: 5px 12px;
    background: #fff;
    border: 0;
    background: none;
    font-family: inherit;
    font-size: 12.5px;
    font-weight: 700;
    color: #2f57d8;
    cursor: pointer;
    position: relative;
    z-index: 3;
}
.tmfg-vertodas:hover { color: #1f3ea8; text-decoration: underline; }

/* mientras se arrastra, la franja se despega para que se note el destino */
body.tmdrag-arrastrando .tmfg-fijo {
    box-shadow: 0 10px 16px -10px rgba(91, 75, 214, .5);
}

@media (max-width: 700px) {
    .tmfg { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    #my_team_folders:not(.mtp-all) .tmfg-card:nth-of-type(n+2),
    #my_designs_folders:not(.mtp-all) .tmfg-card:nth-of-type(n+2) { display: none; }
}

/* carpetas con shared_or_not = 1: conservan su maquetacion antigua,
   solo evitamos que sus anchos fijos rompan la columna de la rejilla */
.tmfg-legacy { min-width: 0; width: auto; height: auto; margin: 0; float: none; }

/* ================================================================
   CABECERA AL ENTRAR EN UNA CARPETA
   ================================================================ */
/* ================================================================
   CABECERA AL ENTRAR EN UNA CARPETA  (namespace fhd-)
   Compacta: enlace de vuelta, y una sola fila con icono, nombre,
   etiqueta de acceso, contador y el menu de 3 opciones
   ================================================================ */

.fhd {
    padding: 4px 0 14px;
    margin-bottom: 16px;
    border-bottom: 1px solid #ececf1;
    display: flex;
    flex-direction: column;
    gap: 11px;
}

.fhd-back {
    align-self: flex-start;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 0;
    border: 0;
    background: none;
    font-family: inherit;
    font-size: 12.5px;
    font-weight: 700;
    color: #2f57d8;
    cursor: pointer;
}
.fhd-back::before { content: "\2039"; font-size: 15px; line-height: 1; }
.fhd-back:hover { color: #1f3ea8; }

.fhd-row { display: flex; align-items: center; gap: 12px; }
.fhd-ico { flex: none; display: flex; align-items: center; }

/* nombre arriba, etiqueta y contador debajo: deja mas sitio al nombre */
.fhd-txt { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 6px; }

.fhd-name {
    margin: 0;
    min-width: 0;
    font-size: 19px;
    font-weight: 800;
    color: #17171c;
    letter-spacing: -.01em;
    text-transform: none;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.fhd-sub { display: flex; align-items: center; gap: 10px; min-width: 0; }
.fhd-badge { flex: none; display: flex; align-items: center; }
.fhd-count { flex: none; font-size: 12px; color: #a5a5b0; white-space: nowrap; text-transform: none; }

/* ---------- menu de 3 opciones ---------- */
.fhd-menu { position: relative; flex: none; margin-left: auto; }

.fhd-dots {
    width: 32px;
    height: 32px;
    padding: 0;
    border: 1px solid #dcdce2;
    border-radius: 8px;
    background: #fff;
    cursor: pointer;
    background-repeat: no-repeat;
    background-position: center;
    background-image: url("data:image/svg+xml,%3Csvg width='4' height='16' viewBox='0 0 4 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='2' cy='2.4' r='1.7' fill='%233d3d47'/%3E%3Ccircle cx='2' cy='8' r='1.7' fill='%233d3d47'/%3E%3Ccircle cx='2' cy='13.6' r='1.7' fill='%233d3d47'/%3E%3C/svg%3E");
}
.fhd-dots:hover { background-color: #f6f6f9; }
.fhd-menu.open .fhd-dots { background-color: #f6f6f9; border-color: #c9c9d4; }

.fhd-list {
    display: none;
    position: absolute;
    top: 38px;
    right: 0;
    z-index: 40;
    width: 236px;
    padding: 7px;
    background: #fff;
    border: 1px solid #ececf1;
    border-radius: 12px;
    box-shadow: 0 12px 34px rgba(20, 20, 30, .2);
    flex-direction: column;
}
.fhd-menu.open .fhd-list { display: flex; }

/* el CSS antiguo de .box-tooltip pone mayusculas, centrado y tamaños
   propios a estos <p> y a .iconBackground: aqui se neutraliza */
.fhd-list > div {
    display: flex !important;
    align-items: center;
    gap: 11px;
    width: 100%;
    padding: 10px 11px;
    margin: 0;
    border: 0;
    border-radius: 8px;
    background: none;
    cursor: pointer;
    text-align: left;
    box-sizing: border-box;
}
.fhd-list > div:hover { background: #f6f6f9; }

.fhd-list p {
    margin: 0 !important;
    padding: 0 !important;
    font-size: 13px !important;
    font-weight: 600;
    line-height: 1.3;
    color: #17171c !important;
    text-align: left !important;
    text-transform: none !important;
    letter-spacing: normal !important;
    white-space: nowrap;
}

.fhd-list .iconBackground {
    flex: none;
    width: 20px !important;
    height: 20px !important;
    margin: 0 !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: 17px 17px !important;
    opacity: .85;
}
.fhd-list .iconBackground.rename_folder {
    background-image: url("data:image/svg+xml,%3Csvg width='18' height='18' viewBox='0 0 18 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2.6 3.4h8.2M2.6 3.4v11.2h11.2V9.6' stroke='%2317171c' stroke-width='1.5' stroke-linecap='round'/%3E%3Cpath d='M9.4 10.6l6.2-6.2-2-2-6.2 6.2-.4 2.4 2.4-.4Z' fill='%2317171c'/%3E%3C/svg%3E") !important;
}
.fhd-list .iconBackground.reciclebin1new {
    background-image: url("data:image/svg+xml,%3Csvg width='18' height='18' viewBox='0 0 18 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3.4 4.6h11.2M7.2 4.6V3.2h3.6v1.4M4.8 4.6l.7 9.6c0 .7.6 1.2 1.3 1.2h4.4c.7 0 1.3-.5 1.3-1.2l.7-9.6' stroke='%2317171c' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
}
.fhd-list .iconBackground.shareteam {
    background-image: url("data:image/svg+xml,%3Csvg width='18' height='18' viewBox='0 0 18 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='13.4' cy='4' r='2.2' stroke='%2317171c' stroke-width='1.4'/%3E%3Ccircle cx='4.6' cy='9' r='2.2' stroke='%2317171c' stroke-width='1.4'/%3E%3Ccircle cx='13.4' cy='14' r='2.2' stroke='%2317171c' stroke-width='1.4'/%3E%3Cpath d='M6.5 7.9l4.9-2.8M6.5 10.1l4.9 2.8' stroke='%2317171c' stroke-width='1.4' stroke-linecap='round'/%3E%3C/svg%3E") !important;
}


/* ---------- arrastrar diseños a carpetas ---------- */

.tmdrag-ok { cursor: grab; }
.tmdrag-ok:active { cursor: grabbing; }

/* el diseño que estamos arrastrando se atenua en su sitio */
.tmdrag-origen { opacity: .4; }

/* solo se resalta la carpeta bajo el cursor: marcar todas en cada dragover
   obligaba a recalcular estilos de la rejilla entera y daba tirones */
.tmdrag-over .tmfg-inner {
    border-color: #5b4bd6;
    background: #f3f1ff;
    box-shadow: 0 0 0 3px rgba(91, 75, 214, .18);
}

/* confirmacion visual al recibir un diseño */
.tmdrag-recibida .tmfg-inner {
    border-color: #1c6b42;
    box-shadow: 0 0 0 3px rgba(28, 107, 66, .2);
}

/* las imagenes son arrastrables de serie: sin esto el navegador arrastra la
   imagen suelta en vez de la tarjeta y no encuentra destino valido */
#templates_list_myteam a { -webkit-user-drag: none; user-drag: none; }



/* ---------- cabecera oculta en "Ver todas" ----------
   Se recupera altura para carpetas y diseños. Las pestañas se quedan:
   son la unica via para salir de este modo */
body.tmfg-cab-oculta .my-teams-container .upper-top,
body.tmfg-cab-oculta .my-teams-container #formSearcImagenes2,
body.tmfg-cab-oculta .my-teams-container .mtp-empty,
body.tmfg-cab-oculta .my-teams-container #msgaccountType,
body.tmfg-cab-oculta .my-teams-container .aside-top { display: none !important; }

body.tmfg-cab-oculta .my-teams-container .options-my-teams { margin-top: 0; padding-top: 0; }
body.tmfg-cab-oculta #mtp_tabs { display: flex; }
/* ---------- movil: sin franja fija ----------
   Ocupaba media pantalla y ademas no sirve para lo que se penso: el arrastre
   HTML5 no funciona en tactil, asi que no hay nada que soltar en ella */
@media (max-width: 900px) {
    .tmfg-fijo {
        position: static !important;
        top: auto !important;
        box-shadow: none !important;
        padding-bottom: 0 !important;
        margin-bottom: 8px !important;
    }
    .tmfg-fijo::after { display: none !important; }

    #my_team_folders.mtp-all,
    #my_designs_folders.mtp-all {
        max-height: none !important;
        overflow: visible !important;
        padding-right: 0 !important;
    }

    /* la cabecera del panel vuelve a verse: sin franja fija no estorba */
    body.tmfg-cab-oculta .my-teams-container .upper-top,
    body.tmfg-cab-oculta .my-teams-container #formSearcImagenes2,
    body.tmfg-cab-oculta .my-teams-container .mtp-empty,
    body.tmfg-cab-oculta .my-teams-container .aside-top { display: revert !important; }
}



/* ================================================================
   MODAL DE CREAR / RENOMBRAR CARPETA  (namespace fmod-)
   Un solo modal para los dos casos. Sin selector privada/compartida:
   la carpeta nace privada y se comparte despues.
   Clases propias: no reutilizamos .divCreate ni .create-new-folder,
   cuyo CSS antiguo imponia otra maquetacion.
   ================================================================ */

.fmod {
    position: relative;
    box-sizing: border-box;
    width: 100%;
    max-width: 430px;
    margin: 0 auto;
    padding: 22px 24px;
    display: flex;
    flex-direction: column;
    gap: 18px;
    background: #fff;
    border-radius: 16px;
    box-shadow: 0 22px 50px rgba(20, 20, 30, .28);
    font-family: inherit;
}

/* la X va DENTRO del modal: fuera parecia de otra capa */
.fmod-x {
    position: absolute;
    top: 12px;
    right: 12px;
    width: 30px;
    height: 30px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: none;
    color: #7a7a86;
    font-size: 0;
    line-height: 0;
    cursor: pointer;
}
.fmod-x::before,
.fmod-x::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 13px;
    height: 1.6px;
    background: currentColor;
    border-radius: 2px;
}
.fmod-x::before { transform: translate(-50%, -50%) rotate(45deg); }
.fmod-x::after  { transform: translate(-50%, -50%) rotate(-45deg); }
.fmod-x:hover { background: #f4f4f7; color: #17171c; }

/* ---------- cabecera ---------- */
.fmod-head {
    display: flex;
    align-items: center;
    gap: 13px;
    padding-right: 34px;
}
.fmod-ico {
    flex: none;
    width: 42px;
    height: 42px;
    border-radius: 11px;
    background: #f4f4f7;
    display: flex;
    align-items: center;
    justify-content: center;
}
.fmod-txt { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.fmod-title {
    margin: 0;
    font-size: 19px;
    font-weight: 800;
    color: #17171c;
    letter-spacing: -.01em;
}
.fmod-sub {
    margin: 0;
    font-size: 12.5px;
    color: #7a7a86;
    line-height: 1.4;
}

/* ---------- campo ---------- */
.fmod-field { display: flex; flex-direction: column; gap: 7px; }
.fmod-label {
    font-size: 11.5px;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: #8a8a95;
}
.fmod-input {
    box-sizing: border-box;
    width: 100%;
    font-family: inherit;
    font-size: 14.5px;
    font-weight: 600;
    color: #17171c;
    background: #fff;
    border: 1px solid #dcdce2;
    border-radius: 10px;
    padding: 12px 13px;
    outline: none;
    transition: border-color .12s ease, box-shadow .12s ease;
}
.fmod-input:focus { border-color: #5b4bd6; box-shadow: 0 0 0 3px #eeecfd; }
.fmod-input.fmod-error { border-color: #c02a2a; }

.fmod-hint-row { display: flex; align-items: center; gap: 8px; }
.fmod-hint {
    flex: 1;
    margin: 0;
    font-size: 11.5px;
    color: #c02a2a;
    min-height: 15px;
}
.fmod-count {
    font-size: 11.5px;
    color: #a5a5b0;
    font-variant-numeric: tabular-nums;
}

/* ---------- pie ---------- */
.fmod-foot { display: flex; align-items: center; justify-content: flex-end; gap: 10px; }
.fmod-foot button{text-align: center}
.fmod-cancel {
    display: inline-grid;
    place-items: center;
    border: 0;
    border-radius: var(--eb-radio, 8px);
    height: var(--eb-h-lg, 48px);
    padding: 0 22px;
    background: #fff;
    box-shadow: inset 0 0 0 1px var(--eb-indigo-border, #DDD9F4);
    font-family: inherit;
    font-size: 15px;
    font-weight: var(--eb-peso, 600);
    line-height: 1;
    color: var(--eb-indigo-ink, #241D63);
    cursor: pointer;
    white-space: nowrap;
    transition: background .15s ease, box-shadow .15s ease;
}
.fmod-cancel:hover { background: var(--eb-indigo-soft, #F0EFFA); }
.fmod-cancel:active {
    background: var(--eb-indigo-press-soft, #E5E1FA);
    box-shadow: inset 0 0 0 1px var(--eb-indigo-press-border, #B9B3E8);
}
.fmod-cancel:focus-visible { outline: none; box-shadow: inset 0 0 0 1px var(--eb-indigo-border, #DDD9F4), 0 0 0 2px #fff, 0 0 0 4px #A9A7E6; }
.fmod-cancel[disabled] {
    box-shadow: inset 0 0 0 1px var(--eb-off-border, #ECECEF);
    color: var(--eb-off-ink, #B6B8C4);
    cursor: default;
}

.fmod-cta {
    display: inline-grid;
    place-items: center;
    border: 0;
    border-radius: var(--eb-radio);
    height: var(--eb-h-lg);
    padding: 12px 22px;
    background: var(--eb-indigo);
    font-family: inherit;
    font-size: 13.5px;
    font-weight: var(--eb-peso);
    line-height: 1;
    color: #fff;
    cursor: pointer;
    white-space: nowrap;
    transition: background .15s ease;
}
.fmod-cta:hover { background: var(--eb-indigo-hover); }
.fmod-cta:active { background: var(--eb-indigo-press); }
.fmod-cta:focus-visible { outline: none; box-shadow: var(--eb-focus); }
.fmod-cta.fmod-off,
.fmod-cta[disabled] {
    background: var(--eb-indigo-off);
    color: #fff;
    cursor: default;
}

@media (max-width: 520px) {
    .fmod { padding: 18px; gap: 15px; }
    .fmod-foot { flex-direction: column-reverse; align-items: stretch; }
}


/* el contenedor #groupFolder centra e impone estilos a sus hijos por
   selector de elemento: aqui neutralizamos lo que afecta al modal */
.fmod, .fmod * {
    text-align: left;
    box-sizing: border-box;
}
.fmod p, .fmod label, .fmod span, .fmod div { margin: 0; padding: 0; }
.fmod button { font-family: inherit; line-height: normal; }
.fmod-head { text-align: left; }
.fmod-hint-row { justify-content: space-between; }
/* con el modal abierto sobra la X del contenedor: la nuestra va dentro */
#groupFolder:has(.fmod) .close-popup,
#groupFolder:has(.fmod) .closeX,
#groupFolder:has(.fmod) > .close { display: none !important; }



@media(max-width: 580px){
    .tmp-invite-row{flex-wrap: wrap}
    .tmp-invite-input{flex: 0 0 100% !important;}
    .tmp-invite-role-select{flex: auto !important;}
}


/* dentro de una carpeta la cabecera del panel sobra, pero .fhd puede estar en
   el DOM oculto de otro panel: solo cuenta si de verdad se esta mostrando */
#teams:has(.fhd) .my-teams-container,
#mydesigns:has(.fhd) .my-teams-container { display: none !important; }



/* ================================================================
   BUSCADOR DE MIS DISEÑOS PLEGADO EN LUPA  (namespace mdsr-)
   Recupera los 64px que ocupaba el campo: vive en la misma linea
   que el titulo y se despliega ahi mismo, sin mover el contenido
   ================================================================ */

.mdsr-row {
    display: flex !important;
    align-items: center;
    gap: 10px;
    min-height: 38px;
}

.mdsr-title { flex: 1; min-width: 0; }

.mdsr-lupa {
    flex: none;
    width: 36px;
    height: 36px;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #dcdce2;
    border-radius: 9px;
    background: #fff;
    cursor: pointer;
}
.mdsr-lupa:hover { border-color: #5b4bd6; background: #faf9ff; }

/* plegado por defecto */
.mdsr-form { display: none !important; }

/* desplegado: el campo ocupa la linea y el titulo se retira */
.mdsr-row.mdsr-open .mdsr-title,
.mdsr-row.mdsr-open .mdsr-lupa { display: none !important; }

.mdsr-row.mdsr-open .mdsr-form {
    display: flex !important;
    flex: 1;
    align-items: center;
    gap: 9px;
    width: auto !important;
    margin: 0 !important;
    border: 1px solid #5b4bd6;
    border-radius: 10px;
    padding: 8px 12px;
    box-shadow: 0 0 0 3px #eeecfd;
    background: #fff;
}
.mdsr-row.mdsr-open .mdsr-form .searchInputMyDesigns {
    flex: 1;
    min-width: 0;
    border: 0 !important;
    outline: none;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    font-family: inherit;
    font-size: 13.5px;
    color: #17171c;
}
.mdsr-row.mdsr-open .mdsr-form .buttonsearch { flex: none; }

/* la X hereda de .textImages button y de .buttonsearch: hay que fijarlo todo */
.mdsr-row .mdsr-form .mdsr-cerrar,
button.mdsr-cerrar {
    flex: 0 0 22px !important;
    order: 9;
    width: 22px !important;
    min-width: 22px !important;
    max-width: 22px !important;
    height: 22px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 50% !important;
    background: none !important;
    background-color: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
    color: #8a8a95 !important;
    font-family: inherit !important;
    font-size: 13px !important;
    line-height: 1 !important;
    text-indent: 0 !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}
.mdsr-row .mdsr-form .mdsr-cerrar:hover,
button.mdsr-cerrar:hover { background-color: #f4f4f7 !important; color: #17171c !important; }


/* ---------- separacion del titulo de diseños ----------
   Medido: 0px entre la rejilla de carpetas y el titulo. El margin-bottom
   de 25px no llega al listado porque Masonry posiciona en absoluto,
   asi que la separacion inferior va como padding
   ================================================================ */
#my_designs_folders + .title-slider,
#my_team_folders + .title-slider,
#header_cabeceras + .title-slider,
.tmfg-zona + .title-slider,
#mtp_designs_title {
    margin-top: 26px;
    padding-bottom: 14px;
}

#templates_list_mydesigns,
#templates_list_myteam { margin-top: 14px; }


/* ================================================================
   ALINEACION Y ESPACIADO DE LOS BLOQUES DEL PANEL
   Medido en los dos paneles: los bloques cuelgan de contenedores
   distintos y cada uno tenia el hueco donde el otro no lo tenia.
   Referencia: borde izquierdo en 94, igual que la rejilla
   ================================================================ */


/* el listado de Mis diseños salia 5px a la izquierda */
#templates_list_mydesigns { margin-left: 5px; }

/* titulo de carpetas -> rejilla: 20px en Mis diseños, 6px en equipo */
#header_cabeceras > .title-slider { margin-bottom: 14px !important; }
#my_designs_folders, #my_team_folders { margin-top: 0 !important; }

/* rejilla -> titulo de diseños: 0px en Mis diseños, 26px en equipo */
#mtp_designs_title { margin-top: 26px !important; margin-bottom: 0 !important; padding-bottom: 14px; }
.text-last-free > .title-slider { margin-top: 26px !important; margin-bottom: 14px !important; }

/* titulo de diseños -> listado: 25px en Mis diseños, 0px en equipo.
   Masonry posiciona en absoluto, asi que el margen del titulo no
   siempre llega: la separacion va tambien como padding del titulo */
#templates_list_myteam { margin-top: 0; }



.mtp-head {
       display: contents;
    align-items: center;
    gap: 10px;
}
.mtp-head-name { flex: 1; min-width: 0; }
#configbttTeam { margin-left: auto; flex: none; }
/* el boton de miembros, al extremo derecho de la cabecera */
#configbttTeam { margin-left: auto !important; }


/* boton (i) del tipo de cuenta, a la izquierda del de miembros */
.mtp-head-info {
    flex: none;
    width: 30px;

    margin-right: 4px;


    height: 30px;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #dcdce2;
    border-radius: 8px;
    background: #fff;
    color: #6f6f7a;
    cursor: pointer;
}
.mtp-head-info:hover { border-color: #5b4bd6; color: #5b4bd6; background: #faf9ff; }    

/* ---------- destino de la subida: privado / equipo ---------- */
.updst-row {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0 0 14px;
}
.updst-lbl {
    flex: 1;
    min-width: 0;
    font-size: 14px;
    font-weight: 800;
    color: #17171c;
}

.updst {
    display: flex;
    flex: none;
    gap: 2px;
    padding: 3px;
    background: #e6e6ec;
    border-radius: 9px;
}
.updst-op {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 7px 12px;
    border: 0;
    border-radius: 7px;
    background: transparent;
    font-family: inherit;
    font-size: 12.5px;
    font-weight: 700;
    color: #8a8a95;
    cursor: pointer;
    white-space: nowrap;
}
.updst-op:hover { color: #3d3d47; }
.updst-op.updst-on {
    background: #fff;
    color: #17171c;
    box-shadow: 0 1px 3px rgba(20, 20, 30, .14);
}

/* el CSS antiguo de .drop-area svg deja los iconos en 0x0 */
.updst-op svg {
    flex: none !important;
    width: 12px !important;
    height: 12px !important;
    min-width: 12px !important;
    min-height: 12px !important;
    max-width: none !important;
    max-height: none !important;
    display: block !important;
    fill: none;
}

/* el bloque gris no lleva borde: el gris es solo fondo */
#containerDropPhotos .drop-area { border: 0 !important; }

/* la zona de arrastre, blanca sobre el gris. El CSS antiguo de .dropForm
   impone display:block y padding:0, asi que hay que forzarlo */
#containerDropPhotos .dropForm {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 9px !important;
    background: #fff !important;
    border: 1.5px dashed #d6d6e0 !important;
    border-radius: 12px !important;
    padding: 16px 14px !important;
    margin: 0 !important;
    box-sizing: border-box;
}
#containerDropPhotos .drop-area.highlight .dropForm { border-color: #5b4bd6 !important; background: #faf9ff !important; }



#containerDropPhotos .dropForm p {
    margin: 0 !important;
    font-size: 13px !important;
    color: #3d3d47 !important;
    text-align: center !important;
    line-height: 1.45;
}
#containerDropPhotos .dropForm .buttomDrop {
    align-self: stretch !important;
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    justify-content: center;
    align-items: center;
    min-height: 0 !important;
    height: auto !important;
    height: var(--eb-h-md) !important;
    padding: 0 20px !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: var(--eb-radio) !important;
    background: var(--eb-indigo) !important;
    font-size: 15px !important;
    font-weight: var(--eb-peso) !important;
    color: #fff !important;
    line-height: 1 !important;
    transition: background .15s ease;
}
#containerDropPhotos .dropForm .buttomDrop:hover { background: var(--eb-indigo-hover) !important; }
#containerDropPhotos .dropForm .buttomDrop:active { background: var(--eb-indigo-press) !important; }
#containerDropPhotos .dropForm .buttomDrop:focus-visible { outline: none; box-shadow: var(--eb-focus); }

/* el aviso hereda centrado, 14px y negro del CSS de .drop-area p */
#containerDropPhotos .updst-hint,
#containerDropPhotos p.updst-hint,
.updst-hint {
    display: block !important;
    margin: 10px 2px 0 !important;
    font-size: 12px !important;
    color: #6f6f7a !important;
    line-height: 1.45 !important;
    text-align: left !important;
}


#subCategories.resultContent .containerDrop .drop-area p {
    
    color: #000000 !important;
}


.updst-hint {
    margin: 10px 0 0;
    font-size: 11.5px;
    color: #6f6f7a;
    line-height: 1.4;
    text-align: center;
}



/* ================================================================
   CABECERA DEL PANEL DE INICIO  (namespace hdrnav-)
   Cuatro enlaces fijos con la opcion activa subrayada, y a la derecha
   el estado del equipo: crear, o selector con avatares y menu.
   Clases propias: no reutilizamos .wide .row-inline .box, cuyo CSS
   antiguo maquetaba cada enlace como bloque suelto y descuadraba.
   ================================================================ */

.hdrnav {
    display: flex;
    align-items: center;
    gap: 14px;
    width: 100%;
    box-sizing: border-box;
}

/* ---------- los cuatro enlaces ---------- */
.hdrnav-links { display: flex; align-items: center; gap: 26px; flex: none; }

.hdrnav-link {
    position: relative;
    display: inline-block;
    padding: 3px 0;
    font-size: 14.5px;
    font-weight: 600;
    color: #2b3990;
    text-decoration: none;
    white-space: nowrap;
    border: 0;
    background: none;
}
.hdrnav-link:hover { color: #1c2668; text-decoration: none; }

/* la activa: subrayado propio, no text-decoration, para controlar el grosor */
.hdrnav-link.hdrnav-on { font-weight: 700; }
.hdrnav-link.hdrnav-on::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 2px;
    background: #2b3990;
    border-radius: 2px;
}

.hdrnav-sep { flex: 1; min-width: 8px; }

/* ---------- sin equipo: crear ---------- */
.hdrnav-crear {
    flex: none;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 15px;
    border: 1px dashed rgba(43, 57, 144, .34);
    border-radius: 999px;
    background: rgba(255, 255, 255, .86);
    font-family: inherit;
    font-size: 13px;
    font-weight: 700;
    color: #1c2668;
    cursor: pointer;
    white-space: nowrap;
}
.hdrnav-crear:hover { background: #fff; border-color: #2b3990; }
.hdrnav-crear-mas { font-size: 14px; color: #2b3990; line-height: 1; }

/* ---------- con equipo: selector ---------- */
.hdrnav-team { position: relative; flex: none; }

.hdrnav-team-btn {
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 5px 12px 5px 6px;
    border: 1px solid rgba(43, 57, 144, .14);
    border-radius: 999px;
    background: rgba(255, 255, 255, .86);
    font-family: inherit;
    cursor: pointer;
}
.hdrnav-team-btn:hover { background: #fff; }

.hdrnav-avatares { display: flex; flex: none; }
.hdrnav-av {
    width: 26px;
    height: 26px;
    border-radius: 50%;
    border: 2px solid #fff;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 10.5px;
    font-weight: 800;
    color: #fff;
    line-height: 1;
}
.hdrnav-av + .hdrnav-av { margin-left: -9px; }
.hdrnav-av-mas { background: #e9e9ef; color: #55555f; font-size: 10px; }

.hdrnav-team-name {
    font-size: 13px;
    font-weight: 700;
    color: #1c2668;
    white-space: nowrap;
    max-width: 160px;
    overflow: hidden;
    text-overflow: ellipsis;
}

.hdrnav-pro {
    flex: none;
    padding: 3px 7px;
    border-radius: 999px;
    background: #17879b;
    font-size: 9.5px;
    font-weight: 800;
    letter-spacing: .06em;
    color: #fff;
}

.hdrnav-caret {
    flex: none;
    width: 0;
    height: 0;
    border-left: 4px solid transparent;
    border-right: 4px solid transparent;
    border-top: 5px solid #7a7a86;
}

/* ---------- menu desplegable ---------- */
.hdrnav-menu {
    display: none;
    position: absolute;
    top: 44px;
    right: 0;
    z-index: 60;
    width: 302px;
    padding: 7px;
    background: #fff;
    border: 1px solid #e6e6ec;
    border-radius: 13px;
    box-shadow: 0 16px 40px rgba(20, 20, 30, .18);
    flex-direction: column;
    gap: 2px;
}
.hdrnav-team.hdrnav-abierto .hdrnav-menu { display: flex; }

.hdrnav-item {
    display: flex;
    align-items: center;
    gap: 11px;
    padding: 9px 10px;
    border-radius: 9px;
    cursor: pointer;
}
.hdrnav-item:hover { background: #f6f7fd; }

.hdrnav-ico {
    flex: none;
    width: 26px;
    height: 26px;
    border-radius: 7px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.hdrnav-ico-azul { background: #eef1fb; color: #2b3990; }
.hdrnav-ico-lila { background: #f2eefb; color: #5b2ab5; }
.hdrnav-ico svg { display: block; }

.hdrnav-item-txt {
    flex: 1;
    min-width: 0;
    font-size: 13.5px;
    font-weight: 600;
    color: #17171c;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.hdrnav-hint {
    flex: none;
    padding: 3px 8px;
    border-radius: 999px;
    background: #e8f4f6;
    font-size: 11px;
    font-weight: 700;
    color: #17879b;
    white-space: nowrap;
}

.hdrnav-sepline { height: 1px; margin: 5px 9px; background: #ececf1; }

@media (max-width: 900px) {
    .hdrnav { flex-wrap: wrap; gap: 10px; }
    .hdrnav-links { gap: 16px; }
    .hdrnav-link { font-size: 13px; }
    .hdrnav-sep { display: none; }
    .hdrnav-menu { right: auto; left: 0; width: min(302px, calc(100vw - 40px)); }
}

/* 8/21/2026 ajuste para ver en folders de diseños y teams */

#mydesigns #header_cabeceras + .title-slider{padding-bottom: 0}

#mydesigns:has(#my_designs_folders.show_only_folders_full) .title-slider{margin-top:0;}
#mydesigns:has(#my_designs_folders.show_only_folders_full) .my-teams-container{margin-bottom:10px;}


#teams:has(#teams_folders.tmfg-fijo) #header_cabeceras .title-slider{margin-top:0;}
/* esta regla anulaba el sticky justo en "Ver todas", que es donde se quiere.
   Los margenes negativos si son utiles, asi que se conservan */
#teams:has(#my_team_folders.mtp-all) .tmfg-fijo,
#mydesigns:has(#my_designs_folders.show_only_folders_full) .tmfg-fijo {
    margin: 0 -20px;
    /* padding horizontal de 20px a cada lado, igual que el margin negativo:
       el contenedor sigue sangrando hacia el borde (se mantiene el efecto
       "util" del comentario de arriba), pero el CONTENIDO (la rejilla y
       las tarjetas) vuelve a medir el mismo ancho de antes. Sin esto la
       rejilla heredaba los 40px extra del padre y las tarjetas de
       "Ver todas" salian mas grandes que las de la vista normal
       (confirmado midiendo: grid 379px -> 419px, tarjeta 119.7px -> 130.1px). */
    padding: 1px 20px 10px;
}

#mydesigns:has(#my_designs_folders.show_only_folders_full) .tmfg-fijo {
    padding-top: 10px;
}

/* Regla eliminada: anadia padding:0 20px a .title-slider en modo
   organizar, y eso desplazaba .flex-title 20px a la derecha y lo
   encogia 40px (confirmado midiendo antes/despues: left 94->114,
   width 379->339). La referencia de la linea 4025 dice que 94 es la
   posicion correcta; este padding la rompia solo en modo organizar,
   sin motivo ligado al contenido. */

/* Regla eliminada: anadia padding:0 20px 10px directamente a la rejilla
   en modo organizar. Con 3 columnas, esos 40px horizontales se
   repartian entre las tres (119.66px -> 106.33px cada una) y las
   tarjetas se desplazaban - confirmado midiendo antes/despues:
   left 94->114, gridTemplateColumns 119.662px*3 -> 106.33px*3,
   height 160->170. Mismo motivo que el padding de .title-slider de
   mas arriba: se quita para que nada se mueva al activar el modo. */

#mydesigns:not(:has(.show_only_folders_full)) .my-teams-container .upper-top{display:flex !important;}
#mydesigns:not(:has(.show_only_folders_full)) .my-teams-container .upper-top.mdsr-open #formSearcImagenes2{display:flex !important;}
#teams #my_team_folders.mtp-all > :nth-child(3n of .tmfg-card) .more-buttons, #my_designs_folders.show_only_folders_full > :nth-child(3n of .tmfg-card) .more-buttons {
    /* estilos solo para la 3.ª columna */
    left: 104% !important;
}


#teams #my_team_folders.mtp-all > :nth-child(3n + 1 of .tmfg-card) .tmf-bolita[data-title]:after, #my_designs_folders.show_only_folders_full > :nth-child(3n + 1 of .tmfg-card) .tmf-bolita[data-title]:after{
    transform: none;
    left: 0;
}


/* el boton de subir tipografias se veia como un enlace: mismo aspecto que
   el de subir imagenes (.buttomDrop) para que la accion se reconozca igual */
#file_upload_buttonteam,
.mtp-upfont {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box;
    min-height: 0 !important;
    height: auto !important;
    height: var(--eb-h-md) !important;
    padding: 0 20px !important;
    margin: 0 0 14px !important;
    border: 0 !important;
    border-radius: var(--eb-radio) !important;
    background: var(--eb-indigo) !important;
    font-family: inherit;
    font-size: 15px !important;
    font-weight: var(--eb-peso) !important;
    color: #fff !important;
    text-transform: none !important;
    text-decoration: none !important;
    line-height: 1 !important;
    cursor: pointer;
    transition: background .15s ease;
}
.mtp-upfont:hover { background: var(--eb-indigo-hover) !important; text-decoration: none !important; }
.mtp-upfont:active { background: var(--eb-indigo-press) !important; }
.mtp-upfont:focus-visible { outline: none; box-shadow: var(--eb-focus); }


body .typoBlock .uploadBlock #myform .button-group-drag label .p-star-window p {
    color: #ffffff !important;
}    

/* en "Todos" el area de tipografias es solo resumen: subir se hace en su
   propia pestaña, asi que el bloque de carga sobra */
body.mtp-todo #mtp_fonts_area .uploadBlock,
body.mtp-todo #mtp_fonts_area .btnsTitle { display: none !important; }

/* sin tipografias compartidas no pintamos la seccion: en "Todos" quedaba un
   titulo suelto con una caja vacia debajo */
/* sin tipografias compartidas no pintamos la seccion. La clase viene puesta
   desde PHP y el JS solo la retira si hay contenido: asi no se ve aparecer
   y desaparecer al entrar */
#mtp_fonts_area.mtp-vacio { display: none !important; }


/* la carpeta de borrados es de sistema: se distingue del resto y va la ultima */
.tmfg-card-sys { order: 998; }
.tmfg-card-sys .tmfg-inner { border-style: dashed; background: #fafafc; }
.tmfg-card-sys .tmfg-cover { background: #f4f4f7; }



/* durante la recarga del listado ocultamos el contenido en vez de dejar ver
   la vista general de fotos, que aparecia unos segundos antes de la definitiva */
body.ccr-cargando #photos #listado_recursos,
body.ccr-cargando #photos #header_cabeceras,
body.ccr-cargando #photos #pixabayok,
body.ccr-cargando #photos #contenido,
body.ccr-cargando #photos #brandkitlogo,
body.ccr-cargando #photos #latest_images_title,
body.ccr-cargando #photos #listado_recursos2 { visibility: hidden; }

/* el formulario muestra un destino que va a cambiar y el buscador no se puede
   usar todavia: los tapamos con el mismo esqueleto que usa el resto del sitio,
   para que se entienda que el sistema esta trabajando */
body.ccr-cargando #photos #containerDropPhotos,
body.ccr-cargando #photos #formSearcImagenes2 {
    position: relative;
    pointer-events: none;
}
body.ccr-cargando #photos #containerDropPhotos > *,
body.ccr-cargando #photos #formSearcImagenes2 > * { visibility: hidden; }

body.ccr-cargando #photos #containerDropPhotos::before,
body.ccr-cargando #photos #formSearcImagenes2::before {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 12px;
    animation: skeletonparrilla 1.5s ease-in-out infinite;
    background-color: #efefef;
    background-image: linear-gradient(90deg, #efefef, #fff, #efefef);
    background-repeat: no-repeat;
    background-size: 200px 100%;
    z-index: 2;
}


/* sin equipo, "Mi equipo" es una invitacion, no una opcion seleccionable */
body.sin-equipo .updst-op[data-team="1"] { opacity: .75; }
body.sin-equipo .updst-op[data-team="1"]:hover { opacity: 1; color: #5b4bd6; }



.share-panel-teamname .panel-subhint {
    font-size: 14px;
    color: #000000;
}


.field-error {
        font-size: 14px;
}       



/* dentro de una carpeta se lista su contenido, no el resumen del equipo:
   las tipografias compartidas no pintan nada ahi */
#mtp_fonts_area.mtp-en-carpeta { display: none !important; }


.tmp-shared {
    margin-top: 12px;
}

.tmp-shared-desc {
    font-size: 13px;
    line-height: 1.5;
    color: #6b7280;
    margin-top: 9px;
}

.tmp-shared--full .tmp-seats-count,
.tmp-shared--full .tmp-seats-left {
    color: #c02020;
    font-weight: 700;
}

.tmp-shared--full .tmp-seats-fill {
    background: #c02020;
}



/* ── .home-mails dentro del desplegable de brand kits ─────────── */

.item-brand-kit .home-mails {
    display: flex !important;
    flex-direction: row !important;
    align-items: center;
    flex: 0 0 auto;
    margin-left: auto;
    padding: 0;
}

.item-brand-kit .home-mails > div {
    width: 22px !important;
    height: 22px !important;
    min-width: 22px;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    font-size: 10.5px;
    font-weight: 600;
    border: 2px solid #f2f3f5;
    box-sizing: border-box;
    margin-left: -4px;
    flex: 0 0 auto;
    padding: 0 !important;
    line-height: 1;
}

.item-brand-kit .home-mails > div:first-child {
    margin-left: 0;
}

.item-brand-kit .home-mails > div.number {
    background: #ECEEF0 !important;
    color: #6b7280 !important;
}

.item-brand-kit .home-mails .ini {
    line-height: 1;
    display: block;
}

.item-brand-kit.active .home-mails > div {
    border-color: #efeefb;
}




/* El label colapsaba a 0x0: es inline-flex y su contenido son dos <span>
   anidados con un <p> dentro, que el CSS legacy deja sin dimensiones. Sin
   contenido que lo dimensione, un inline-flex no ocupa nada aunque este
   visible. Forzamos la caja en el label y damos display a lo de dentro. */
#file_upload_buttonuser.mtp-upfont,
.mtp-upfont {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    width: 100% !important;
    height: var(--eb-h-md, 44px) !important;
    min-height: var(--eb-h-md, 44px) !important;
    padding: 0 20px !important;
    visibility: visible !important;
    opacity: 1 !important;
}
/* .text-icon-toolt es la clase del sistema de tooltips y lleva dimensiones a
   cero: con el texto dentro de dos spans anidados con esa clase, el contenido
   del boton colapsaba y no se veia nada aunque el label midiera 44px de alto. */
.mtp-upfont span,
.mtp-upfont .text-icon-toolt,
.mtp-upfont .p-star-window {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    height: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
    position: static !important;
    font-size: 15px !important;
    line-height: 1 !important;
    visibility: visible !important;
    opacity: 1 !important;
    text-indent: 0 !important;
    clip: auto !important;
    clip-path: none !important;
}
.mtp-upfont p {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 15px !important;
    line-height: 1 !important;
    color: #fff !important;
    white-space: nowrap;
}



/* Dentro de una carpeta, su propia tarjeta sobra: la cabecera de abajo ya
   muestra el nombre, el contador y el boton Return. El ocultado estaba previsto
   en include_my_team.php via $display_dentro_carpeta, pero esa variable depende
   de $_GET["folder_click_team"] y la navegacion a la carpeta se hace por AJAX,
   asi que el parametro nunca llega a PHP. Nos apoyamos en .active-folder, que
   el JS si pone al abrirla. */
#my_team_folders.tmfg:has(.tmfg-card.active-folder) { display: none !important; }


/* Distintivo de carpeta de equipo en el popup de mover: sin el, el usuario no
   sabe si al mover el diseño lo esta compartiendo con todo el equipo. */
.addingFolder button { position: relative; }
.fold-badge {
    margin-left: auto;
    padding: 3px 9px;
    border-radius: 999px;
    background: var(--eb-indigo-soft, #F0EFFA);
    font-size: 11.5px;
    font-weight: 600;
    line-height: 1.4;
    color: var(--eb-indigo, #3533AD);
    white-space: nowrap;
}
.addingFolder button.fold-team { display: flex; align-items: center; gap: 8px; }

.fold-aviso-equipo {
    margin-top: -4px;
    font-size: 12.5px;
    line-height: 1.45;
    color: var(--eb-indigo, #3533AD);
}


/* Barra de almacenamiento de My account. La estructura reutiliza el mismo
   componente que TEAM SEATS y SHARED ITEMS. */
.tstorage-seccion {
    margin-top: 18px;
}

.tstorage-bar-fill {
    background: linear-gradient(270deg, #656893 0%, #00A4A6 100%);
}

.tstorage-meter--warning .tstorage-bar-fill {
    background: linear-gradient(270deg, #CF0873 0%, #00A4A6 100%);
}

.tstorage-meter .tteam-meter-left {
    white-space: nowrap;
}



/* ============================================================
   PANEL DE MIEMBROS — RESPONSIVE (21a)
   ------------------------------------------------------------
   Hoja completa y fila en dos lineas: email y estado en la
   primera, rol y acciones en la segunda. Ambos controles a 44px
   para que sean pulsables con el pulgar, y el selector de rol
   ocupa el ancho sobrante para que "Administrador" quepa entero.
   ============================================================ */

@media (max-width: 740px) {

    /* --- hoja completa, anclada abajo --- */
    .tmp-modal-overlay { align-items: flex-end !important; }

    .tmp-modal-overlay .tmp-modal {
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        max-height: 94dvh !important;
        margin: 0 !important;
        border-radius: 16px 16px 0 0 !important;
        display: flex;
        flex-direction: column;
    }

    /* la columna derecha de promos no cabe en movil */
    .tmp-modal-overlay .tmp-right { display: none !important; }

    .tmp-modal-overlay .tmp-shell {
        flex-direction: column;
        max-height: none !important;
        overflow: hidden !important;
    }
    .tmp-modal-overlay .tmp-left {
        width: 100% !important;
        max-width: 100% !important;
        padding: 20px 16px 16px !important;
        overflow: hidden !important;
    }

    .tmp-title      { font-size: 26px !important; }
    .tmp-team-name  { font-size: 14px !important; }

    /* --- fila de invitar: en dos lineas --- */
    .tmp-invite-row {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto;
        grid-template-areas:
            "email email"
            "rol   invitar";
        gap: 8px;
    }
    .tmp-invite-input  { grid-area: email; width: 100% !important; }
    .tmp-invite-row .tmp-role-select,
    .tmp-invite-row select { grid-area: rol; width: 100% !important; }
    #team_invite_btn   { grid-area: invitar; }

    /* --- lista --- */
    .tmp-list { max-height: 52dvh; padding-right: 4px; margin-right: -4px; }

    /* --- LA FILA, en dos lineas --- */
    /* Los hijos DIRECTOS de .tmp-row son .tmp-row-label y .tmp-row-right: el
       avatar y .tmp-row-info van dentro del primero. Las grid-area solo aplican
       a hijos directos, asi que asignarlas al avatar y al info no hacia nada y
       la primera linea quedaba vacia. */
    .tmp-row {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr);
        grid-template-areas:
            "etiqueta"
            "accion";
        gap: 10px;
        padding: 14px 0 !important;
        align-items: center;
    }

    .tmp-row-label {
        grid-area: etiqueta;
        display: flex !important;
        align-items: center;
        gap: 10px;
        min-width: 0;
        width: 100%;
    }

    .tmp-avatar   { flex: none; width: 40px !important; height: 40px !important; margin: 0 !important; }
    .tmp-row-info { flex: 1 1 auto; min-width: 0; }

    .tmp-row-info p {
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        font-size: 14px !important;
    }
    .tmp-row-info span { font-size: 12.5px !important; }

    /* segunda linea: el rol ocupa lo que sobra, los puntos son fijos */
    .tmp-row-right {
        grid-area: accion;
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) 44px;
        gap: 8px;
        width: 100%;
        padding-right: 0 !important;
    }

    .tmp-row-right .tmp-role-select { width: 100%; }

    .tmp-row-right .tmp-role-btn {
        width: 100% !important;
        min-width: 0 !important;
        height: 44px !important;
        justify-content: space-between;
        font-size: 14px !important;
    }

    .tmp-dots-btn {
        width: 44px !important;
        min-width: 44px !important;
        height: 44px !important;
        justify-self: end;
    }

    /* el badge del admin ocupa la primera columna, igual que el selector */
    .tmp-role-fixed {
        height: 44px !important;
        width: 100% !important;
        justify-content: center;
        grid-column: 1 / -1;
        font-size: 13.5px !important;
    }

    /* --- menus: a ancho de fila, no flotando estrechos --- */
    .tmp-row-right .tmp-role-options {
        min-width: 0 !important;
        max-width: calc(100vw - 44px) !important;
        width: calc(100vw - 44px) !important;
    }
    .tmp-role-opt { padding: 13px 14px !important; }

    /* --- bandas inferiores --- */
    .tmp-seats   { padding: 14px !important; }
    .tmp-account {
        flex-direction: column;
        align-items: stretch;
        gap: 12px;
        padding: 14px !important;
    }
    .tmp-account-btn { width: 100%; height: 44px !important; }


    /* El badge no debe parecer un control: se deja a su ancho natural y
       alineado a la izquierda, bajo el email, en vez de ocupar la fila entera */
    .tmp-role-fixed {
        width: auto !important;
        justify-self: start;
        grid-column: 1 / 2;
        padding: 0 16px !important;
    }

    /* los puntos, alineados con el borde derecho del selector */
    .tmp-row-right { align-items: center; }
    .tmp-dots-btn  { justify-self: center; }
    /* Los emails se cortaban con la mitad de la fila vacia: el <p> no estaba
       creciendo hasta el ancho disponible. */
    .tmp-row-label { width: 100%; }
    .tmp-row-info  { flex: 1 1 auto; width: auto !important; max-width: none !important; }
    .tmp-row-info p {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0;
    }

    /* .tmp-row-label medía 162px con 400 disponibles: como item de grid se
       dimensionaba al contenido en vez de a la columna, y el email se partía
       en tres líneas dentro de una caja estrecha. */
    .tmp-row       { width: 100%; max-width: 100%; }
    .tmp-row-label { justify-self: stretch; width: 100% !important; max-width: 100% !important; }
    .tmp-row-right { justify-self: stretch; }

}

@media (max-width: 420px) {
    .tmp-title  { font-size: 22px !important; }
    .tmp-left   { padding: 16px 12px 12px !important; }
    .tmp-role-fixed {
        width: auto !important;
        justify-self: start;
        padding: 0 16px !important;
    }

    /* con la pantalla mas estrecha, invitar pasa a tres lineas */
    .tmp-invite-row {
        grid-template-columns: minmax(0, 1fr);
        grid-template-areas: "email" "rol" "invitar";
    }
    #team_invite_btn { width: 100%; }

    /* Con la fila en dos lineas hay sitio de sobra en vertical: preferimos dos
       lineas de email completo a un recorte con puntos suspensivos, que obliga
       al usuario a adivinar de quien es la cuenta. */
    /* con .tmp-row-label ya a ancho completo, el email cabe en una linea:
       preferimos el recorte con puntos suspensivos a tres lineas apiladas */
    .tmp-row-info p {
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }

}


#edit-foggy-overlay { pointer-events: none; }
#edit-foggy-overlay.is-on { pointer-events: auto; }



/* Contador de paginas: abajo a la izquierda, con el mismo fondo que el resto de
   indicadores sobre la miniatura (.brand_template va arriba a la derecha). */
.content-sub-cats .fieldTemplates .container_template { position: relative; }

.content-sub-cats .fieldTemplates .pages-cant {
	position: absolute;
	left: 8px;
	bottom: 8px;
	top: auto;
	right: auto;
	z-index: 3;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(0, 0, 0, 0.6) !important;
	font-size: 11.5px;
	font-weight: 600;
	line-height: 1;
	color: #fff;
	pointer-events: none;
}

/* sin paginas no se pinta nada: el div existe siempre pero vacio */
.content-sub-cats .fieldTemplates .pages-cant:empty { display: none; }



/* ============================================================
   PANEL DE MIEMBROS EN MOVIL — hoja a pantalla completa
   ------------------------------------------------------------
   Version CSS del mockup "Manage Team Movil": la hoja ocupa la
   pantalla, la fila pasa a dos lineas y las bandas inferiores se
   compactan. El buscador de miembros y las hojas inferiores de
   accion son marcado nuevo y quedan para una segunda fase.
   ============================================================ */
@media (max-width: 740px) {

    .tmp-modal-overlay { align-items: stretch !important; }

    .tmp-modal-overlay .tmp-modal {
        width: 100% !important;
        max-width: 100% !important;
        height: 100dvh !important;
        max-height: 100dvh !important;
        margin: 0 !important;
        border-radius: 0 !important;
        display: flex;
        flex-direction: column;
        overflow: hidden !important;
    }

    /* la columna de promos no cabe: en movil manda la lista */
    .tmp-modal-overlay .tmp-right { display: none !important; }

    .tmp-modal-overlay .tmp-shell { flex-direction: column; max-height: none !important; overflow: hidden !important; }
    .tmp-modal-overlay .tmp-left  {
        width: 100% !important; max-width: 100% !important;
        display: flex; flex-direction: column;
        padding: 18px 16px 0 !important;
        overflow: hidden !important;
    }

    .tmp-title     { font-size: 22px !important; }
    .tmp-team-name { font-size: 13.5px !important; }

    /* invitar: el boton a ancho completo debajo del email */
    .tmp-invite-row {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto;
        grid-template-areas: "email email" "rol invitar";
        gap: 8px;
        flex: 0 0 auto;
    }
    .tmp-invite-input { grid-area: email; width: 100% !important; }
    .tmp-invite-row .tmp-role-select,
    .tmp-invite-row select { grid-area: rol; width: 100% !important; }
    #team_invite_btn { grid-area: invitar; }

    /* la lista es la protagonista: ocupa todo el alto disponible */
    .tmp-list {
        flex: 1 1 auto !important;
        min-height: 0 !important;
        max-height: none !important;
        overflow-y: auto;
        overflow-x: hidden;
        margin-top: 12px;
        padding-right: 4px;
        scrollbar-gutter: stable;
    }

    /* fila en dos lineas */
    .tmp-row {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        grid-template-rows: auto auto !important;
        gap: 10px;
        padding: 14px 0 !important;
        width: 100%;
        max-width: 100%;
    }
    .tmp-row-label {
        grid-column: 1 / -1; grid-row: 1 / 2;
        justify-self: stretch;
        display: flex !important; align-items: center; gap: 10px;
        width: 100% !important; min-width: 0;
    }
    .tmp-avatar   { flex: none; width: 40px !important; height: 40px !important; margin: 0 !important; }
    .tmp-row-info { flex: 1 1 auto; min-width: 0; }
    .tmp-row-info p    { font-size: 14px !important; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .tmp-row-info span { font-size: 12.5px !important; }

    .tmp-row-right {
        grid-column: 1 / -1; grid-row: 2 / 3;
        justify-self: stretch;
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) 44px;
        gap: 8px; width: 100%;
        padding-right: 0 !important;
    }
    .tmp-row-right .tmp-role-btn {
        width: 100% !important; min-width: 0 !important;
        height: 44px !important; justify-content: space-between; font-size: 14px !important;
    }
    .tmp-dots-btn { width: 44px !important; min-width: 44px !important; height: 44px !important; justify-self: center; }
    .tmp-role-fixed { height: 44px !important; justify-self: start; padding: 0 16px !important; }

    /* menus a ancho de pantalla */
    .tmp-row-right .tmp-role-options {
        min-width: 0 !important;
        width: calc(100vw - 32px) !important;
        max-width: calc(100vw - 32px) !important;
    }
    .tmp-role-opt { padding: 13px 14px !important; }

    /* bandas inferiores: fijas abajo y en una linea, como pide el mockup */
    .tmp-seats, .tmp-account { flex: 0 0 auto; margin: 0 -16px !important; border-radius: 0 !important; }
    .tmp-seats {
        display: flex; align-items: center; justify-content: space-between; gap: 12px;
        padding: 10px 16px !important;
        border-top: 1px solid #ececef;
    }
    .tmp-seats-bar { display: none; }
    .tmp-account {
        display: flex; align-items: center; justify-content: space-between; gap: 12px;
        padding: 10px 16px !important;
    }
    /* en la barra fija de una linea el boton ya dice a donde lleva: el titulo
       y la descripcion sobran y roban altura */
    .tmp-account-desc  { display: none; }
    .tmp-account-title { display: none; }
    .tmp-account-txt   { display: none; }
    .tmp-account-btn   { flex: 1 1 auto; height: 40px !important; }


    /* El overlay y el modal a pantalla completa: en la version anterior alguna
       regla base con mas peso dejaba margenes por los cuatro lados. */
    body .tmp-modal-overlay {
        align-items: stretch !important;
        justify-content: stretch !important;
        padding: 0 !important;
    }

    body .tmp-modal-overlay .tmp-modal {
        width: 100vw !important;
        max-width: 100vw !important;
        min-width: 0 !important;
        height: 100dvh !important;
        max-height: 100dvh !important;
        min-height: 100dvh !important;
        margin: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
    }

    body .tmp-modal-overlay .tmp-shell,
    body .tmp-modal-overlay .tmp-left {
        height: 100% !important;
        max-height: 100% !important;
    }

    /* el hueco bajo "Manage my account": el padding inferior del panel sobra
       cuando las bandas ya van pegadas al borde */
    body .tmp-modal-overlay .tmp-left { padding-bottom: 0 !important; }
    .tmp-account { margin-bottom: 0 !important; padding: 8px 16px !important; }
    .tmp-account-btn { height: 38px !important; }


 .tmp-role-fixed
{

    display:none;
}


}

@media (max-width: 420px) {
    .tmp-title  { font-size: 20px !important; }
    .tmp-left   { padding: 14px 12px 0 !important; }
    .tmp-avatar { width: 36px !important; height: 36px !important; }
    .tmp-invite-row {
        grid-template-columns: minmax(0, 1fr);
        grid-template-areas: "email" "rol" "invitar";
    }
    #team_invite_btn { width: 100%; }
}



/* Renombrar equipo: el icono solo se tiñe al pasar el raton, para que no
   compita con el nombre en reposo. */
.tmp-team-name {
	display: flex;
	align-items: center;
	gap: 8px;
}
/* El lapiz se ve SIEMPRE, como en el mockup: lo que aparece al pasar el raton
   es el fondo, no el icono. Un boton que solo existe en hover es invisible para
   quien no sabe que esta ahi. */
.tmp-rename-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: none;
	width: 26px;
	height: 26px;
	padding: 0;
	border: 0;
	border-radius: 6px;
	background: transparent;
	color: #9aa1ad;
	cursor: pointer;
	transition: background .15s ease, color .15s ease;
}
.tmp-rename-btn:hover {
	background: var(--eb-indigo-soft, #F0EFFA);
	color: var(--eb-indigo, #3533AD);
}
.tmp-rename-btn:focus-visible {
	outline: none;
	box-shadow: var(--eb-focus, 0 0 0 2px #fff, 0 0 0 4px #A9A7E6);
}

/* en tactil no hay hover: el icono se ve siempre */
@media (pointer: coarse) {
	.tmp-rename-btn { opacity: 1; }
}



/* ============================================================
   AJUSTE FINAL DE MIS DISEÑOS Y MI EQUIPO
   Solo presentacion: insignias, seleccion y tarjetas de carpeta.
   ============================================================ */

/* --- 1. INSIGNIAS SOBRE EL DISEÑO -------------------------
   Los circulos negros pasan a pastillas blancas: se leen sobre
   cualquier miniatura, que es lo que fallaba antes. */
.fieldTemplates .container_template { position: relative; }

.fieldTemplates .team-floater {
	position: absolute;
	top: 8px;
	right: 8px;
	z-index: 3;
	display: inline-flex;
	align-items: center;
	gap: 5px;
	height: 24px;
	padding: 0 9px;
	border-radius: 999px;
	background: #fff;
	box-shadow: 0 1px 4px rgba(26,26,46,.18);
	font-size: 11.5px;
	font-weight: 600;
	line-height: 1;
	color: var(--eb-indigo, #3533AD);
	white-space: nowrap;
}
.fieldTemplates .team-floater.displaynone { display: none !important; }

/* privado: candado gris, sin texto */
.fieldTemplates .team-floater--priv {
	color: #6f7189;
	padding: 0 7px;
}

/* --- 2. CONTADOR DE PAGINAS -------------------------------
   Pastilla blanca abajo a la izquierda. El sufijo va por
   pseudoelemento: no toca PHP, pero OJO, no se traduce. */
.fieldTemplates .pages-cant {
	position: absolute;
	left: 8px;
	bottom: 8px;
	z-index: 3;
	display: inline-flex;
	align-items: center;
	height: 24px;
	padding: 0 9px;
	border-radius: 999px;
	background: #fff;
	box-shadow: 0 1px 4px rgba(26,26,46,.18);
	font-size: 11.5px;
	font-weight: 600;
	line-height: 1;
	color: #1a1c1f;
	white-space: nowrap;
}
.fieldTemplates .pages-cant:empty { display: none; }
.fieldTemplates .pages-cant::after { content: " págs"; font-weight: 500; margin-left: 3px; }

/* --- 3. DISEÑO SELECCIONADO -------------------------------
   El borde naranja era el ultimo color fuera de paleta.
   Anillo indigo de 2px con halo claro. */
.fieldTemplates.is-selected .container_template,
.fieldTemplates.active .container_template,
.fieldTemplates .container_template.selected {
	outline: none !important;
	border-color: transparent !important;
	box-shadow: 0 0 0 2px var(--eb-indigo, #3533AD),
	            0 0 0 6px var(--eb-indigo-soft, #F0EFFA) !important;
	border-radius: 8px;
}

/* --- 4. TARJETAS DE CARPETA EN HORIZONTAL -----------------
   La tarjeta actual gasta 200px de alto en un icono de carpeta.
   Icono de 54px a la izquierda, texto a la derecha. */
.tmfg .tmfg-card { height: auto; }

.tmfg .tmfg-inner {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 12px 14px;
	min-height: 0;
}

.tmfg .tmfg-cover {
	flex: none;
	width: 54px;
	height: 54px;
	min-height: 0;
	border-radius: 8px;
	overflow: hidden;
}
.tmfg .tmf-thumb { width: 54px; height: 54px; }
.tmfg .tmf-thumb svg { width: 24px; height: 24px; }

.tmfg .tmfg-meta {
	flex: 1 1 auto;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 3px;
	padding: 0;
}
.tmfg .tmfg-txt p {
	margin: 0;
	font-size: 14px;
	font-weight: 600;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.tmfg .tmfg-txt small { font-size: 12.5px; color: #6f7189; }

/* "0 designs" pasa a "Vacía": el texto lo pone PHP, aqui solo
   se prepara el hueco para el chip de acceso */
.tmfg .tmfg-access { margin-top: 2px; }


/* --- La insignia real es .brand_template, no .team-floater ---
   Circulo oscuro -> pastilla blanca con texto, legible sobre
   cualquier miniatura. */
.fieldTemplates .brand_template {
	position: absolute;
	top: 8px;
	right: 8px;
	z-index: 3;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	gap: 5px;
	width: auto !important;
	height: 24px !important;
	min-width: 24px;
	padding: 0 9px !important;
	border-radius: 999px !important;
	background: #fff !important;
	box-shadow: 0 1px 4px rgba(26,26,46,.18);
	font-size: 11.5px;
	font-weight: 600;
	line-height: 1;
	color: var(--eb-indigo, #3533AD);
	white-space: nowrap;
	cursor: pointer;
}
.fieldTemplates .brand_template::after {
	content: "Equipo";
}
.fieldTemplates .brand_template:hover {
	box-shadow: 0 2px 8px rgba(26,26,46,.28);
}

/* privado: solo el candado, en gris */
.fieldTemplates .brand_template_my_designs::after {
	content: "";
}
.fieldTemplates .brand_template_my_designs {
	color: #6f7189;
	padding: 0 7px !important;
}

/* --- El cover seguia en 110px: alguna regla base gana --- */
.tmfg .tmfg-card .tmfg-cover,
#my_team_folders .tmfg-cover {
	width: 54px !important;
	height: 54px !important;
	min-height: 0 !important;
	max-height: 54px !important;
	flex: none !important;
}
.tmfg .tmfg-card .tmf-thumb,
#my_team_folders .tmf-thumb {
	width: 54px !important;
	height: 54px !important;
}
.tmfg .tmfg-card .tmf-thumb img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
}


/* ============================================================
   AJUSTE FINAL — alturas, pestañas y hover
   ============================================================ */

/* --- 1. LAS TRES TARJETAS A LA MISMA ALTURA ---------------
   Medido: carpeta 151px, papelera 122px, crear 0 (es un button
   que no estira). El chip "Team" hacia crecer solo a la carpeta.
   Con stretch en la rejilla las tres igualan a la mas alta. */
.tmfg {
	align-items: stretch;
}
.tmfg > .tmfg-card,
.tmfg > .create-folder-new {
	display: flex;
	flex-direction: column;
	height: auto;
	min-height: 151px;
}
.tmfg .tmfg-inner {
	flex: 1 1 auto;
}
.tmfg .create-folder-new {
	align-items: center;
	justify-content: center;
	gap: 8px;
}

/* el chip de acceso se ancla abajo: asi las tarjetas sin chip
   no quedan mas cortas */
.tmfg .tmfg-meta { flex: 1 1 auto; }
.tmfg .tmfg-access { margin-top: auto; }

/* --- 2. CREAR CARPETA EN INDIGO ---------------------------
   Estaba en gris: es la accion principal de esa fila. */
.tmfg .create-folder-new {
	color: var(--eb-indigo, #3533AD) !important;
	font-weight: 600;
	border: 1px dashed var(--eb-indigo-border, #DDD9F4) !important;
	background: transparent;
	transition: background .15s ease, border-color .15s ease;
}
/* el texto va en .tmfg-crear-txt, no en un <p>: sin este selector el color
   heredado no llegaba y se quedaba en el gris de la regla base */
.tmfg .create-folder-new p,
.tmfg .create-folder-new .tmfg-crear-txt,
.tmfg .create-folder-new span {
	color: var(--eb-indigo, #3533AD) !important;
	margin: 0;
	font-weight: 600;
}
.tmfg .create-folder-new svg { color: var(--eb-indigo, #3533AD); }
.tmfg .create-folder-new:hover {
	background: var(--eb-indigo-soft, #F0EFFA) !important;
	border-color: var(--eb-indigo, #3533AD) !important;
}

/* --- 3. SUBRAYADO DE LA PESTAÑA ---------------------------
   Era 1,6px en #3a2ecb, que no es el indigo del sistema.
   Pasa a 3px y al color de marca. */
.mtp-tab.active,
.mtp-tab.is-on {
	border-bottom: 3px solid var(--eb-indigo, #3533AD) !important;
	padding-bottom: 10px !important;
}

/* --- 4. HOVER DE LAS CARPETAS -----------------------------
   No habia: al pasar el raton salia el mismo borde indigo que
   marca la carpeta abierta, asi que no se distinguian.
   Hover = fondo suave. Activa = borde. */
.tmfg .tmfg-card {
	border: 1px solid transparent;
	border-radius: 10px;
	transition: background .15s ease, border-color .15s ease;
}
.tmfg .tmfg-card:hover {
	background: #F4F3F9;
	border-color: #E2E1EC;
}
.tmfg .tmfg-card.active-folder {
	background: var(--eb-indigo-soft, #F0EFFA);
	border-color: var(--eb-indigo, #3533AD);
}
.tmfg .tmfg-card.active-folder:hover {
	background: var(--eb-indigo-press-soft, #E5E1FA);
}


/* ============================================================
   AJUSTE FINAL — valores medidos contra el mockup
   Va al FINAL del fichero: gana por orden a todo lo anterior.
   ============================================================ */

/* --- INSIGNIA DE EQUIPO ------------------------------------
   Medido: color #fff sobre fondo #fff (invisible) y 8px de
   tipografia. El texto va por ::after, asi que hereda el color
   del contenedor. */
body .fieldTemplates .brand_template {
	color: var(--eb-indigo, #3533AD) !important;
	font-size: 11.5px !important;
	font-weight: 600 !important;
	line-height: 1 !important;
	width: auto !important;
	min-width: 0 !important;
	background: #fff !important;
}
body .fieldTemplates .brand_template::after {
	content: "Equipo";
	color: var(--eb-indigo, #3533AD);
}


/* privado: candado gris y sin texto */
body .fieldTemplates .brand_template_my_designs {
	color: #6f7189 !important;
	padding: 0 7px !important;
}
body .fieldTemplates .brand_template_my_designs::after { content: "" !important; }

/* --- CONTADOR DE PAGINAS -----------------------------------
   Medido: circulo de 20px con fondo negro al 60%. Pasa a
   pastilla blanca con texto oscuro, como el resto de insignias. */
body .fieldTemplates .pages-cant {
	position: absolute !important;
	left: 8px !important;
	right: auto !important;
	bottom: 8px !important;
	top: auto !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: auto !important;
	min-width: 0 !important;
	height: 24px !important;
	padding: 0 9px !important;
	border-radius: 999px !important;
	background: #fff !important;
	box-shadow: 0 1px 4px rgba(26,26,46,.18) !important;
	font-size: 11.5px !important;
	font-weight: 600 !important;
	line-height: 1 !important;
	color: #1a1c1f !important;
	white-space: nowrap !important;
	z-index: 5 !important;
}
body .fieldTemplates .pages-cant:empty { display: none !important; }
body .fieldTemplates .pages-cant::after {
	content: " págs";
	font-weight: 500;
	margin-left: 3px;
}

/* --- BADGE DE CARPETA --------------------------------------
   Medido a 16px, que es el tamaño heredado del body. */
body .fieldTemplates .badge-folder {
	font-size: 11.5px !important;
	font-weight: 600 !important;
	height: 24px !important;
	line-height: 1 !important;
	color: var(--eb-indigo-ink, #241D63) !important;
}

/* --- CREAR CARPETA -----------------------------------------
   Medido: 61px de alto contra 151 de las tarjetas, gris, y radio
   12 en vez de 10. */
body .tmfg .tmfg-crear {
	min-height: 151px !important;
	height: auto !important;
	border-radius: 10px !important;
	border: 1px dashed var(--eb-indigo-border, #DDD9F4) !important;
	background: transparent !important;
	color: var(--eb-indigo, #3533AD) !important;
	font-size: 13px !important;
	font-weight: 600 !important;
}
body .tmfg .tmfg-crear .tmfg-crear-txt,
body .tmfg .tmfg-crear span,
body .tmfg .tmfg-crear p {
	color: var(--eb-indigo, #3533AD) !important;
	font-size: 13px !important;
	font-weight: 600 !important;
}
body .tmfg .tmfg-crear svg {
	color: var(--eb-indigo, #3533AD) !important;
	stroke: var(--eb-indigo, #3533AD) !important;
}
body .tmfg .tmfg-crear:hover {
	background: var(--eb-indigo-soft, #F0EFFA) !important;
	border-color: var(--eb-indigo, #3533AD) !important;
}

/* --- PESTAÑAS ----------------------------------------------
   Medido: 10px de padding inferior en la activa y 12 en las
   inactivas, asi que el subrayado no alineaba con la fila. */
body .mtp-tab {
	padding-bottom: 12px !important;
	border-bottom: 3px solid transparent !important;
	margin-bottom: 0 !important;
}
body .mtp-tab.active,
body .mtp-tab.is-on {
	border-bottom-color: var(--eb-indigo, #3533AD) !important;
	color: #16151a !important;
	font-weight: 600 !important;
}


/* ============================================================
   CABECERA DE EQUIPO — mtp-head
   Los dos botones con el mismo borde, radio y color de icono.
   ============================================================ */
body .mtp-head {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 18px;
}
body .mtp-head > svg {
	flex: none;
	width: 22px;
	height: 22px;
}
body .mtp-head .mtp-head-name {
	flex: 1 1 auto;
	min-width: 0;
	font-size: 22px;
	font-weight: 700;
	line-height: 1.2;
	color: #16151a;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

/* los dos botones comparten caja: mismo borde, mismo radio,
   mismo color de icono. El de info es cuadrado porque solo
   lleva icono; el de miembros crece con su texto. */
body .mtp-head .mtp-head-info,
body .mtp-head .mtp-head-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	flex: none;
	box-sizing: border-box;
	height: 38px;
	border: 1px solid #E2E1EC;
	border-radius: 10px;
	background: #fff;
	color: #6f7189;
	font-size: 13.5px;
	font-weight: 600;
	line-height: 1;
	cursor: pointer;
	transition: background .15s ease, border-color .15s ease, color .15s ease;
}
body .mtp-head .mtp-head-info { width: 38px; padding: 0; }
body .mtp-head .mtp-head-btn  { padding: 0 14px; color: #16151a; }

body .mtp-head .mtp-head-info svg,
body .mtp-head .mtp-head-btn svg {
	flex: none;
	color: #6f7189;
	stroke: currentColor;
}

body .mtp-head .mtp-head-info:hover,
body .mtp-head .mtp-head-btn:hover {
	background: var(--eb-indigo-soft, #F0EFFA);
	border-color: var(--eb-indigo-border, #DDD9F4);
	color: var(--eb-indigo, #3533AD);
}
body .mtp-head .mtp-head-info:hover svg,
body .mtp-head .mtp-head-btn:hover svg {
	color: var(--eb-indigo, #3533AD);
}

body .mtp-head .mtp-head-info:focus-visible,
body .mtp-head .mtp-head-btn:focus-visible {
	outline: none;
	box-shadow: var(--eb-focus, 0 0 0 2px #fff, 0 0 0 4px #A9A7E6);
}



/* ============================================================
   AJUSTE AL MOCKUP — diferencias medidas contra la captura
   ============================================================ */

/* --- 1. CABECERA ------------------------------------------
   El titulo esta en 22px y el mockup lo pide mas contenido. El
   icono de personas de la izquierda no aparece en el mockup: el
   nombre arranca el bloque. */
body .mtp-head > svg { display: none; }
body .mtp-head .mtp-head-name {
	font-size: 20px;
	font-weight: 700;
	letter-spacing: -0.2px;
}


/* Miembros lleva su contador dentro, como "Diseños 5" */
body .mtp-head .mtp-head-btn {
	height: 40px;
	border-radius: 10px;
	font-size: 14px;
}

/* --- 2. INSIGNIA: pastilla con icono, no circulo -----------
   En el mockup va arriba a la derecha, blanca, con el icono de
   personas y la palabra al lado. */
body .fieldTemplates .brand_template {
	top: 10px !important;
	right: 10px !important;
	height: 26px !important;
	padding: 0 10px !important;
	gap: 6px !important;
	background: rgba(255,255,255,.96) !important;
	box-shadow: 0 1px 3px rgba(26,26,46,.14) !important;
	font-size: 12px !important;
}

/* --- 3. CONTADOR DE PAGINAS -------------------------------
   En el mockup es una pastilla OSCURA abajo a la izquierda,
   no blanca: contrasta con la insignia clara de arriba. */
body .fieldTemplates .pages-cant {
	left: 10px !important;
	bottom: 10px !important;
	height: 26px !important;
	padding: 0 11px !important;
	background: rgba(26,26,46,.82) !important;
	color: #fff !important;
	box-shadow: none !important;
	font-size: 12px !important;
}

/* --- 4. TARJETAS DE CARPETA: mas bajas y en dos columnas ---
   El mockup usa tarjetas de ~92px de alto, no 151. El icono es
   mas pequeño y el texto manda. */
body .tmfg {
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	gap: 10px !important;
}
body .tmfg > .tmfg-card,
body .tmfg > .tmfg-crear {
	min-height: 92px !important;
}
body .tmfg .tmfg-inner {
	flex-direction: row !important;
	align-items: center !important;
	gap: 12px !important;
	padding: 12px !important;
}
body .tmfg .tmfg-cover,
body .tmfg .tmf-thumb {
	width: 62px !important;
	height: 62px !important;
	max-height: 62px !important;
	border-radius: 8px !important;
}
body .tmfg .tmfg-meta {
	flex: 1 1 auto !important;
	min-width: 0 !important;
	gap: 2px !important;
}
body .tmfg .tmfg-txt p {
	font-size: 14px !important;
	font-weight: 600 !important;
	color: #16151a !important;
}
body .tmfg .tmfg-txt small {
	font-size: 12.5px !important;
	color: #6f7189 !important;
}

/* --- 5. CREAR CARPETA: en linea, no en bloque -------------- */
body .tmfg .tmfg-crear {
	flex-direction: row !important;
	gap: 8px !important;
	min-height: 92px !important;
	font-size: 13.5px !important;
}
body .tmfg .tmfg-crear .tmfg-crear-txt {
	width: auto !important;
	font-size: 13.5px !important;
	white-space: nowrap;
}

/* --- 6. CHIP DE ACCESO: mas pequeño y sin borde discontinuo */
body .tmfg .tmf-pill {
	height: 22px !important;
	padding: 0 9px !important;
	border: 0 !important;
	background: var(--eb-indigo-soft, #F0EFFA) !important;
	color: var(--eb-indigo, #3533AD) !important;
	font-size: 11.5px !important;
}

/* --- 7. TITULOS DE SECCION -------------------------------- */
body .title-slider,
body .mtp-sec-title {
	font-size: 15px !important;
	font-weight: 700 !important;
	color: #16151a !important;
	margin-bottom: 12px !important;
}


/* ============================================================
   MY TEAM — spec 22a adaptado a 379px de panel
   El mockup asume un panel mucho mas ancho: con 379px, tres
   tarjetas horizontales no caben y el texto se corta.
   ============================================================ */

/* --- INSIGNIA: solo en los diseños COMPARTIDOS -------------
   brand_template_none es la variante "sin compartir": no debe
   pintarse. Antes se le dibujaba la pastilla vacia. */
body .fieldTemplates .brand_template_none {
	display: none !important;
}
body .fieldTemplates .brand_template_none::after { content: none !important; }

body .fieldTemplates .brand_template {
	position: absolute !important;
	top: 10px !important;
	right: 10px !important;
	display: inline-flex !important;
	align-items: center;
	gap: 6px !important;
	width: auto !important;
	height: 26px !important;
	padding: 0 9px !important;
	border-radius: 13px !important;
	background: rgba(255,255,255,.94) !important;
	box-shadow: 0 1px 4px rgba(26,26,46,.16) !important;
	font-size: 11px !important;
	font-weight: 700 !important;
	color: var(--eb-indigo, #3533AD) !important;
	z-index: 5 !important;
}
body .fieldTemplates .brand_template svg { width: 12px !important; height: 12px !important; }

/* --- CARPETAS: DOS columnas, no tres ----------------------
   Con 379px de panel, cada tarjeta tiene 184px: caben la
   miniatura de 54 y el texto sin cortarse. */
body .tmfg {
	grid-template-columns: 1fr 1fr !important;
	gap: 10px !important;
	align-items: stretch !important;
}
body .tmfg > .tmfg-card,
body .tmfg > .tmfg-crear {
	min-height: 78px !important;
	height: auto !important;
	border-radius: 12px !important;
	overflow: hidden;
}
body .tmfg .tmfg-inner {
	flex-direction: row !important;
	align-items: center !important;
	gap: 10px !important;
	padding: 10px !important;
	min-width: 0;
}
body .tmfg .tmfg-cover,
body .tmfg .tmf-thumb {
	width: 48px !important;
	height: 48px !important;
	max-height: 48px !important;
	border-radius: 8px !important;
	flex: none !important;
}
body .tmfg .tmfg-meta { min-width: 0 !important; flex: 1 1 auto !important; }
body .tmfg .tmfg-txt { min-width: 0; }
body .tmfg .tmfg-txt p {
	font-size: 13.5px !important;
	font-weight: 600 !important;
	color: #1A1A2E !important;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
body .tmfg .tmfg-txt small {
	display: block;
	font-size: 12px !important;
	color: #52556B !important;
	margin-top: 1px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
body .tmfg .tmfg-access { margin-top: 5px; }
body .tmfg .tmf-pill {
	height: 20px !important;
	padding: 0 7px !important;
	border: 0 !important;
	border-radius: 10px !important;
	background: var(--eb-indigo-soft, #F0EFFA) !important;
	color: var(--eb-indigo, #3533AD) !important;
	font-size: 11px !important;
	font-weight: 600 !important;
	max-width: 100%;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
body .tmfg .tmf-pill svg { width: 11px !important; height: 11px !important; flex: none; }

/* Nueva carpeta ocupa las dos columnas de su fila: asi el texto
   cabe entero y no compite con las carpetas */
body .tmfg .tmfg-crear {
	grid-column: 1 / -1 !important;
	flex-direction: row !important;
	gap: 8px !important;
	min-height: 52px !important;
	border: 1.5px dashed #C9C7DA !important;
	background: #fff !important;
	color: var(--eb-indigo, #3533AD) !important;
	font-size: 13.5px !important;
	font-weight: 600 !important;
}
body .tmfg .tmfg-crear .tmfg-crear-txt {
	width: auto !important;
	font-size: 13.5px !important;
	white-space: nowrap;
	color: var(--eb-indigo, #3533AD) !important;
}
body .tmfg .tmfg-crear svg { width: 14px !important; height: 14px !important; flex: none; }
body .tmfg .tmfg-crear:hover {
	background: var(--eb-indigo-soft, #F0EFFA) !important;
	border-color: var(--eb-indigo, #3533AD) !important;
}



/* ============================================================
   CORRECCION FINAL
   Dos causas reales, encontradas con el volcado de cascada:
   1. style_editor_first.css pinta .brand_template con fondo
      negro y un icono BLANCO en ::before. Al ponerle fondo
      blanco, el icono se volvio invisible: de ahi los circulos
      vacios. Hay que recolorear ese ::before a indigo.
   2. En .tmfg hay DOS botones de crear carpeta, .create-folder-new
      y .tmfg-crear, los dos con grid-column 1/-1. Eso lo arregla
      el PHP; aqui solo se oculta el duplicado.
   ============================================================ */

/* --- 1. INSIGNIA: icono indigo en vez de blanco ------------ */
body .content-sub-cats .fieldTemplates .brand_template::before {
	width: 12px !important;
	height: 12px !important;
	margin-right: 0 !important;
	background-image: url("data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 14 11' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='5' cy='3' r='2.3' fill='%233533AD'/%3E%3Cpath d='M1 10.4c0-2.2 1.8-3.4 4-3.4s4 1.2 4 3.4H1Z' fill='%233533AD'/%3E%3Ccircle cx='10.8' cy='3.4' r='1.8' fill='%233533AD' opacity='.55'/%3E%3Cpath d='M8.6 10.4c0-1.8 1-2.7 2.4-2.7 1.3 0 2 .9 2 2.7H8.6Z' fill='%233533AD' opacity='.55'/%3E%3C/svg%3E") !important;
}

body .content-sub-cats .fieldTemplates .brand_template {
	top: 10px !important;
	right: 10px !important;
	display: inline-flex !important;
	align-items: center !important;
	gap: 6px !important;
	width: auto !important;
	height: 26px !important;
	padding: 0 9px !important;
	border-radius: 13px !important;
	background: rgba(255,255,255,.94) !important;
	box-shadow: 0 1px 4px rgba(26,26,46,.16) !important;
	font-size: 11px !important;
	font-weight: 700 !important;
	color: var(--eb-indigo, #3533AD) !important;
}
body .content-sub-cats .fieldTemplates .brand_template::after {
	content: "Equipo";
	color: var(--eb-indigo, #3533AD);
}
/* la base ya lo oculta, se refuerza por si acaso */
body .content-sub-cats .fieldTemplates .brand_template.brand_template_none {
	display: none !important;
}

/* --- 2. UN SOLO BOTON DE CREAR CARPETA -------------------- */
/* mientras el PHP siga imprimiendo los dos, se oculta el viejo */
body .tmfg > .create-folder-new,
body .tmfg > .mtp-create-folder {
	display: none !important;
}

body .tmfg > .tmfg-crear {
	grid-column: 1 / -1 !important;
	order: 999 !important;
	display: flex !important;
	flex-direction: row !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 8px !important;
	min-height: 52px !important;
	max-height: 52px !important;
	height: 52px !important;
	padding: 0 12px !important;
	border: 1.5px dashed #C9C7DA !important;
	border-radius: 12px !important;
	background: #fff !important;
	color: var(--eb-indigo, #3533AD) !important;
	font-size: 13.5px !important;
	font-weight: 600 !important;
}
body .tmfg > .tmfg-crear:hover {
	background: var(--eb-indigo-soft, #F0EFFA) !important;
	border-color: var(--eb-indigo, #3533AD) !important;
	color: var(--eb-indigo, #3533AD) !important;
}
body .tmfg .tmfg-crear-txt,
body .tmfg .tmfg-crear-mas {
	color: var(--eb-indigo, #3533AD) !important;
	font-size: 13.5px !important;
	font-weight: 600 !important;
	width: auto !important;
	white-space: nowrap;
}
body .tmfg .tmfg-crear-mas { font-size: 18px !important; line-height: 1; }


/* ============================================================
   CABECERA DE EQUIPO
   El titulo empuja los dos botones a la derecha con flex:1.
   Los dos botones comparten borde, radio y altura.
   ============================================================ */
body .mtp-head {
	display: flex !important;
	align-items: center;
	gap: 10px;
	margin-bottom: 20px;
}

/* el icono de personas acompaña al titulo, no se separa */
body .mtp-head > svg {
	flex: none;
	width: 22px;
	height: 22px;
}

/* flex:1 es lo que empuja los botones al borde derecho */
body .mtp-head .mtp-head-name {
	flex: 1 1 auto;
	min-width: 0;
	margin-right: auto;
	font-size: 22px;
	font-weight: 700;
	letter-spacing: -0.02em;
	color: #1A1A2E;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

/* --- los dos botones, mismo aspecto ----------------------- */
body .mtp-head .mtp-head-info,
body .mtp-head .mtp-head-btn {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	flex: none;
	box-sizing: border-box;
	height: 40px;
	border: 0 !important;
	border-radius: 8px;
	background: #fff;
	box-shadow: inset 0 0 0 1px #DDD9F4;
	font-size: 13.5px;
	font-weight: 600;
	line-height: 1;
	color: #241D63;
	cursor: pointer;
	transition: background .15s ease, box-shadow .15s ease;
}

body .mtp-head .mtp-head-info {
	width: 40px;
	padding: 0;
	color: #6F7189;
}
body .mtp-head .mtp-head-btn {
	padding: 0 14px;
	gap: 8px;
}

/* iconos: el de miembros en indigo, el de info en gris */
body .mtp-head .mtp-head-btn svg {
	flex: none;
	width: 16px;
	height: 16px;
	color: var(--eb-indigo, #3533AD);
	stroke: var(--eb-indigo, #3533AD);
}
body .mtp-head .mtp-head-info svg {
	flex: none;
	width: 17px;
	height: 17px;
	color: #6F7189;
	stroke: currentColor;
}

body .mtp-head .mtp-head-info:hover,
body .mtp-head .mtp-head-btn:hover {
	background: var(--eb-indigo-soft, #F0EFFA);
	box-shadow: inset 0 0 0 1px var(--eb-indigo, #3533AD);
}
body .mtp-head .mtp-head-info:hover { color: var(--eb-indigo, #3533AD); }

body .mtp-head .mtp-head-info:focus-visible,
body .mtp-head .mtp-head-btn:focus-visible {
	outline: none;
	box-shadow: inset 0 0 0 1px var(--eb-indigo, #3533AD),
	            0 0 0 2px #fff, 0 0 0 4px #A9A7E6;
}



/* ============================================================
   CABECERA Y CARPETAS — ajuste al mockup
   ============================================================ */

/* --- el boton a la derecha -------------------------------- */
body .upper-top .mtp-head,
body .mtp-head {
	display: flex !important;
	align-items: center !important;
	flex-wrap: nowrap !important;
	gap: 10px !important;
	width: 100% !important;
}
body .mtp-head .mtp-head-name {
	flex: 1 1 auto !important;
	min-width: 0 !important;
	margin-right: auto !important;
}
body .mtp-head .mtp-head-info,
body .mtp-head .mtp-head-btn {
	flex: 0 0 auto !important;
	margin-left: 0 !important;
}

/* --- carpetas en TRES columnas ---------------------------- */
body .tmfg {
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	gap: 10px !important;
	align-items: stretch !important;
}

/* Nueva carpeta es una celda mas, no una fila entera */
body .tmfg > .tmfg-crear {
	grid-column: auto !important;
	order: 999 !important;
	flex-direction: row !important;
	min-height: 96px !important;
	max-height: none !important;
	height: auto !important;
	gap: 6px !important;
	padding: 0 8px !important;
	font-size: 13px !important;
}
body .tmfg .tmfg-crear-txt { font-size: 13px !important; white-space: normal !important; text-align: left; }

/* con tres columnas la tarjeta se estrecha: la miniatura baja
   a 46px y el texto puede partir en dos lineas */
body .tmfg > .tmfg-card { min-height: 96px !important; }
body .tmfg .tmfg-inner { gap: 9px !important; padding: 9px !important; }
body .tmfg .tmfg-cover,
body .tmfg .tmf-thumb {
	width: 46px !important;
	height: 46px !important;
	max-height: 46px !important;
}
body .tmfg .tmfg-txt p { font-size: 13px !important; }
body .tmfg .tmfg-txt small { font-size: 11.5px !important; }
body .tmfg .tmf-pill { height: 20px !important; font-size: 10.5px !important; padding: 0 7px !important; }


/* --- pestañas mas juntas y subrayado mas grueso ----------- */
body .mtp-tabs { gap: 22px !important; }
body .mtp-tab { padding: 0 2px 11px !important; font-size: 14.5px !important; }
body .mtp-tab.active::after,
body .mtp-tab.is-on::after { height: 2.5px !important; }



/* ============================================================
   AJUSTES FINALES
   Con 379px de panel y tres columnas, cada tarjeta tiene ~120px.
   La disposicion horizontal no cabe: se apila en vertical, que
   es lo unico que deja leer el nombre y el recuento.
   ============================================================ */

/* --- 1. TARJETAS DE CARPETA EN VERTICAL ------------------- */
body .tmfg .tmfg-inner {
	flex-direction: column !important;
	align-items: flex-start !important;
	gap: 8px !important;
	padding: 10px !important;
}
body .tmfg > .tmfg-card { min-height: 132px !important; }
body .tmfg .tmfg-cover,
body .tmfg .tmf-thumb {
	width: 100% !important;
	height: 52px !important;
	max-height: 52px !important;
}
body .tmfg .tmfg-meta { width: 100%; }
body .tmfg .tmfg-txt p {
	font-size: 12.5px !important;
	line-height: 1.3;
	white-space: normal !important;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
body .tmfg .tmfg-txt small {
	font-size: 11px !important;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
/* el chip cabe entero: antes se cortaba en "Te" */
body .tmfg .tmf-pill {
	max-width: 100% !important;
	height: 20px !important;
	padding: 0 7px !important;
	font-size: 10.5px !important;
	overflow: visible !important;
}
body .tmfg .tmf-pill span { overflow: visible !important; }

/* --- 2. NUEVA CARPETA: texto en una linea ----------------- */
body .tmfg > .tmfg-crear {
	flex-direction: column !important;
	gap: 6px !important;
	min-height: 132px !important;
	padding: 10px !important;
	text-align: center;
}
body .tmfg .tmfg-crear-txt {
	font-size: 12.5px !important;
	line-height: 1.3;
	text-align: center !important;
	white-space: normal !important;
}
body .tmfg .tmfg-crear-mas {
	font-size: 20px !important;
	line-height: 1;
}

/* --- 3. INSIGNIA: pastilla con texto, no circulo ----------
   Sigue saliendo como circulo porque la regla base fija
   width y height iguales. */
body .content-sub-cats .fieldTemplates .brand_template {
	width: auto !important;
	min-width: 0 !important;
	max-width: none !important;
	border-radius: 13px !important;
}
body .content-sub-cats .fieldTemplates .brand_template::after {
	content: "Equipo" !important;
	display: inline !important;
	font-size: 11px;
	font-weight: 700;
	color: var(--eb-indigo, #3533AD);
}

/* --- 4. ESPACIADO ENTRE BLOQUES --------------------------
   Entre pestañas y "My Team's Folders" hay demasiado hueco. */
body .mtp-tabs { margin-bottom: 0 !important; }
body .title-slider { margin: 18px 0 12px !important; }


/* ============================================================
   AJUSTES: insignia, crear carpeta y altura de los botones
   ============================================================ */

/* --- INSIGNIA: medida 12x26, el ancho lo fija otra regla ---
   fit-content gana a un width fijo sin necesidad de adivinar
   cual es la regla que lo pone. */
body .content-sub-cats .fieldTemplates .brand_template,
body .fieldTemplates .brand_template {
	width: -moz-fit-content !important;
	width: fit-content !important;
	min-width: -moz-fit-content !important;
	min-width: fit-content !important;
	max-width: none !important;
	white-space: nowrap !important;
	overflow: visible !important;
	box-sizing: content-box !important;
}

/* --- CREAR CARPETA: el + se estiraba y la caja crecia ------ */
body .tmfg > .tmfg-crear {
	min-height: 132px !important;
	max-height: 132px !important;
	height: 132px !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 8px !important;
	padding: 10px !important;
}
body .tmfg .tmfg-crear-mas {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	flex: none !important;
	width: 26px !important;
	height: 26px !important;
	min-height: 0 !important;
	border-radius: 50%;
	background: var(--eb-indigo-soft, #F0EFFA);
	font-size: 17px !important;
	line-height: 1 !important;
	color: var(--eb-indigo, #3533AD) !important;
}

/* --- BOTONES DE LA CABECERA: misma altura ----------------- */
body .mtp-head .mtp-head-info,
body .mtp-head .mtp-head-btn {
	height: 42px !important;
	min-height: 42px !important;
	max-height: 42px !important;
	box-sizing: border-box !important;
	line-height: 1 !important;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}
body .mtp-head .mtp-head-info { width: 42px !important; min-width: 42px !important; }


/* --- CREAR CARPETA: que iguale a la carpeta, no al reves ---
   Medido: crear 132, carpeta 159. El max-height fijo le impedia
   crecer. Con stretch en la rejilla y sin tope, iguala sola. */
body .tmfg > .tmfg-crear {
	min-height: 0 !important;
	max-height: none !important;
	height: auto !important;
	align-self: stretch !important;
}

/* --- INSIGNIA: sigue en 30px de ancho ---------------------
   El fit-content no gano: hay un width en otra regla. Se fuerza
   por el contenido con un ancho minimo generoso. */
body .fieldTemplates .brand_template,
body .content-sub-cats .fieldTemplates .brand_template {
	width: auto !important;
	min-width: 0 !important;
	max-width: none !important;
	padding: 0 10px !important;
	justify-content: center !important;
}


/* --- Chips alineados aunque el nombre ocupe una o dos lineas
   "Prueba de carpeta" parte en dos y "Cdscds" no, asi que el chip
   quedaba a distinta altura en cada tarjeta. El margin-top auto
   lo empuja al pie de la tarjeta, que es constante. */
body .tmfg .tmfg-inner {
	justify-content: flex-start !important;
}
body .tmfg .tmfg-meta {
	display: flex !important;
	flex-direction: column !important;
	flex: 1 1 auto !important;
	width: 100%;
	min-height: 0;
}
body .tmfg .tmfg-txt {
	flex: 0 0 auto;
}
body .tmfg .tmfg-access {
	margin-top: auto !important;
	padding-top: 6px;
}

/* el nombre reserva SIEMPRE dos lineas: asi el recuento y el chip
   caen a la misma altura en todas las tarjetas */
body .tmfg .tmfg-txt p {
	min-height: 2.6em;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}



/* --- El menu de la carpeta se recortaba -------------------
   Le puse overflow:hidden a la tarjeta para redondear la
   miniatura, y eso recorta el desplegable. El recorte va en la
   miniatura, que es lo unico que lo necesita. */
body .tmfg > .tmfg-card,
body .tmfg > .tmfg-crear {
	overflow: visible !important;
}
body .tmfg .tmfg-cover,
body .tmfg .tmf-thumb {
	overflow: hidden !important;
}

/* el menu flota sobre la tarjeta, no ocupa sitio en ella */
body .tmfg .more-buttons-box {
	position: absolute !important;
	top: 8px;
	left: 8px;
	z-index: 20;
}
body .tmfg .tmfg-card { position: relative !important; }

body .tmfg .more-buttons {
	position: absolute !important;
	top: 30px;
	left: 0;
	z-index: 30;
	min-width: 180px;
}


/* --- Crear carpeta: altura propia, no heredada de la fila ---
   Medido: 61px contra 160 de las carpetas. Con order:999 cae en
   una fila propia y align-items:stretch no tiene con quien
   igualarla. Se le da la misma altura minima que a las tarjetas.
   Al compartir fila, stretch la iguala igualmente. */
body .tmfg > .tmfg-crear {
	min-height: 160px !important;
	height: auto !important;
	max-height: none !important;
	align-self: stretch !important;
}

/* --- El otro boton de crear sigue en el DOM ---------------
   .create-folder-new mide 0x0 pero ocupa grid-column 1/-1, asi
   que reserva una fila entera vacia al principio de la rejilla.
   Es el duplicado del PHP: mientras siga imprimiendose, no debe
   ocupar sitio. */
body .tmfg > .create-folder-new {
	display: none !important;
	grid-column: auto !important;
}



/* --- La variante de Mis Diseños llevaba el icono de personas ---
   El ::before que recoloreamos a indigo se aplicaba a todas las
   variantes. En Mis Diseños el diseño es privado: candado gris. */
body .fieldTemplates .brand_template_my_designs,
body .content-sub-cats .fieldTemplates .brand_template_my_designs {
	color: #6F7189 !important;
	padding: 0 8px !important;
	min-width: 0 !important;
	gap: 5px !important;
}
body .fieldTemplates .brand_template_my_designs::before,
body .content-sub-cats .fieldTemplates .brand_template_my_designs::before {
	width: 11px !important;
	height: 11px !important;
	background-image: url("data:image/svg+xml,%3Csvg width='11' height='11' viewBox='0 0 10 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2.6 5V3.6a2.4 2.4 0 0 1 4.8 0V5' stroke='%236F7189' stroke-width='1.3' stroke-linecap='round'/%3E%3Crect x='1.4' y='5' width='7.2' height='6' rx='1.6' fill='%236F7189'/%3E%3C/svg%3E") !important;
}
body .fieldTemplates .brand_template_my_designs::after,
body .content-sub-cats .fieldTemplates .brand_template_my_designs::after {
	content: "Privado" !important;
	color: #6F7189 !important;
	font-size: 11px;
	font-weight: 600;
}


body .fieldTemplates .brand_template_my_designs {
	width: 26px !important;
	min-width: 26px !important;
	padding: 0 !important;
	border-radius: 50% !important;
	justify-content: center !important;
}
body .fieldTemplates .brand_template_my_designs::after { content: "" !important; }


/* --- El candado del badge, igual al del chip de carpeta ---
   Mismo dibujo y mismo tamaño: 12px, con el trazo arriba y el
   cuerpo relleno abajo. Centrado en un badge circular de 26px. */
body .fieldTemplates .brand_template_my_designs,
body .content-sub-cats .fieldTemplates .brand_template_my_designs {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 26px !important;
	min-width: 26px !important;
	max-width: 26px !important;
	height: 26px !important;
	padding: 0 !important;
	gap: 0 !important;
	border-radius: 50% !important;
	background: rgba(255,255,255,.94) !important;
	box-shadow: 0 1px 4px rgba(26,26,46,.16) !important;
}

body .fieldTemplates .brand_template_my_designs::before,
body .content-sub-cats .fieldTemplates .brand_template_my_designs::before {
	content: "" !important;
	display: block !important;
	width: 12px !important;
	height: 12px !important;
	margin: 0 !important;
	background-repeat: no-repeat !important;
	background-position: center !important;
	background-size: contain !important;


	background-image: url("data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236F7189' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='4.5' y='10.5' width='15' height='9' rx='2'/%3E%3Cpath d='M8 10.5V8a4 4 0 0 1 8 0v2.5'/%3E%3C/svg%3E") !important;

}

body .fieldTemplates .brand_template_my_designs::after,
body .content-sub-cats .fieldTemplates .brand_template_my_designs::after {
	content: "" !important;
	display: none !important;
}


/* Icono del boton "Restaurar" de la papelera. Va como mask-image
   y no como background-image: asi el color lo pone background-color
   y sigue al estado del boton (hover, activo) sin duplicar el SVG. */
.iconBackground.restaurardesign {
	background-image: none !important;
	background-color: #52556b;
	-webkit-mask-repeat: no-repeat;  mask-repeat: no-repeat;
	-webkit-mask-position: center;   mask-position: center;
	-webkit-mask-size: contain;      mask-size: contain;
	transition: background-color .15s ease;
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 18 18' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.2 9a5.8 5.8 0 1 0 1.7-4.1'/%3E%3Cpath d='M3 2.6v3.6h3.6'/%3E%3Cpath d='M9 6.2v3.1l2.2 1.3'/%3E%3C/svg%3E");
	        mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 18 18' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.2 9a5.8 5.8 0 1 0 1.7-4.1'/%3E%3Cpath d='M3 2.6v3.6h3.6'/%3E%3Cpath d='M9 6.2v3.1l2.2 1.3'/%3E%3C/svg%3E");
}

/* el elemento del menu al pasar el raton tiñe tambien su icono */
.box-tooltip > div:hover .iconBackground.restaurardesign {
	background-color: var(--eb-indigo, #3533AD);
}


/* Prioridad en la vista resumida (2 huecos, uno se lo lleva "Nueva
   carpeta"): las carpetas reales van primero (regla generica de mas
   abajo, nth-of-type), luego "Share with team" si sobra hueco. "Deleted
   designs" ya NO entra en la vista resumida bajo ningun caso - solo se
   ve en modo organizar (.mtp-all). Antes habia dos reglas compitiendo:
   una la mostraba a la fuerza cuando habia hueco (prioridad vieja de la
   papelera) y otra la ocultaba pero solo si el PHP marcaba 2+ carpetas
   reales (tmfg-papelera-solo-expandida) - no cubria el caso de 0
   carpetas reales, que es justo cuando el hueco debe ser para
   "Share with team", no para la papelera. Se sustituyen las dos por
   esta, incondicional. */
body .tmfg:not(.mtp-all) > #id_folder_deleted,
body #my_designs_folders:not(.mtp-all) > #id_folder_deleted,
body #my_team_folders:not(.mtp-all) > #id_folder_deleted {
	display: none !important;
}


/* El texto del boton no cabe en una linea y partia en dos: la cabecera es una
   fila y el salto la descuadra. Se deja en una linea y se le da el sitio que
   necesite, que el titulo ya cede espacio. */
body .title-slider .flex-title {
	display: flex;
	align-items: baseline;
	gap: 12px;
	flex-wrap: nowrap;
}
body .title-slider .flex-title > p {
	flex: 0 1 auto;
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	margin: 0;
}
body #show_only_folders_mydesigns,
body #show_only_folders_teams {
	flex: none;
	margin-left: auto;
	white-space: nowrap;
	font-size: 13px;
	line-height: 1.2;
}

/* En modo organizar el JS pone display:none al boton "Ver todas" (es
   redundante, ya se ven todas las carpetas). Eso le quita el sitio que
   ocupaba a .ts-acciones, y como el <p> del titulo tiene flex:1 1 auto,
   crece a ocupar el hueco: todo el bloque se recoloca.
   Se le gana la mano al display:none inline (un !important aqui vale
   mas que un estilo inline sin !important) y se usa visibility:hidden
   en su lugar: desaparece visualmente pero sigue reservando su ancho,
   asi que nada mas se mueve. display se deja en el mismo valor que
   tiene visible (inline-flex, ver regla .ts-vertodas) para que siga
   ocupando exactamente el mismo espacio.
   Mismo tratamiento para .ts-organizar: ahora que su click reenvia al
   de "Ver todas" (this.closest('.ts-acciones').querySelector('.ts-vertodas').click()),
   una vez dentro de ese modo el boton no hace nada util - se oculta
   igual, sin quitarle el hueco, para evitar el mismo recoloque. */
#teams:has(#my_team_folders.mtp-all) #show_only_folders_teams,
#mydesigns:has(#my_designs_folders.show_only_folders_full) #show_only_folders_mydesigns,
#teams:has(#my_team_folders.mtp-all) .ts-organizar,
#mydesigns:has(#my_designs_folders.show_only_folders_full) .ts-organizar {
	display: inline-flex !important;
	visibility: hidden !important;
}



/* ============================================================
   CABECERA DE CARPETAS — variante 26b
   Icono de organizar + enlace "Ver todas". El recuento sale del
   enlace y va al titulo, como en "Diseños 5" de las pestañas.
   ============================================================ */
body .title-slider .flex-title {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: nowrap;
}
body .title-slider .flex-title > p {
	flex: 1 1 auto;
	min-width: 0;
	margin: 0;
	font-size: 15px;
	font-weight: 700;
	color: #1A1A2E;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

/* el recuento acompaña al titulo, en gris y sin negrita */
body .title-slider .ts-num {
	margin-left: 6px;
	font-size: 14px;
	font-weight: 500;
	color: #6F7189;
}

body .ts-acciones {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	flex: none;
}

/* Organizar: icono de 32px con tooltip, sin texto */
body .ts-organizar {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	padding: 0;
	border: 0;
	border-radius: 8px;
	background: transparent;
	color: #6F7189;
	cursor: pointer;
	transition: background .15s ease, color .15s ease;
}
body .ts-organizar:hover {
	background: #F2F2F5;
	color: #1A1A2E;
}

/* Ver todas: accion principal, indigo con chevron */
body .ts-vertodas {
	display: inline-flex;
	align-items: center;
	gap: 3px;
	height: 32px;
	padding: 0 8px;
	border: 0;
	border-radius: 8px;
	background: transparent;
	color: var(--eb-indigo, #3533AD);
	font-size: 13px;
	font-weight: 600;
	white-space: nowrap;
	cursor: pointer;
	transition: background .15s ease;
}
body .ts-vertodas:hover { background: var(--eb-indigo-soft, #F0EFFA); }
body .ts-vertodas svg { flex: none; margin-top: 1px; }

body .ts-organizar:focus-visible,
body .ts-vertodas:focus-visible {
	outline: none;
	box-shadow: var(--eb-focus, 0 0 0 2px #fff, 0 0 0 4px #A9A7E6);
}


/* Mismo aspecto que .badge-folder de las tarjetas.
   La regla de style_editor_first.css tiene seis clases de especificidad
   (.tooltipSelectFormat .selectDesign .overflowSelect .new_categories
    .img-design .name-folder), asi que hace falta !important para ganarle. */
body .name-folder {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: flex-start !important;
	gap: 5px !important;
	height: 24px !important;
	padding: 0 9px !important;
	border-radius: 999px !important;
	background: rgba(255,255,255,.94) !important;
	border: 1px solid #E2E5E8 !important;
	box-shadow: 0 1px 3px rgba(0,0,0,.1) !important;
	font-size: 11.5px !important;
	font-weight: 600 !important;
	color: #241D63 !important;
	max-width: 100% !important;
	overflow: hidden !important;
	text-overflow: ellipsis !important;
	white-space: nowrap !important;
}

/* icono de carpeta por CSS: el <span> solo trae texto y añadirlo en el PHP
   obligaria a tocar todos los sitios que pintan este elemento */
/* El ::before medía 15px y no mostraba el icono: hay una regla anterior con
   mas peso que le pone su propio background. Se fuerza todo. */
body .name-folder::before {
	content: "" !important;
	display: block !important;
	flex: none !important;
	width: 11px !important;
	height: 11px !important;
	min-width: 11px !important;
	margin: 0 !important;
	background-repeat: no-repeat !important;
	background-position: center !important;
	background-size: contain !important;
	background-color: transparent !important;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='11' viewBox='0 0 24 24' fill='none' stroke='%23241D63' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 7.5h6l1.8 2.2H21v9a1.5 1.5 0 0 1-1.5 1.5h-15A1.5 1.5 0 0 1 3 18.7z'/%3E%3C/svg%3E") !important;
}
/* ============================================================
   Tarjeta "Share with team" (id_folder_share_team / data-id="share_team")
   Fondo azul de marca siempre, gane quien gane el orden del resto del
   fichero: .tmfg-card-sys ya pone background:#f4f4f7 a .tmfg-cover con la
   misma especificidad (2 clases) que cualquier regla por clase que le
   pongamos aqui, así que esta va por id (mucho mas especifica, no depende
   del orden) + !important, mismo criterio de blindaje que el resto de
   este fichero. */
#id_folder_share_team .tmfg-cover {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
}
#id_folder_share_team .tmfg-cover svg {
	color: #3533AD !important;
	width: 24px !important;
	height: 24px !important;
}
#id_folder_share_team .tmfg-txt p {
	color: #3533AD !important;
	font-weight: 700 !important;
}
#id_folder_share_team.tmdrag-over {
	outline: 2px solid #3533AD;
	outline-offset: 2px;
}




/* --- "Compartir con el equipo" con el mismo peso que las carpetas ---
   Estaba con el bloque del icono en indigo solido y destacaba mas que las
   carpetas reales, que son el contenido. Ahora es una tarjeta mas: fondo
   claro como el resto y solo el icono en indigo. */
body .tmfg .tmfg-card-share-team .tmfg-cover,
body .tmfg .tmfg-card-share-team .tmf-thumb {
	background: #F2F2F5 !important;
	border-radius: 8px !important;
}
body .tmfg .tmfg-card-share-team .tmf-thumb svg {
	color: var(--eb-indigo, #3533AD) !important;
	width: 24px !important;
	height: 24px !important;
}
body .tmfg .tmfg-card-share-team .tmfg-txt p {
	color: #1A1A2E !important;
	font-weight: 600 !important;
}
body .tmfg .tmfg-card-share-team .tmfg-txt small {
	color: #52556B !important;
}


/* En tactil no hay arrastre, asi que un destino de arrastre no sirve de nada:
   ocupa una celda de la rejilla y confunde. Se oculta cuando el dispositivo
   no tiene puntero fino. */
@media (hover: none), (pointer: coarse) {
	body #id_folder_share_team { display: none !important; }
}