/* ═══════════════════════════════════════════════════════════════
   Mapa Pinda – Estilos Principais
   Sindicato Rural de Pindamonhangaba
═══════════════════════════════════════════════════════════════ */

/* ── Variáveis de cor ───────────────────────────────────────── */
:root {
    --srp-verde:       #2e7d32;
    --srp-verde-claro: #4caf50;
    --srp-verde-escuro:#1b5e20;
    --srp-amarelo:     #f9a825;
    --srp-amarelo-cl:  #ffd600;
    --srp-branco:      #ffffff;
    --srp-cinza-cl:    #f5f5f5;
    --srp-cinza:       #757575;
    --srp-sombra:      0 4px 20px rgba(0,0,0,.18);
    --srp-radius:      10px;
    --srp-trans:       .25s ease;
}

/* ══════════════════════════════════════════════════════════════
   BARRA DE NAVEGAÇÃO SRP — GeoAgro
   Segue o padrão visual do plugin (dark green, amarelo, branco)
══════════════════════════════════════════════════════════════ */
#geo-srp-navbar {
    flex-shrink:    0;
    background:     linear-gradient(135deg, var(--srp-verde-escuro) 0%, var(--srp-verde) 100%);
    border-bottom:  1px solid rgba(255,255,255,.10);
    z-index:        11;
    box-shadow:     0 2px 12px rgba(0,0,0,.22);
}
#geo-srp-inner {
    display:        flex;
    align-items:    center;
    height:         52px;
    padding:        0 16px;
    gap:            0;
    max-width:      100%;
    box-sizing:     border-box;
}
/* Logo */
#geo-srp-logo-link { flex-shrink: 0; display: flex; align-items: center; margin-right: 20px; }
#geo-srp-logo-img  { height: 38px; width: auto; object-fit: contain;
                     filter: drop-shadow(0 1px 3px rgba(0,0,0,.4)); }

/* Menu desktop */
#geo-srp-menu {
    display:        flex;
    align-items:    center;
    list-style:     none;
    margin:         0; padding: 0;
    gap:            0;
    flex:           1;
    overflow:       hidden;
}
#geo-srp-menu > li { position: relative; }
#geo-srp-menu > li > a {
    display:        flex;
    align-items:    center;
    gap:            4px;
    padding:        0 11px;
    height:         52px;
    font-size:      11px;
    font-weight:    600;
    letter-spacing: .06em;
    text-transform: uppercase;
    color:          rgba(255,255,255,.82);
    text-decoration: none;
    white-space:    nowrap;
    border-bottom:  2px solid transparent;
    transition:     color .2s, border-color .2s;
}
#geo-srp-menu > li > a:hover,
#geo-srp-menu > li > a.geo-nav-active {
    color:         var(--srp-amarelo-cl);
    border-bottom-color: var(--srp-amarelo);
}
#geo-srp-menu > li > a svg { transition: transform .2s; opacity: .7; }
#geo-srp-menu > li.geo-has-drop:hover > a svg { transform: rotate(180deg); }

/* Dropdown */
.geo-srp-dropdown {
    position:    absolute;
    top:         calc(100% + 1px);
    left:        0;
    min-width:   200px;
    background:  var(--srp-verde-escuro);
    border:      1px solid rgba(255,255,255,.12);
    border-top:  2px solid var(--srp-amarelo);
    border-radius: 0 0 8px 8px;
    box-shadow:  0 16px 40px rgba(0,0,0,.35);
    opacity:     0;
    visibility:  hidden;
    transform:   translateY(-6px);
    transition:  all .22s;
    z-index:     200;
    overflow:    hidden;
}
#geo-srp-menu > li.geo-has-drop:hover .geo-srp-dropdown {
    opacity: 1; visibility: visible; transform: translateY(0);
}
.geo-srp-dropdown a {
    display:     block;
    padding:     9px 16px;
    font-size:   12px;
    font-weight: 400;
    color:       rgba(255,255,255,.78);
    text-decoration: none;
    border-left: 3px solid transparent;
    transition:  all .18s;
}
.geo-srp-dropdown a:hover {
    background:      rgba(255,255,255,.08);
    border-left-color: var(--srp-amarelo);
    color:           var(--srp-amarelo-cl);
    padding-left:    20px;
}

/* Botões da direita */
#geo-srp-actions {
    margin-left: auto;
    flex-shrink: 0;
    display:     flex;
    align-items: center;
    gap:         6px;
}
#geo-btn-voltar {
    display:     flex;
    align-items: center;
    gap:         5px;
    padding:     6px 14px;
    background:  rgba(255,255,255,.10);
    border:      1px solid rgba(255,255,255,.22);
    border-radius: 6px;
    color:       rgba(255,255,255,.85);
    font-size:   11px;
    font-weight: 600;
    letter-spacing: .06em;
    text-transform: uppercase;
    text-decoration: none;
    white-space: nowrap;
    transition:  background .2s, color .2s;
}
#geo-btn-voltar:hover {
    background: rgba(255,255,255,.2);
    color: #fff;
}

/* Hamburger */
#geo-srp-hamburger {
    display:        none;
    flex-direction: column;
    gap:            5px;
    background:     none;
    border:         1px solid rgba(255,255,255,.28);
    border-radius:  6px;
    padding:        7px 8px;
    cursor:         pointer;
}
#geo-srp-hamburger span {
    display:        block;
    width:          20px;
    height:         2px;
    background:     rgba(255,255,255,.85);
    border-radius:  2px;
    transition:     transform .2s, opacity .2s;
}
#geo-srp-hamburger.geo-ham-open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
#geo-srp-hamburger.geo-ham-open span:nth-child(2) { opacity: 0; }
#geo-srp-hamburger.geo-ham-open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* ── Responsivo da navbar ── */
@media (max-width: 960px) {
    #geo-srp-menu { display: none; }
    #geo-srp-hamburger { display: flex; }
}
@media (max-width: 600px) {
    #geo-btn-voltar span { display: none; }
    #geo-btn-voltar { padding: 6px 10px; }
}

/* Menu aberto (mobile) */
#geo-srp-menu.geo-menu-open {
    display:        flex !important;
    flex-direction: column;
    align-items:    flex-start;
    position:       fixed;
    top:            52px;
    left:           0; right: 0;
    background:     var(--srp-verde-escuro);
    border-bottom:  2px solid var(--srp-amarelo);
    box-shadow:     0 16px 40px rgba(0,0,0,.4);
    z-index:        1000;
    max-height:     calc(100vh - 52px);
    overflow-y:     auto;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 16px;
}
#geo-srp-menu.geo-menu-open > li { width: 100%; }
#geo-srp-menu.geo-menu-open > li > a {
    height:        auto;
    padding:       13px 20px;
    border-bottom: 1px solid rgba(255,255,255,.08) !important;
    border-left:   none;
    width:         100%;
    box-sizing:    border-box;
}
#geo-srp-menu.geo-menu-open .geo-srp-dropdown {
    position:   static;
    opacity:    1;
    visibility: visible;
    transform:  none;
    box-shadow: none;
    border:     none;
    border-radius: 0;
    background: rgba(0,0,0,.2);
    min-width:  100%;
}
#geo-srp-menu.geo-menu-open .geo-srp-dropdown a {
    padding-left: 32px;
    border-left: none;
}
#geo-srp-menu.geo-menu-open .geo-srp-dropdown a:hover {
    padding-left: 36px;
}

/* ── Tela cheia ─────────────────────────────────────────────── */
html, body {
    margin:   0 !important;
    padding:  0 !important;
    overflow: hidden !important;
    height:   100% !important;
}

/* ── Wrapper: 100% da viewport ──────────────────────────────── */
#mapa-pinda-wrap {
    position:       fixed;
    inset:          0;
    z-index:        9990;
    display:        flex;
    flex-direction: column;
    width:          100%;
    height:         100%;
    overflow:       hidden;
    font-family:    'Segoe UI', Arial, sans-serif;
    background:     var(--srp-branco);
}

/* ══════════════════════════════════════════════════════════════
   CABEÇALHO — hierarquia visual e comportamento responsivo
══════════════════════════════════════════════════════════════ */
#mapa-pinda-header {
    display:        flex;
    align-items:    center;
    gap:            12px;
    background:     linear-gradient(135deg, var(--srp-verde-escuro) 0%, var(--srp-verde) 100%);
    color:          var(--srp-branco);
    padding:        8px 16px;
    flex-shrink:    0;
    z-index:        10;
    box-shadow:     0 2px 10px rgba(0,0,0,.3);
    overflow:       hidden;
    border-bottom:  2px solid rgba(255,255,255,.08);
    /* Colapsa altura + opacidade — sem deixar barra branca */
    max-height:     80px;
    transition:     max-height .3s ease, opacity .3s ease, padding .3s ease;
}

/* Estado oculto — colapsa completamente, mapa ocupa o espaço */
#mapa-pinda-header.srp-header-oculto {
    max-height:     0;
    padding-top:    0;
    padding-bottom: 0;
    opacity:        0;
    pointer-events: none;
    border-bottom:  none;
}

/* Botão flutuante para restaurar o cabeçalho — sempre acessível */
#btn-restaurar-header {
    position:        absolute;
    top:             6px;
    left:            50%;
    transform:       translateX(-50%);
    z-index:         1100;
    background:      linear-gradient(135deg, var(--srp-verde-escuro), var(--srp-verde));
    color:           var(--srp-branco);
    border:          none;
    border-radius:   20px;
    padding:         6px 16px;
    font-size:       13px;
    font-weight:     700;
    cursor:          pointer;
    display:         flex;
    align-items:     center;
    gap:             5px;
    box-shadow:      0 3px 12px rgba(0,0,0,.45);
    opacity:         0;
    pointer-events:  none;
    transition:      opacity .25s ease, transform .25s ease;
    white-space:     nowrap;
    letter-spacing:  .3px;
    /* Garante que nunca saia da tela */
    max-width:       calc(100vw - 32px);
}
#btn-restaurar-header.srp-btn-restaurar-visivel {
    opacity:        1;
    pointer-events: auto;
}
#btn-restaurar-header:active {
    transform: translateX(-50%) scale(.95);
}

/* Logo */
#srp-logo {
    height:      42px;
    width:       auto;
    object-fit:  contain;
    filter:      drop-shadow(0 1px 3px rgba(0,0,0,.4));
    flex-shrink: 0;
}

/* Hierarquia textual: título > subtítulo */
#srp-header-text {
    display:        flex;
    flex-direction: column;
    gap:            2px;
    min-width:      0;
}
#srp-header-text h1,
#srp-header-text h2 {
    margin:      0;
    font-size:   26px;
    font-weight: 800;
    color:       var(--srp-branco);
    line-height: 1.1;
    letter-spacing: -.4px;
    white-space: nowrap;
}
#srp-header-text p {
    margin:         0;
    font-size:      11px;
    font-weight:    400;
    opacity:        .75;
    color:          var(--srp-amarelo-cl);
    letter-spacing: .2px;
    white-space:    nowrap;
    overflow:       hidden;
    text-overflow:  ellipsis;
}

/* ── Botão admin ────────────────────────────────────────────── */
#btn-admin-mapa {
    background:      rgba(255,255,255,.12);
    border:          1px solid rgba(255,255,255,.25);
    color:           var(--srp-branco);
    border-radius:   50%;
    width:           34px;
    height:          34px;
    font-size:       18px;
    cursor:          pointer;
    transition:      background var(--srp-trans);
    display:         flex;
    align-items:     center;
    justify-content: center;
    line-height:     1;
    flex-shrink:     0;
}
#btn-admin-mapa:hover { background: rgba(255,255,255,.25); }

/* ── Grupo de botões no lado direito do header ─── */
#srp-header-btns {
    margin-left:  auto;
    display:      flex;
    align-items:  center;
    gap:          4px;
    flex-shrink:  0;
}

/* Botões do header — ícone SVG + label texto abaixo */
#srp-header-btns button {
    background:      rgba(255,255,255,.10);
    border:          1px solid rgba(255,255,255,.20);
    color:           var(--srp-branco);
    border-radius:   8px;
    padding:         6px 10px;
    cursor:          pointer;
    transition:      background var(--srp-trans), transform .12s;
    display:         flex;
    flex-direction:  column;
    align-items:     center;
    justify-content: center;
    gap:             3px;
    min-width:       54px;
    flex-shrink:     0;
    font-family:     inherit;
}
#srp-header-btns button svg     { flex-shrink: 0; }
#srp-header-btns button:hover   { background: rgba(255,255,255,.22); transform: translateY(-1px); }
#srp-header-btns button:active  { transform: translateY(0); }
#srp-header-btns button.ativo   { background: #1565c0; border-color: #1565c0; }
#srp-header-btns button:disabled{ opacity: .5; cursor: not-allowed; transform: none; }

/* Botão de localização pública — herda o estilo acima */
#btn-localizar-publico { /* sem sobrescrita — compartilha o estilo geral */ }
#btn-localizar-publico.ativo { background: #1565c0; border-color: #1565c0; }

/* ══════════════════════════════════════════════════════════════
   PAINEL ADMINISTRATIVO
══════════════════════════════════════════════════════════════ */
#painel-admin-srp {
    background:     var(--srp-verde-escuro);
    flex-shrink:    0;
    z-index:        10;
    box-shadow:     0 3px 8px rgba(0,0,0,.25);
    transition:     max-height .35s ease, opacity .35s ease;
    max-height:     600px;  /* generoso para wrap no mobile */
    overflow:       hidden;
    border-top:     1px solid rgba(255,255,255,.08);
}

/* Ocultar painel admin junto com o header (apenas quando não logado) */
#painel-admin-srp.srp-header-oculto {
    max-height:     0;
    opacity:        0;
    pointer-events: none;
    overflow:       hidden;
}

/* ── Linha do título (sempre visível) ── */
#painel-admin-header {
    display:        flex;
    flex-direction: column;
    gap:            0;
}

#srp-admin-titulo-row {
    display:        flex;
    align-items:    center;
    gap:            8px;
    padding:        7px 16px;
    border-bottom:  1px solid rgba(255,255,255,.10);
}

#srp-admin-titulo-label {
    font-size:      12px;
    font-weight:    700;
    color:          rgba(255,255,255,.6);
    letter-spacing: .8px;
    text-transform: uppercase;
    flex:           1;
}

#srp-dica-edicao {
    display:       none;
    background:    rgba(249,168,37,.92);
    color:         #1b5e20;
    font-size:     11px;
    font-weight:   700;
    padding:       3px 8px;
    border-radius: 4px;
    letter-spacing:.3px;
}
#srp-dica-edicao.visivel { display: inline-block; }

/* Toggle de recolher (visível apenas em mobile) */
#btn-toggle-admin-menu {
    display:         none;
    background:      rgba(255,255,255,.1);
    border:          1px solid rgba(255,255,255,.2);
    color:           rgba(255,255,255,.8);
    border-radius:   50%;
    width:           26px;
    height:          26px;
    font-size:       14px;
    cursor:          pointer;
    align-items:     center;
    justify-content: center;
    line-height:     1;
    flex-shrink:     0;
    transition:      transform .25s ease, background var(--srp-trans);
}
#btn-toggle-admin-menu:hover  { background: rgba(255,255,255,.2); }
#btn-toggle-admin-menu.aberto { transform: rotate(180deg); }

/* ── Grupos de ações ── */
#srp-admin-acoes {
    display:     flex;
    align-items: center;
    flex-wrap:   wrap;
    gap:         6px;
    padding:     8px 16px;
    transition:  max-height .3s ease, opacity .3s ease, padding .3s ease;
    max-height:  500px;
    overflow:    hidden;
}
#srp-admin-acoes.recolhido {
    max-height:     0;
    padding-top:    0;
    padding-bottom: 0;
    opacity:        0;
    pointer-events: none;
}

.srp-admin-grupo {
    display:     flex;
    align-items: center;
    gap:         6px;
    flex-wrap:   wrap;
}

/* Divisor vertical entre grupos */
.srp-admin-divisor {
    width:        1px;
    height:       24px;
    background:   rgba(255,255,255,.2);
    flex-shrink:  0;
    margin:       0 2px;
}

/* Botão Sair — destaque sutil */
.srp-btn-sair {
    opacity: .75;
}
.srp-btn-sair:hover { opacity: 1 !important; }

/* Medir ativo */
#btn-medir-admin.ativo,
#btn-medir-mapa.ativo {
    background:   var(--srp-amarelo) !important;
    color:        #1b5e20 !important;
    border-color: var(--srp-amarelo) !important;
    font-weight:  700;
}

/* ── Responsivo: mobile ── */
@media (max-width: 768px) {
    /* Mostrar botão de toggle */
    #btn-toggle-admin-menu { display: flex; }

    /* Título menor */
    #srp-admin-titulo-row  { padding: 6px 12px; }
    #srp-admin-titulo-label { font-size: 11px; }

    /* Ações em grid 2 colunas quando visível */
    #srp-admin-acoes {
        display:         grid;
        grid-template-columns: 1fr 1fr;
        padding:         10px 12px;
        gap:             8px;
    }
    #srp-admin-acoes.recolhido {
        display: grid; /* mantém grid, mas hidden via max-height */
    }
    /* Divisores somem no grid */
    .srp-admin-divisor { display: none; }
    /* Grupos somem, botões ficam direto no grid */
    .srp-admin-grupo {
        display:  contents; /* filhos participam do grid pai */
    }
    /* Novo Pin ocupa linha inteira (destaque) */
    #btn-novo-pin { grid-column: 1 / -1; }
}



/* Botão editar limites em modo ativo */
#btn-editar-limites.editando {
    background:  var(--srp-amarelo) !important;
    color:       #1b5e20 !important;
    border-color:var(--srp-amarelo) !important;
    animation:   srp-pulse 1.5s ease-in-out infinite;
}

@keyframes srp-pulse {
    0%,100% { box-shadow: 0 0 0 0 rgba(249,168,37,.5); }
    50%      { box-shadow: 0 0 0 6px rgba(249,168,37,.0); }
}

/* ── Container do mapa: preenche o restante ─────────────────── */
#mapa-pinda-container {
    position:   relative;
    flex:       1;
    width:      100%;
    min-height: 0;   /* crítico para flex */
}

#mapa-pinda {
    position:   absolute;
    inset:      0;
    width:      100%;
    height:     100%;
    z-index:    1;
    background: #e8f5e9;
}

/* ── Rodapé ─────────────────────────────────────────────────── */
#mapa-pinda-footer {
    display:         flex;
    align-items:     center;
    justify-content: space-between;
    background:      linear-gradient(135deg, var(--srp-verde-escuro), var(--srp-verde));
    color:           var(--srp-branco);
    padding:         6px 18px;
    font-size:       12px;
    flex-shrink:     0;
    z-index:         10;
    flex-wrap:       wrap;
    gap:             6px;
}

#mapa-pinda-footer span { opacity: .9; }

#srp-coords-display {
    font-family:   monospace;
    font-size:     11px;
    background:    rgba(255,255,255,.12);
    padding:       2px 8px;
    border-radius: 4px;
}

/* ═══════════════════════════════════════════════════════════════
   MODAIS
═══════════════════════════════════════════════════════════════ */
.srp-modal {
    display:         flex;
    align-items:     center;
    justify-content: center;
    position:        fixed;
    inset:           0;
    background:      rgba(0,0,0,.55);
    z-index:         99999;
    opacity:         0;
    pointer-events:  none;
    transition:      opacity var(--srp-trans);
}
.srp-modal.aberto { opacity: 1; pointer-events: auto; }

.srp-modal-box {
    background:     var(--srp-branco);
    border-radius:  var(--srp-radius);
    box-shadow:     var(--srp-sombra);
    padding:        30px 28px 24px;
    width:          min(380px, 94vw);
    position:       relative;
    display:        flex;
    flex-direction: column;
    gap:            12px;
    max-height:     90vh;
    overflow-y:     auto;
}
.srp-modal-large { width: min(620px, 96vw); }

.srp-modal-close {
    position:    absolute;
    top:         10px;
    right:       12px;
    background:  none;
    border:      none;
    font-size:   19px;
    cursor:      pointer;
    color:       var(--srp-cinza);
    line-height: 1;
}

.srp-modal-logo { height: 48px; display: block; margin: 0 auto 4px; object-fit: contain; }

.srp-modal-box h3 { text-align: center; margin: 0; font-size: 18px; color: var(--srp-verde-escuro); }

.srp-modal-box input[type="text"],
.srp-modal-box input[type="password"] {
    width:         100%;
    padding:       9px 12px;
    border:        1.5px solid #ccc;
    border-radius: 6px;
    font-size:     14px;
    box-sizing:    border-box;
    transition:    border-color var(--srp-trans);
}
.srp-modal-box input:focus { outline: none; border-color: var(--srp-verde); }

/* ── Botões ─────────────────────────────────────────────────── */
.srp-btn-primary {
    background:    var(--srp-verde);
    color:         #fff;
    border:        none;
    border-radius: 6px;
    padding:       8px 16px;
    font-size:     13px;
    font-weight:   600;
    cursor:        pointer;
    transition:    background var(--srp-trans);
    white-space:   nowrap;
}
.srp-btn-primary:hover { background: var(--srp-verde-claro); }

.srp-btn-secondary {
    background:    transparent;
    color:         var(--srp-branco);
    border:        1.5px solid rgba(255,255,255,.5);
    border-radius: 6px;
    padding:       7px 14px;
    font-size:     13px;
    font-weight:   600;
    cursor:        pointer;
    transition:    all var(--srp-trans);
    white-space:   nowrap;
}
.srp-btn-secondary:hover { background: rgba(255,255,255,.15); border-color: var(--srp-branco); }

/* Variante modal (fundo branco) */
.srp-modal .srp-btn-secondary { color: var(--srp-verde); border-color: var(--srp-verde); }
.srp-modal .srp-btn-secondary:hover { background: var(--srp-verde); color: #fff; }

.srp-alert { background: #fff3cd; border: 1px solid #ffc107; border-radius: 6px; padding: 8px 12px; font-size: 14px; color: #7a5a00; }
.srp-alert.erro { background: #fce4e4; border-color: #e53935; color: #b71c1c; }

/* ── Formulário de pin ──────────────────────────────────────── */
.srp-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.srp-form-group { display: flex; flex-direction: column; gap: 4px; }
.srp-form-group.full { grid-column: 1 / -1; }
.srp-form-group label { font-size: 13px; font-weight: 600; color: var(--srp-verde-escuro); }
.srp-form-group input,
.srp-form-group textarea { padding: 8px 10px; border: 1.5px solid #ddd; border-radius: 6px; font-size: 14px; font-family: inherit; transition: border-color var(--srp-trans); box-sizing: border-box; width: 100%; }
.srp-form-group input:focus,
.srp-form-group textarea:focus { outline: none; border-color: var(--srp-verde); }
.srp-form-group small { font-size: 12px; color: var(--srp-cinza); }
.srp-form-actions { display: flex; gap: 10px; justify-content: flex-end; padding-top: 4px; }

/* ── Upload de imagens ──────────────────────────────────────── */
.srp-upload-area { border: 2px dashed var(--srp-verde); border-radius: 8px; padding: 14px; text-align: center; cursor: pointer; transition: background var(--srp-trans); background: var(--srp-cinza-cl); }
.srp-upload-area:hover { background: #e8f5e9; }
.srp-upload-label { font-size: 14px; color: var(--srp-verde); cursor: pointer; font-weight: 600; }
.srp-img-grid { display: grid; grid-template-columns: repeat(auto-fill,minmax(80px,1fr)); gap: 8px; margin-top: 8px; }
.srp-img-thumb { position: relative; aspect-ratio: 1; overflow: hidden; border-radius: 6px; border: 1px solid #ddd; }
.srp-img-thumb img { width: 100%; height: 100%; object-fit: cover; }
.srp-img-thumb .srp-rem { position: absolute; top: 3px; right: 3px; background: rgba(0,0,0,.6); color: #fff; border: none; border-radius: 50%; width: 20px; height: 20px; font-size: 11px; cursor: pointer; display: flex; align-items: center; justify-content: center; line-height: 1; }

/* ═══════════════════════════════════════════════════════════════
   POPUP DO LEAFLET
═══════════════════════════════════════════════════════════════ */
.srp-popup { font-family: 'Segoe UI', Arial, sans-serif; min-width: 220px; max-width: 300px; }
.srp-popup-header { background: var(--srp-verde); color: #fff; padding: 8px 12px; border-radius: 6px 6px 0 0; margin: -13px -20px 0; }
.srp-popup-header h4 { margin: 0; font-size: 14px; font-weight: 700; }
.srp-popup-produto { font-size: 12px; opacity: .9; color: var(--srp-amarelo-cl); }
.srp-popup-body { padding: 10px 2px 4px; }
.srp-popup-info { font-size: 13px; color: #444; margin: 3px 0; }
.srp-popup-info strong { color: var(--srp-verde-escuro); }
.srp-popup-desc { font-size: 13px; color: #555; margin-top: 6px; line-height: 1.4; }
.srp-galeria { margin-top: 10px; position: relative; }
.srp-galeria-img { width: 100%; height: 150px; object-fit: cover; border-radius: 6px; display: none; }
.srp-galeria-img.ativo { display: block; }
.srp-galeria-nav { display: flex; justify-content: space-between; align-items: center; margin-top: 5px; }
.srp-galeria-btn { background: var(--srp-verde); color: #fff; border: none; border-radius: 4px; padding: 3px 10px; cursor: pointer; font-size: 16px; line-height: 1; }
.srp-galeria-counter { font-size: 12px; color: var(--srp-cinza); }
.srp-popup-admin-actions { display: flex; gap: 6px; margin-top: 10px; padding-top: 8px; border-top: 1px solid #eee; }
.srp-popup-admin-actions button { flex: 1; padding: 5px; font-size: 12px; border: none; border-radius: 5px; cursor: pointer; font-weight: 600; }
.srp-btn-editar  { background: var(--srp-verde); color: #fff; }
.srp-btn-deletar { background: #e53935; color: #fff; }

/* ── Ícone pin ──────────────────────────────────────────────── */
.srp-pin-icon { filter: drop-shadow(0 2px 4px rgba(0,0,0,.35)); }

/* ── Spinner ────────────────────────────────────────────────── */
.srp-loading { position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); z-index: 9999; }
.srp-spinner { width: 36px; height: 36px; border: 4px solid rgba(46,125,50,.2); border-top-color: var(--srp-verde); border-radius: 50%; animation: srp-spin .8s linear infinite; }
@keyframes srp-spin { to { transform: rotate(360deg); } }

/* ── Responsivo ─────────────────────────────────────────────── */
@media (max-width: 600px) {
    .srp-form-grid { grid-template-columns: 1fr; }
    .srp-form-group.full { grid-column: auto; }
    #srp-header-text h2 { font-size: 17px; }
    #srp-header-text p  { font-size: 11px; }
    #srp-logo           { height: 34px; }
    #painel-admin-header{ font-size: 12px; }
    .srp-btn-primary,
    .srp-btn-secondary  { font-size: 12px; padding: 6px 10px; }
}

/* ═══════════════════════════════════════════════════════════════
   LAYERS – Painel Flutuante
═══════════════════════════════════════════════════════════════ */

#painel-layers-srp {
    position:   absolute;
    top:        10px;
    right:      10px;
    width:      300px;
    max-height: calc(100% - 20px);
    background: #fff;
    border-radius: var(--srp-radius);
    box-shadow: var(--srp-sombra);
    z-index:    1001;
    display:    flex;
    flex-direction: column;
    overflow:   hidden;
    font-size:  13px;
}

.srp-painel-layers-header {
    display:      flex;
    align-items:  center;
    justify-content: space-between;
    background:   var(--srp-verde-escuro);
    color:        #fff;
    padding:      10px 14px;
    font-weight:  700;
    font-size:    14px;
    flex-shrink:  0;
}

.srp-painel-layers-header button {
    background: none;
    border:     none;
    color:      rgba(255,255,255,.8);
    font-size:  16px;
    cursor:     pointer;
    line-height: 1;
    padding:    2px 4px;
}
.srp-painel-layers-header button:hover { color: #fff; }

#lista-layers-srp {
    flex:       1;
    overflow-y: auto;
    padding:    6px 0;
}

/* ── Item de layer ──────────────────────────────────────────── */
.srp-layer-item {
    display:     flex;
    align-items: flex-start;
    gap:         10px;
    padding:     10px 14px;
    border-bottom: 1px solid #f0f0f0;
    transition:  background var(--srp-trans);
}
.srp-layer-item:last-child    { border-bottom: none; }
.srp-layer-item:hover         { background: var(--srp-cinza-cl); }

.srp-layer-cor-dot {
    width:        14px;
    height:       14px;
    border-radius: 50%;
    flex-shrink:  0;
    margin-top:   3px;
    border:       2px solid rgba(0,0,0,.15);
}

.srp-layer-info {
    flex:         1;
    min-width:    0;
}

.srp-layer-nome {
    font-weight: 600;
    color:       #222;
    font-size:   13px;
    word-break:  break-word;
    display:     flex;
    align-items: center;
    gap:         6px;
    flex-wrap:   wrap;
}

.srp-badge-principal {
    background:    var(--srp-verde);
    color:         #fff;
    font-size:     10px;
    font-weight:   700;
    padding:       1px 6px;
    border-radius: 10px;
    white-space:   nowrap;
}

.srp-layer-resp,
.srp-layer-ha {
    font-size:  12px;
    color:      var(--srp-cinza);
    margin-top: 2px;
}

.srp-layer-actions {
    display:    flex;
    gap:        4px;
    flex-shrink: 0;
    align-items: flex-start;
}

.srp-layer-actions button {
    background:    none;
    border:        1px solid #ddd;
    border-radius: 5px;
    width:         28px;
    height:        28px;
    cursor:        pointer;
    font-size:     13px;
    display:       flex;
    align-items:   center;
    justify-content: center;
    transition:    all var(--srp-trans);
    color:         #555;
    line-height:   1;
}
.srp-layer-actions button:hover           { background: #f5f5f5; border-color: #aaa; }
.srp-layer-btn-del:hover                  { background: #fce4e4 !important; border-color: #e53935 !important; color: #e53935 !important; }
.srp-layer-btn-vertices:hover             { background: #e8f5e9 !important; border-color: var(--srp-verde) !important; color: var(--srp-verde) !important; }

.srp-layer-empty {
    padding:   20px 14px;
    color:     var(--srp-cinza);
    font-size: 13px;
    text-align: center;
}

/* ── Estado de edição de vértices (dentro do painel) ─────────── */
.srp-vertex-edit-state {
    padding:    14px;
    display:    flex;
    flex-direction: column;
    gap:        10px;
}

.srp-vertex-edit-hint {
    background:    rgba(249,168,37,.15);
    border:        1px solid var(--srp-amarelo);
    border-radius: 6px;
    padding:       8px 10px;
    font-size:     12px;
    color:         #7a5a00;
    font-weight:   600;
}

.srp-vertex-edit-name {
    font-weight: 700;
    font-size:   14px;
    color:       var(--srp-verde-escuro);
}

.srp-vertex-edit-btns {
    display: flex;
    gap:     8px;
}

.srp-btn-primary-sm {
    background:    var(--srp-verde);
    color:         #fff;
    border:        none;
    border-radius: 5px;
    padding:       6px 14px;
    font-size:     13px;
    font-weight:   600;
    cursor:        pointer;
    flex:          1;
    transition:    background var(--srp-trans);
}
.srp-btn-primary-sm:hover { background: var(--srp-verde-claro); }

.srp-btn-secondary-sm {
    background:    transparent;
    color:         var(--srp-cinza);
    border:        1px solid #ddd;
    border-radius: 5px;
    padding:       6px 14px;
    font-size:     13px;
    font-weight:   600;
    cursor:        pointer;
    flex:          1;
    transition:    all var(--srp-trans);
}
.srp-btn-secondary-sm:hover { background: #f5f5f5; border-color: #aaa; }

/* ── Color picker inline ────────────────────────────────────── */
.srp-color-wrap {
    display:     flex;
    align-items: center;
    gap:         10px;
}

.srp-color-input {
    width:         40px;
    height:        36px;
    border:        1.5px solid #ddd;
    border-radius: 6px;
    cursor:        pointer;
    padding:       2px;
    background:    none;
    flex-shrink:   0;
}

.srp-color-label {
    font-size:   13px;
    color:       var(--srp-cinza);
    font-family: monospace;
}

/* ── Tooltip de layer no mapa ───────────────────────────────── */
.srp-layer-tooltip {
    background:    rgba(46,125,50,.9);
    border:        none;
    color:         #fff;
    font-size:     12px;
    font-weight:   600;
    padding:       4px 8px;
    border-radius: 4px;
    box-shadow:    none;
}
.srp-layer-tooltip::before { display: none; }

/* ── Dica de edicao (agora texto dinâmico) ─────────────────── */
#srp-dica-edicao {
    display:       none;
    background:    rgba(249,168,37,.92);
    color:         #1b5e20;
    font-size:     12px;
    font-weight:   600;
    padding:       4px 10px;
    border-radius: 4px;
}
#srp-dica-edicao.visivel { display: inline-block; }

/* ── Botão Novo Layer pulsando enquanto desenha ─────────────── */
#btn-novo-layer.desenhando {
    background:   var(--srp-amarelo) !important;
    color:        #1b5e20 !important;
    border-color: var(--srp-amarelo) !important;
    animation:    srp-pulse 1.5s ease-in-out infinite;
}

/* ── Popup imagem fix ───────────────────────────────────────── */
.srp-galeria-img {
    display:       none;
    width:         100%;
    height:        150px;
    object-fit:    cover;
    border-radius: 6px;
    margin-bottom: 4px;
}
.srp-galeria-img.ativo { display: block; }

/* responsivo */
@media (max-width: 600px) {
    #painel-layers-srp { width: calc(100% - 20px); }
}

/* ═══════════════════════════════════════════════════════════════
   FERRAMENTA DE MEDIÇÃO
═══════════════════════════════════════════════════════════════ */

/* Botão no header */
#btn-medir-mapa {
    background:      rgba(255,255,255,.12);
    border:          1px solid rgba(255,255,255,.25);
    color:           var(--srp-branco);
    border-radius:   50%;
    width:           34px;
    height:          34px;
    font-size:       16px;
    cursor:          pointer;
    transition:      background var(--srp-trans);
    display:         flex;
    align-items:     center;
    justify-content: center;
    line-height:     1;
    flex-shrink:     0;
}
#btn-medir-mapa:hover         { background: rgba(255,255,255,.25); }
#btn-medir-mapa.ativo         { background: var(--srp-amarelo); color: #1b5e20; border-color: var(--srp-amarelo); }

/* Painel flutuante de medição */
#painel-medicao-srp {
    position:        absolute;
    top:             10px;
    left:            10px;
    width:           260px;
    background:      #fff;
    border-radius:   var(--srp-radius);
    box-shadow:      var(--srp-sombra);
    z-index:         1001;
    display:         flex;
    flex-direction:  column;
    overflow:        hidden;
    font-size:       13px;
}

.srp-medicao-header {
    display:         flex;
    align-items:     center;
    justify-content: space-between;
    background:      var(--srp-verde-escuro);
    color:           #fff;
    padding:         10px 14px;
    font-weight:     700;
    font-size:       14px;
    flex-shrink:     0;
}
.srp-medicao-header button {
    background: none;
    border:     none;
    color:      rgba(255,255,255,.8);
    font-size:  16px;
    cursor:     pointer;
    line-height: 1;
    padding:    2px 4px;
}
.srp-medicao-header button:hover { color: #fff; }

.srp-medicao-body {
    padding: 12px 14px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

/* Botões de modo */
#srp-medicao-modos {
    display: flex;
    gap:     6px;
}
.srp-btn-modo {
    flex:          1;
    padding:       7px 6px;
    font-size:     12px;
    font-weight:   600;
    border:        1.5px solid #ddd;
    border-radius: 6px;
    background:    #f9f9f9;
    color:         #555;
    cursor:        pointer;
    transition:    all var(--srp-trans);
}
.srp-btn-modo:hover { border-color: var(--srp-verde); color: var(--srp-verde); }
.srp-btn-modo.ativo {
    background:   var(--srp-verde);
    color:        #fff;
    border-color: var(--srp-verde);
}

/* Instrução */
#srp-medicao-instrucao {
    font-size:   12px;
    color:       var(--srp-cinza);
    text-align:  center;
    padding:     4px 0;
    line-height: 1.4;
}

/* Resultados */
#srp-medicao-resultados {
    background:    var(--srp-cinza-cl);
    border-radius: 7px;
    padding:       10px 12px;
    display:       flex;
    flex-direction: column;
    gap:           8px;
}
.srp-res-label {
    font-size:   11px;
    font-weight: 600;
    color:       var(--srp-cinza);
    text-transform: uppercase;
    letter-spacing: .04em;
    margin-bottom: 2px;
}
.srp-res-valor {
    font-size:   22px;
    font-weight: 700;
    color:       var(--srp-verde-escuro);
    line-height: 1.1;
}
.srp-res-sub {
    display:     flex;
    gap:         10px;
    margin-top:  4px;
    flex-wrap:   wrap;
}
.srp-res-sub span {
    font-size:     12px;
    color:         var(--srp-cinza);
    background:    #fff;
    border-radius: 4px;
    padding:       2px 7px;
    border:        1px solid #e0e0e0;
}

/* Segmentos */
#srp-lista-segmentos {
    display:        flex;
    flex-direction: column;
    gap:            3px;
    max-height:     120px;
    overflow-y:     auto;
}
.srp-seg-item {
    display:         flex;
    justify-content: space-between;
    align-items:     center;
    font-size:       12px;
    padding:         3px 0;
    border-bottom:   1px solid #e8e8e8;
    color:           #444;
}
.srp-seg-item:last-child { border-bottom: none; }
.srp-seg-num  { font-weight: 600; color: var(--srp-verde-escuro); min-width: 22px; }
.srp-seg-dist { color: var(--srp-cinza); }

/* Ações */
.srp-medicao-acoes {
    display: flex;
    gap:     6px;
}
.srp-btn-medicao-sec {
    flex:          1;
    padding:       6px;
    font-size:     12px;
    font-weight:   600;
    border:        1px solid #ddd;
    border-radius: 6px;
    background:    #fff;
    color:         #555;
    cursor:        pointer;
    transition:    all var(--srp-trans);
}
.srp-btn-medicao-sec:hover { background: #f5f5f5; border-color: #aaa; }

/* Dica */
.srp-medicao-dica {
    font-size:  11px;
    color:      #bbb;
    text-align: center;
}

/* Cursor do mapa durante medição */
#mapa-pinda.modo-medicao { cursor: crosshair !important; }

/* Tooltip de medição no mapa */
.srp-medicao-tooltip {
    background:    rgba(30,30,30,.85);
    border:        none;
    color:         #fff;
    font-size:     12px;
    font-weight:   600;
    padding:       4px 9px;
    border-radius: 5px;
    box-shadow:    none;
    white-space:   nowrap;
}
.srp-medicao-tooltip::before { display: none; }

@media (max-width: 600px) {
    #painel-medicao-srp { width: calc(100% - 20px); }
    #btn-medir-mapa     { margin-left: auto; }
}

/* ═══════════════════════════════════════════════════════════════
   SELETOR DE CAMADAS BASE (Satélite / Vegetação)
═══════════════════════════════════════════════════════════════ */
#srp-basemap-selector {
    position:        absolute;
    bottom:          48px;
    left:            50%;
    transform:       translateX(-50%);
    z-index:         1000;
    display:         flex;
    gap:             6px;
    background:      rgba(255, 255, 255, 0.97);
    border:          1px solid rgba(0,0,0,.13);
    border-radius:   12px;
    padding:         7px 10px;
    box-shadow:      0 4px 18px rgba(0,0,0,.18);
    backdrop-filter: blur(6px);
    pointer-events:  all;
}

.srp-bm-btn {
    display:         flex;
    flex-direction:  column;
    align-items:     center;
    gap:             3px;
    background:      #f4f5f7;
    border:          1.5px solid transparent;
    border-radius:   9px;
    padding:         7px 14px 6px;
    cursor:          pointer;
    transition:      background .18s, border-color .18s, transform .12s, box-shadow .18s;
    min-width:       64px;
    font-family:     inherit;
}

.srp-bm-btn:hover {
    background:  #e8edf3;
    border-color:#a0b4c8;
    transform:   translateY(-2px);
    box-shadow:  0 3px 10px rgba(0,0,0,.12);
}

.srp-bm-btn.ativo {
    background:   #1e6e42;
    border-color: #155432;
    box-shadow:   0 3px 12px rgba(30,110,66,.35);
    transform:    translateY(-2px);
}

.srp-bm-icon {
    font-size: 20px;
    line-height: 1;
}

.srp-bm-label {
    font-size:   10.5px;
    font-weight: 600;
    letter-spacing: .3px;
    color:       #3a4a5a;
    white-space: nowrap;
}

.srp-bm-btn.ativo .srp-bm-label {
    color: #fff;
}

@media (max-width: 600px) {
    #srp-basemap-selector {
        bottom:  42px;
        padding: 5px 7px;
        gap:     4px;
    }
    .srp-bm-btn {
        min-width: 52px;
        padding:   5px 9px 5px;
    }
    .srp-bm-icon  { font-size: 17px; }
    .srp-bm-label { font-size: 9.5px; }
}

/* ═══════════════════════════════════════════════════════════════
   GEOLOCALIZAÇÃO & PIN NO MAPA
═══════════════════════════════════════════════════════════════ */

/* Cursor crosshair quando modo de inserção está ativo */
#mapa-pinda.srp-cursor-crosshair,
#mapa-pinda.srp-cursor-crosshair .leaflet-container {
    cursor: crosshair !important;
}

/* Botões de estado ativo no painel admin */
#btn-pin-no-mapa.ativo,
#btn-localizar-usuario.ativo {
    background:   #1e6e42;
    color:        #fff;
    border-color: #155432;
}

/* ── Marcador "Você está aqui" ── */
.srp-icone-usuario {
    position:   relative;
    background: transparent;
    border:     none;
}

.srp-pulse-dot {
    position:      absolute;
    top:           50%;
    left:          50%;
    transform:     translate(-50%, -50%);
    width:         14px;
    height:        14px;
    background:    #1565c0;
    border:        2.5px solid #fff;
    border-radius: 50%;
    box-shadow:    0 2px 6px rgba(21,101,192,.5);
    z-index:       2;
}

.srp-pulse-ring {
    position:      absolute;
    top:           50%;
    left:          50%;
    transform:     translate(-50%, -50%);
    width:         28px;
    height:        28px;
    border:        2px solid #1976d2;
    border-radius: 50%;
    opacity:       0;
    animation:     srp-pulse 1.8s ease-out infinite;
    z-index:       1;
}

@keyframes srp-pulse {
    0%   { transform: translate(-50%, -50%) scale(.4); opacity: .9; }
    100% { transform: translate(-50%, -50%) scale(1.8); opacity: 0; }
}

/* ── Popup da localização ── */
.srp-popup-localizacao {
    font-size:   13px;
    line-height: 1.5;
    min-width:   170px;
}

.srp-popup-localizacao strong {
    display:     block;
    margin-bottom: 2px;
    font-size:   14px;
}

.srp-btn-pin-aqui {
    margin-top:    8px;
    width:         100%;
    padding:       7px 0;
    font-size:     13px;
    border-radius: 7px;
    cursor:        pointer;
}

@media (max-width: 600px) {
    #btn-pin-no-mapa,
    #btn-localizar-usuario { font-size: 12px; padding: 5px 9px; }
}

/* ── Painel de medição compacto em mobile ── */
@media (max-width: 768px) {
    #painel-medicao-srp {
        width:      calc(100% - 16px);
        top:        auto;
        bottom:     60px;
        left:       8px;
        right:      8px;
        max-height: 52vh;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
    }
    .srp-medicao-body {
        padding: 8px 10px;
        gap:     7px;
    }
    .srp-btn-modo {
        font-size: 11px;
        padding:   6px 4px;
    }
    /* Resultados mais compactos */
    #srp-medicao-resultados {
        padding: 8px 10px;
    }
    .srp-res-valor { font-size: 18px; }
    .srp-res-label { font-size: 10px; }
    .srp-res-sub span { font-size: 11px; padding: 2px 5px; }
    /* Header logo e texto menores */
    #srp-logo           { height: 30px; }
    #srp-header-text h2 { font-size: 18px; }
    #srp-header-text p  { display: none; }
    /* Botões do header menores */
    #btn-localizar-publico,
    #btn-medir-mapa,
    #btn-admin-mapa {
        width:     30px;
        height:    30px;
        font-size: 15px;
    }
    #srp-header-btns { gap: 4px; }
}

/* iPhone 6 e telas muito pequenas (≤ 375px) */
@media (max-width: 375px) {
    #mapa-pinda-header {
        padding: 6px 10px;
        gap:     8px;
    }
    #srp-logo           { height: 26px; }
    #srp-header-text h2 { font-size: 16px; }
    #painel-medicao-srp {
        max-height: 48vh;
        bottom:     58px;
    }
    .srp-medicao-header { padding: 8px 12px; font-size: 13px; }
    .srp-btn-modo       { font-size: 10px; padding: 5px 3px; }
    .srp-res-valor      { font-size: 16px; }
    #srp-medicao-modos  { gap: 3px; }
    /* Basemap selector compacto */
    #srp-basemap-selector {
        padding: 4px 6px;
        gap:     3px;
        bottom:  38px;
    }
    .srp-bm-btn    { min-width: 46px; padding: 4px 6px; }
    .srp-bm-icon   { font-size: 15px; }
    .srp-bm-label  { font-size: 9px; }
    /* Footer compacto */
    #mapa-pinda-footer {
        padding:   4px 10px;
        font-size: 10px;
    }
    #srp-coords-display { font-size: 9px; }
}

/* ═══════════════════════════════════════════════════════════════
   GPS WALK — controles e status
═══════════════════════════════════════════════════════════════ */
#srp-gps-controles {
    display:        flex;
    flex-direction: column;
    gap:            6px;
    margin:         4px 0;
}

.srp-gps-status {
    font-size:     12px;
    text-align:    center;
    color:         #1565c0;
    background:    #e3f2fd;
    border:        1.5px solid #90caf9;
    border-radius: 7px;
    padding:       7px 10px;
    font-weight:   700;
    line-height:   1.4;
    transition:    border-color .4s;
}

.srp-gps-acoes {
    display:         flex;
    gap:             5px;
    justify-content: center;
    flex-wrap:       wrap;
}

/* Botão Iniciar GPS */
.srp-btn-gps-iniciar {
    padding:       10px 20px;
    border-radius: 8px;
    cursor:        pointer;
    border:        1.5px solid #1b5e20;
    background:    linear-gradient(135deg, #2e7d32, #1b5e20);
    color:         #fff;
    font-weight:   700;
    font-size:     14px;
    transition:    all .15s;
    min-height:    44px;
    flex:          1;
    box-shadow:    0 2px 8px rgba(27,94,32,.3);
}
.srp-btn-gps-iniciar:hover { background: linear-gradient(135deg,#1b5e20,#0a3d11); transform: translateY(-1px); }

/* Botão Ponto Manual */
.srp-btn-gps-ponto {
    padding:       10px 14px;
    border-radius: 8px;
    cursor:        pointer;
    border:        1.5px solid #0277bd;
    background:    linear-gradient(135deg, #0288d1, #01579b);
    color:         #fff;
    font-weight:   700;
    font-size:     13px;
    transition:    all .15s;
    min-height:    44px;
    flex:          1;
    box-shadow:    0 2px 8px rgba(1,87,155,.3);
}
.srp-btn-gps-ponto:hover    { background: linear-gradient(135deg,#01579b,#003c6e); transform: translateY(-1px); }
.srp-btn-gps-ponto:active   { transform: scale(.95); }
.srp-btn-gps-ponto:disabled { opacity: .5; cursor: not-allowed; }

/* Botão Finalizar GPS */
.srp-btn-gps-parar {
    padding:       10px 14px;
    border-radius: 8px;
    cursor:        pointer;
    border:        1.5px solid #b71c1c;
    background:    linear-gradient(135deg, #c62828, #b71c1c);
    color:         #fff;
    font-weight:   700;
    font-size:     13px;
    transition:    all .15s;
    min-height:    44px;
    flex:          1;
    box-shadow:    0 2px 8px rgba(183,28,28,.3);
}
.srp-btn-gps-parar:hover { background: linear-gradient(135deg,#b71c1c,#7f0000); transform: translateY(-1px); }

/* Toggle registro automático */
.srp-gps-auto-label {
    display:     flex;
    align-items: center;
    gap:         6px;
    font-size:   12px;
    color:       #555;
    cursor:      pointer;
    padding:     4px 6px;
    background:  #f5f5f5;
    border:      1px solid #e0e0e0;
    border-radius: 6px;
}
.srp-gps-auto-label input[type="checkbox"] {
    width:  15px;
    height: 15px;
    cursor: pointer;
    accent-color: #2e7d32;
}

/* ═══════════════════════════════════════════════════════════════
   LABELS DE SEGMENTO NO MAPA (distâncias nos lados do polígono)
═══════════════════════════════════════════════════════════════ */
.srp-seg-label {
    background:    rgba(30, 30, 30, 0.82) !important;
    border:        none !important;
    border-radius: 5px !important;
    color:         #ffffff !important;
    font-size:     12px !important;
    font-weight:   700 !important;
    padding:       3px 8px !important;
    white-space:   nowrap !important;
    box-shadow:    0 2px 6px rgba(0,0,0,.3) !important;
    pointer-events: none !important;
}
.srp-seg-label::before { display: none !important; }

/* ═══════════════════════════════════════════════════════════════
   CARD DE RESULTADO NO MAPA — DEPRECATED v2.3.0
   O card flutuante foi removido. Os estilos abaixo são mantidos
   por compatibilidade mas não são mais renderizados.
═══════════════════════════════════════════════════════════════ */
.srp-card-medicao-icon { display: none !important; }  /* segurança extra */
.srp-card-medicao { display: none !important; }

/* ═══════════════════════════════════════════════════════════════
   BÚSSOLA NORTE (leaflet control, top-right)
═══════════════════════════════════════════════════════════════ */
.srp-bussola {
    width:          44px;
    height:         44px;
    cursor:         pointer;
    border-radius:  50%;
    background:     transparent;
    border:         none;
    padding:        0;
    filter:         drop-shadow(0 1px 3px rgba(0,0,0,.30));
    transition:     filter .15s, transform .15s;
}
.srp-bussola:hover {
    filter:    drop-shadow(0 2px 7px rgba(0,0,0,.40));
    transform: scale(1.08);
}
.srp-bussola-svg    { display: block; }
.srp-bussola-agulha { transition: transform .35s cubic-bezier(.4,0,.2,1); }

/* ═══════════════════════════════════════════════════════════════
   ALÇA DE ARRASTO — medições salvas
═══════════════════════════════════════════════════════════════ */
.srp-drag-handle             { cursor: grab !important; }
.srp-drag-handle:active      { cursor: grabbing !important; }
.srp-drag-handle-inner {
    width:            28px;
    height:           28px;
    display:          flex;
    align-items:      center;
    justify-content:  center;
    transition:       transform .12s;
    filter:           drop-shadow(0 1px 4px rgba(0,0,0,.30));
}
.srp-drag-handle-inner:hover { transform: scale(1.18); }

/* ═══════════════════════════════════════════════════════════════
   BOTÃO "SALVAR NO MAPA" — destaque após finalizar medição
═══════════════════════════════════════════════════════════════ */
.srp-btn-medicao-finalizar {
    width:         100%;
    padding:       10px;
    font-size:     13px;
    font-weight:   700;
    border:        1.5px solid #1565c0;
    border-radius: 8px;
    background:    linear-gradient(135deg, #1976d2, #1565c0);
    color:         #fff;
    cursor:        pointer;
    transition:    all .18s;
    box-shadow:    0 3px 10px rgba(21,101,192,.3);
    margin-bottom: 4px;
}
.srp-btn-medicao-finalizar:hover {
    background: linear-gradient(135deg, #1565c0, #0d47a1);
    transform:  translateY(-1px);
    box-shadow: 0 5px 14px rgba(21,101,192,.4);
}

.srp-btn-medicao-salvar {
    width:         100%;
    padding:       10px;
    font-size:     13px;
    font-weight:   700;
    border:        1.5px solid #1b5e20;
    border-radius: 8px;
    background:    linear-gradient(135deg, #2e7d32, #1b5e20);
    color:         #fff;
    cursor:        pointer;
    transition:    all .18s;
    box-shadow:    0 3px 10px rgba(27,94,32,.3);
    margin-bottom: 4px;
}
.srp-btn-medicao-salvar:hover {
    background: linear-gradient(135deg, #1b5e20, #0a3d11);
    transform:  translateY(-1px);
    box-shadow: 0 5px 14px rgba(27,94,32,.4);
}

/* Botão Limpar em vermelho suave */
#btn-medicao-limpar {
    color:        #c62828 !important;
    border-color: #e57373 !important;
}
#btn-medicao-limpar:hover { background: #ffebee !important; border-color: #c62828 !important; }

/* Resultado de perímetro — estilo igual ao resultado de área */
#srp-resultado-perimetro .srp-res-label { color: #5d4037; }
#srp-val-perimetro,
.srp-res-valor-sm {
    font-size:   17px;
    font-weight: 700;
    color:       var(--srp-verde-escuro);
}

/* Resultado de elevação no painel */
#srp-resultado-elevacao .srp-res-label { color: #37474f; }
#srp-resultado-elevacao .srp-res-valor { color: #263238; }

/* Sub-unidade da distância */
#srp-val-distancia-alt {
    font-size: 11px;
    color:     var(--srp-cinza);
    margin-top: 2px;
}

/* ═══════════════════════════════════════════════════════════════
   BOTÃO DE MODO GPS — destaque igual aos outros modos
═══════════════════════════════════════════════════════════════ */
#btn-modo-gps { position: relative; }

/* ═══════════════════════════════════════════════════════════════
   MOBILE — ajustes do painel de medição e GPS
═══════════════════════════════════════════════════════════════ */
@media (max-width: 768px) {
    #painel-medicao-srp {
        width:      calc(100% - 16px);
        top:        auto;
        bottom:     56px;
        left:       8px;
        right:      8px;
        max-height: 50vh;
        overflow-y: auto;
    }

    .srp-gps-acoes { gap: 4px; }

    .srp-btn-gps-iniciar,
    .srp-btn-gps-ponto,
    .srp-btn-gps-parar {
        font-size:  12px;
        padding:    9px 10px;
        min-height: 42px;
    }

    .srp-seg-label { font-size: 11px !important; }

    #srp-medicao-modos { gap: 4px; }
    .srp-btn-modo {
        padding:   7px 6px;
        font-size: 11px;
    }
}

/* ═══════════════════════════════════════════════════════════════
   CORREÇÕES DE ACESSIBILIDADE — header / zoom / painel admin
═══════════════════════════════════════════════════════════════ */

/* Em desktop: header nunca se oculta */
@media (min-width: 769px) {
    #mapa-pinda-header.srp-header-oculto {
        max-height:     80px !important;
        padding-top:    8px !important;
        padding-bottom: 8px !important;
        opacity:        1 !important;
        pointer-events: auto !important;
        border-bottom:  2px solid rgba(255,255,255,.08) !important;
    }
    #btn-restaurar-header {
        display: none !important;
    }
    #painel-admin-srp.srp-header-oculto {
        max-height:     600px !important;
        opacity:        1 !important;
        pointer-events: auto !important;
    }
}

/* Zoom control: posicionado no canto inferior esquerdo via JS (bottomleft) */
.leaflet-bottom.leaflet-left .leaflet-control-zoom {
    margin-bottom: 56px !important;   /* acima do basemap selector */
    margin-left:   10px !important;
}

/* Em mobile: evita sobreposição com o basemap selector maior */
@media (max-width: 768px) {
    .leaflet-bottom.leaflet-left .leaflet-control-zoom {
        margin-bottom: 66px !important;
        margin-left:   8px !important;
    }

    /* Painel admin: quando logado, nunca ultrapassa a largura da tela */
    #painel-admin-srp {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    /* Botão restaurar: sempre visível sobre o mapa */
    #btn-restaurar-header {
        top:    8px;
        left:   50%;
        transform: translateX(-50%);
        font-size: 12px;
        padding:   5px 14px;
    }
}

/* ═══════════════════════════════════════════════════════════════
   BADGE DE ALTITUDE
   — exibido no canto inferior direito do mapa, atualiza no zoom
═══════════════════════════════════════════════════════════════ */

#srp-altitude-badge {
    position:        absolute;
    bottom:          36px;      /* acima do footer/attribution */
    right:           10px;
    z-index:         800;

    display:         flex;
    align-items:     center;
    gap:             4px;

    background:      rgba(20, 20, 20, 0.78);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    color:           #e8f5e9;
    border-radius:   8px;
    padding:         5px 10px;
    font-family:     'Segoe UI', Arial, sans-serif;
    font-size:       12px;
    font-weight:     600;
    white-space:     nowrap;
    box-shadow:      0 2px 8px rgba(0,0,0,.35);
    border:          1px solid rgba(255,255,255,.12);
    pointer-events:  none;
    user-select:     none;

    transition:      opacity .3s ease;
}

.srp-alt-icon {
    font-size:   13px;
    line-height: 1;
    opacity:     .85;
}

.srp-alt-label {
    color:       rgba(200,230,200,.6);
    font-size:   10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .04em;
    margin-right: 1px;
}

#srp-altitude-valor {
    color:       #a5d6a7;
    font-weight: 800;
    font-size:   13px;
    min-width:   32px;
    text-align:  right;
    font-variant-numeric: tabular-nums;
}

.srp-alt-unidade {
    color:       rgba(200,230,200,.65);
    font-size:   11px;
    font-weight: 500;
}

/* Pulso sutil enquanto carrega */
#srp-altitude-badge.srp-alt-carregando #srp-altitude-valor {
    animation: srp-alt-pulse .9s ease-in-out infinite alternate;
}

@keyframes srp-alt-pulse {
    from { opacity: 1; }
    to   { opacity: .35; }
}

/* ─ Mobile: sobe um pouco para não colidir com atribuição ─ */
@media (max-width: 768px) {
    #srp-altitude-badge {
        bottom:    44px;
        right:      8px;
        font-size: 11px;
        padding:    4px 8px;
    }
    #srp-altitude-valor { font-size: 12px; }
}
/* srp-card-medicao removido em v2.3.0 — redundante com painel lateral */

/* ═══════════════════════════════════════════════════════════════
   MODAL DE BACKUP — abas + tabela de auto-saves
═══════════════════════════════════════════════════════════════ */

.srp-modal-backup-box {
    max-width:  560px;
    width:      96%;
}

/* ── Abas ── */
.srp-backup-tabs {
    display:       flex;
    gap:           6px;
    margin-bottom: 14px;
    border-bottom: 2px solid #e0e0e0;
    padding-bottom: 0;
}

.srp-backup-tab {
    background:    transparent;
    border:        none;
    border-bottom: 3px solid transparent;
    padding:       8px 14px;
    margin-bottom: -2px;
    font-size:     13px;
    font-weight:   600;
    color:         #666;
    cursor:        pointer;
    border-radius: 4px 4px 0 0;
    transition:    color .15s, border-color .15s;
}

.srp-backup-tab:hover  { color: #2e7d32; }
.srp-backup-tab.ativo  {
    color:        #2e7d32;
    border-bottom-color: #2e7d32;
    background:   #f1f8e9;
}

/* ── Painel de aba ── */
.srp-backup-tabpanel {
    animation: srp-fadein .18s ease;
}

@keyframes srp-fadein {
    from { opacity: 0; transform: translateY(4px); }
    to   { opacity: 1; transform: translateY(0); }
}

.srp-backup-desc {
    font-size:    13px;
    color:        #555;
    margin:       0 0 12px;
    line-height:  1.5;
}
.srp-backup-desc code {
    background:   #f5f5f5;
    border:       1px solid #ddd;
    padding:      1px 5px;
    border-radius: 3px;
    font-size:    12px;
}

/* ── Tabela de auto-saves ── */
.srp-autosave-table {
    width:           100%;
    border-collapse: collapse;
    font-size:       13px;
    margin-bottom:   8px;
}

.srp-autosave-table thead th {
    background:   #f5f5f5;
    border-bottom: 2px solid #ddd;
    padding:       6px 10px;
    text-align:    left;
    font-weight:   700;
    color:         #444;
}

.srp-autosave-table thead th:first-child {
    width: 32px;
}

.srp-autosave-row {
    cursor:     pointer;
    transition: background .12s;
}
.srp-autosave-row:hover       { background: #f9fbe7; }
.srp-autosave-row.selecionado { background: #e8f5e9; }

.srp-autosave-row td {
    padding:       7px 10px;
    border-bottom: 1px solid #eee;
}

.srp-as-data { font-family: monospace; font-size: 12px; }
.srp-as-size { color: #888; font-size: 12px; text-align: right; }

#srp-autosave-lista-wrap {
    max-height:   260px;
    overflow-y:   auto;
    border:       1px solid #e0e0e0;
    border-radius: 6px;
    background:   #fff;
}

/* Mobile: compacta a tabela */
@media (max-width: 480px) {
    .srp-backup-tab    { font-size: 11px; padding: 7px 10px; }
    .srp-as-data       { font-size: 11px; }
}

/* ═══════════════════════════════════════════════════════════════
   BÚSSOLA NORTE (Leaflet control, top-right)
═══════════════════════════════════════════════════════════════ */
.srp-bussola {
    width:           44px;
    height:          44px;
    cursor:          pointer;
    user-select:     none;
    border-radius:   50%;
    box-shadow:      0 2px 8px rgba(0,0,0,.40);
    transition:      transform .15s, box-shadow .15s;
}
.srp-bussola:hover {
    transform:   scale(1.08);
    box-shadow:  0 4px 14px rgba(0,0,0,.50);
}
.srp-bussola-svg {
    display: block;
    width:   100%;
    height:  100%;
}
.srp-bussola-agulha {
    transform-origin: 22px 22px;
    transition:       transform .25s ease;
}

/* Cursor especial durante arraste de área salva */
.srp-cursor-grabbing,
.srp-cursor-grabbing .leaflet-container { cursor: grabbing !important; }

/* ─ Responsivo mobile ─ */
@media (max-width: 768px) {
    .srp-bussola { width: 38px; height: 38px; }
}
@media (max-width: 375px) {
    .srp-bussola { width: 34px; height: 34px; }
}

/* ═══════════════════════════════════════════════════════════════
   BOTÃO DE EDIÇÃO DE VÉRTICES DE MEDIÇÃO SALVA
═══════════════════════════════════════════════════════════════ */
.srp-drag-handle-edit-btn {
    position:        absolute;
    top:             -10px;
    right:           -10px;
    width:           20px;
    height:          20px;
    border-radius:   50%;
    background:      #1565c0;
    border:          1.5px solid #fff;
    color:           #fff;
    font-size:       11px;
    line-height:     1;
    cursor:          pointer;
    display:         flex;
    align-items:     center;
    justify-content: center;
    box-shadow:      0 1px 4px rgba(0,0,0,.4);
    transition:      background .15s;
    z-index:         10;
}
.srp-drag-handle-edit-btn:hover { background: #0d47a1; }

/* Vértice editável de medição salva */
.srp-vertex-saved {
    width:        12px;
    height:       12px;
    border-radius: 50%;
    background:   #fff;
    border:       2px solid #1565c0;
    cursor:       move;
    box-shadow:   0 1px 4px rgba(0,0,0,.35);
    transition:   transform .12s;
}
.srp-vertex-saved:hover { transform: scale(1.4); background: #bbdefb; }

/* ═══════════════════════════════════════════════════════════════
   "COMO CHEGAR" — links no popup de pin
═══════════════════════════════════════════════════════════════ */
.srp-como-chegar {
    margin-top:     8px;
    padding-top:    8px;
    border-top:     1px solid #e0e0e0;
    display:        flex;
    gap:            6px;
    flex-wrap:      wrap;
}
.srp-chegar-btn {
    display:         inline-flex;
    align-items:     center;
    gap:             4px;
    padding:         5px 10px;
    border-radius:   6px;
    font-size:       12px;
    font-weight:     600;
    text-decoration: none;
    border:          1.5px solid transparent;
    transition:      all .15s;
    white-space:     nowrap;
}
.srp-chegar-gmaps  { background: #e8f5e9; color: #1b5e20; border-color: #a5d6a7; }
.srp-chegar-gmaps:hover  { background: #c8e6c9; }
.srp-chegar-waze   { background: #e3f2fd; color: #0d47a1; border-color: #90caf9; }
.srp-chegar-waze:hover   { background: #bbdefb; }
.srp-chegar-wpp    { background: #e8f5e9; color: #1b5e20; border-color: #81c784; }
.srp-chegar-wpp:hover    { background: #c8e6c9; }

/* Elevação em tempo real no rodapé */
#srp-footer-elevacao {
    font-family:   monospace;
    font-size:     11px;
    background:    rgba(255,255,255,.12);
    padding:       2px 8px;
    border-radius: 4px;
    white-space:   nowrap;
}

/* ── Inputs de "Como Chegar" no formulário de pin ─ */
.srp-chegar-inputs {
    display:        flex;
    flex-direction: column;
    gap:            7px;
    margin-bottom:  4px;
}
.srp-chegar-input-row {
    display:     flex;
    align-items: center;
    gap:         8px;
}
.srp-chegar-icone {
    font-size:   18px;
    flex-shrink: 0;
    width:       24px;
    text-align:  center;
}
.srp-chegar-input-row input[type="url"] {
    flex:         1;
    padding:      8px 10px;
    border:       1px solid #ccc;
    border-radius:6px;
    font-size:    13px;
    font-family:  inherit;
}
.srp-chegar-input-row input[type="url"]:focus {
    outline:      none;
    border-color: var(--srp-verde);
    box-shadow:   0 0 0 2px rgba(46,125,50,.15);
}

/* Botão de edição ativo (modo edição de vértices ligado) */
.srp-drag-handle-edit-ativo {
    background:   #1565c0 !important;
    border-color: #0d47a1 !important;
    color:        #fff !important;
    font-size:    10px !important;
}

/* ═══════════════════════════════════════════════════════════════
   v3.0.0 — OVERLAY SELECTOR (hillshade / isolinhas)
═══════════════════════════════════════════════════════════════ */
#srp-overlay-selector {
    position:        absolute;
    bottom:          100px;
    right:           10px;
    z-index:         900;
    display:         flex;
    flex-direction:  column;
    gap:             5px;
}
.srp-ov-btn {
    display:         flex;
    align-items:     center;
    gap:             5px;
    padding:         6px 10px;
    border-radius:   8px;
    border:          1px solid #ccc;
    background:      rgba(255,255,255,.92);
    cursor:          pointer;
    font-size:       12px;
    font-weight:     600;
    box-shadow:      0 1px 5px rgba(0,0,0,.2);
    transition:      background .15s, border-color .15s;
    white-space:     nowrap;
}
.srp-ov-btn:hover  { background: #f0f7f0; }
.srp-ov-btn.ativo  { background: #e8f5e9; border-color: #2e7d32; color: #1b5e20; }
.srp-ov-icon       { font-size: 14px; }
.srp-ov-label      { font-size: 11px; }

/* ═══════════════════════════════════════════════════════════════
   v3.0.0 — PAINEL PERFIL DE ELEVAÇÃO
═══════════════════════════════════════════════════════════════ */
#painel-perfil-elevacao {
    position:        absolute;
    bottom:          50px;
    left:            10px;
    width:           380px;
    max-width:       calc(100vw - 20px);
    background:      rgba(255,255,255,.97);
    border-radius:   10px;
    box-shadow:      var(--srp-sombra);
    z-index:         950;
    overflow:        hidden;
    border:          1px solid rgba(46,125,50,.2);
}
.srp-perfil-header {
    display:         flex;
    align-items:     center;
    justify-content: space-between;
    padding:         8px 12px;
    background:      linear-gradient(135deg, var(--srp-verde-escuro), var(--srp-verde));
    color:           #fff;
    font-weight:     700;
    font-size:       13px;
}
.srp-perfil-header button {
    background:   none;
    border:       none;
    color:        rgba(255,255,255,.8);
    cursor:       pointer;
    font-size:    14px;
    padding:      2px 6px;
    border-radius:4px;
    transition:   background .15s;
}
.srp-perfil-header button:hover { background: rgba(255,255,255,.15); }

.srp-perfil-body  { padding: 10px; }

#srp-perfil-status {
    text-align:    center;
    color:         #666;
    font-size:     12px;
    padding:       12px;
}

.srp-perfil-inner { width: 100%; }

.srp-perfil-stats {
    display:         flex;
    justify-content: space-around;
    margin-top:      6px;
    padding:         5px 4px;
    background:      #f5f5f5;
    border-radius:   6px;
    font-size:       11px;
    font-weight:     700;
    color:           #444;
    gap:             4px;
}
.srp-perfil-stats span {
    background:    white;
    padding:       3px 7px;
    border-radius: 5px;
    box-shadow:    0 1px 3px rgba(0,0,0,.08);
}

/* Botão de perfil de elevação no painel de medição */
.srp-btn-medicao-perfil {
    width:           100%;
    padding:         7px 10px;
    border-radius:   7px;
    border:          1px solid #1565c0;
    background:      #e3f2fd;
    color:           #0d47a1;
    font-weight:     700;
    font-size:       12px;
    cursor:          pointer;
    margin-top:      4px;
    transition:      background .15s;
    text-align:      center;
}
.srp-btn-medicao-perfil:hover { background: #bbdefb; }

/* ═══════════════════════════════════════════════════════════════
   v3.0.0 — EXPORT GEOJSON POR CAMADA
═══════════════════════════════════════════════════════════════ */
.srp-layer-btn-geojson {
    padding:      4px 7px;
    border-radius:5px;
    border:       1px solid #1565c0;
    background:   #e3f2fd;
    color:        #0d47a1;
    font-size:    13px;
    cursor:       pointer;
    transition:   background .15s;
    line-height:  1;
}
.srp-layer-btn-geojson:hover:not(:disabled) { background: #bbdefb; }
.srp-layer-btn-geojson:disabled { opacity: .5; cursor: wait; }

/* ═══════════════════════════════════════════════════════════════
   v3.0.0 — BASEMAP SELECTOR EXTRA ITEMS (mais largo)
═══════════════════════════════════════════════════════════════ */
#srp-basemap-selector {
    gap: 4px;
    flex-wrap: wrap;
}
#srp-basemap-selector .srp-bm-btn {
    min-width: 62px;
}

/* Responsivo: oculta overlay selector em tela muito pequena */
@media (max-width: 480px) {
    #srp-overlay-selector { bottom: 80px; right: 6px; }
    .srp-ov-label          { display: none; }
    .srp-ov-btn            { padding: 6px 8px; }
    #painel-perfil-elevacao{ width: calc(100vw - 12px); left: 6px; bottom: 40px; }
}

/* ══════════════════════════════════════════════════════════════
   v4.0 — MALHA DE ELEVAÇÃO (modo área de medição)
══════════════════════════════════════════════════════════════ */

.srp-malha-tooltip {
    background: rgba(20,20,20,.85) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 5px !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    padding: 4px 8px !important;
    white-space: nowrap;
    box-shadow: 0 2px 8px rgba(0,0,0,.3);
}
.srp-malha-tooltip::before { display: none !important; }
.srp-malha-tip-val { font-size: 12px; }

.srp-malha-legenda-titulo {
    font-size: 11px;
    font-weight: 700;
    color: #2e7d32;
    margin-bottom: 4px;
    text-align: center;
    letter-spacing: .2px;
}

/* ══════════════════════════════════════════════════════════════
   v4.3 — DECLIVIDADE MÉDIA + HISTOGRAMA DE ALTITUDE
══════════════════════════════════════════════════════════════ */

.srp-bloco-extra {
    margin: 8px 0 2px;
    padding: 8px 10px;
    background: #f8fdf8;
    border: 1px solid #c8e6c9;
    border-radius: 7px;
}

/* — Declividade — */
.srp-declividade-val {
    color: #1565c0 !important;
    font-size: 20px !important;
}
.srp-declividade-classe {
    display: inline-block;
    margin-top: 3px;
    padding: 2px 8px;
    background: #e3f2fd;
    color: #0d47a1;
    border-radius: 10px;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .3px;
}
.srp-declividade-nota {
    font-size: 9px;
    color: #9e9e9e;
    margin-top: 3px;
}

/* — Histograma — */
.srp-histograma-svg {
    margin: 6px 0 2px;
    border-radius: 4px;
    overflow: hidden;
    background: #fff;
    border: 1px solid #e8f5e9;
}
.srp-histograma-nota {
    font-size: 9px;
    color: #9e9e9e;
    text-align: right;
    margin-top: 2px;
}

/* ══════════════════════════════════════════════════════════════
   v4.0 — BOTÃO 3D NO HEADER
══════════════════════════════════════════════════════════════ */

#btn-3d-mapa {
    background: linear-gradient(135deg, #1a237e, #283593);
    color: #fff;
    border: none;
    transition: background .2s, transform .15s;
}
#btn-3d-mapa:hover,
#btn-3d-mapa.ativo {
    background: linear-gradient(135deg, #0d47a1, #1565c0);
    transform: scale(1.05);
}
#btn-3d-mapa.ativo {
    box-shadow: 0 0 0 2px #90caf9 inset;
}


