    :root{
      --bg:#ffffff;
      --ink:#16202a;
      --muted:#5b6672;
      --line:#e7edf2;
      --card:#ffffff;
      --shadow: 0 10px 30px rgba(16,24,40,.08);
      --g:#0F9D58;
      --g2:#0b7f46;
      --gl:#E8F5E9;
      --warn:#ffb020;
      --radius:18px;
      --radius2:26px;
      --max: 1120px;
      --font: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji";
    }
    *{box-sizing:border-box}
    body{
      margin:0; font-family:var(--font); color:var(--ink); background:
        radial-gradient(900px 400px at 80% -60px, rgba(15,157,88,.14), transparent 60%),
        radial-gradient(700px 380px at 10% 140px, rgba(15,157,88,.10), transparent 60%),
        var(--bg);
    }
    a{color:inherit; text-decoration:none}
    .container{max-width:var(--max); margin:0 auto; padding:0 18px}
    .topbar{
      position:sticky; top:0; z-index:50;
      background: rgba(255,255,255,.86);
      backdrop-filter: blur(14px);
      border-bottom:1px solid var(--line);
    }
    .topbar .container{
      max-width:1680px;
      padding:0 28px;
    }
    .nav{
      display:grid;
      grid-template-columns:max-content minmax(0,1fr) max-content;
      align-items:center;
      gap:14px;
      padding:14px 0;
      width:100%;
    }
    .brandWrap{
      display:flex; align-items:center; gap:12px; flex:0 0 auto;
    }
    .partnerBrand{
      display:flex; align-items:center; gap:8px;
      font-weight:1000; font-size:28px; line-height:1;
      color:#08566f;
    }
    .partnerName{
      letter-spacing:-.6px;
    }
    .brandDivider{
      width:1px; height:58px; background:var(--line);
    }
    .brand{display:flex; align-items:center; gap:10px; font-weight:800; letter-spacing:.3px; flex:0 0 auto}
    .logo{
      width:38px; height:38px; border-radius:12px;
      background: linear-gradient(135deg, var(--g), #2bd47f);
      box-shadow: 0 12px 24px rgba(15,157,88,.25);
      display:grid; place-items:center; color:white; font-weight:900;
    }
    .menu{
      display:flex;
      align-items:center;
      justify-content:flex-start;
      gap:6px;
      flex-wrap:nowrap;
      min-width:0;
      margin:0;
      padding-left:6px;
    }
    .menu a{
      padding:8px 10px; border-radius:12px; color:var(--muted);
      font-weight:600; font-size:13px;
      white-space:nowrap;
    }
    .menu a.active{color:var(--ink); background: #f3f6f8}
    .menuDropdown{
      position:relative;
      display:inline-flex;
      align-items:center;
    }
    .menuDropToggle{
      padding:8px 10px;
      border-radius:12px;
      color:var(--muted);
      font-weight:600;
      font-size:13px;
      white-space:nowrap;
      display:inline-flex;
      align-items:center;
      gap:6px;
    }
    .menuDropToggle::after{
      content:"▾";
      font-size:11px;
      opacity:.72;
    }
    .menuDropPanel{
      position:absolute;
      top:calc(100% + 8px);
      left:0;
      min-width:190px;
      background:#fff;
      border:1px solid var(--line);
      border-radius:14px;
      box-shadow:0 12px 26px rgba(16,24,40,.10);
      padding:8px;
      display:none;
      z-index:80;
    }
    .menuDropPanel a{
      display:block;
      padding:9px 10px;
      border-radius:10px;
      color:var(--ink);
      font-size:13px;
      font-weight:700;
    }
    .menuDropPanel a:hover{
      background:#f3f6f8;
    }
    .menuDropdown:hover .menuDropPanel,
    .menuDropdown:focus-within .menuDropPanel{
      display:block;
    }
    .actions{display:flex; gap:10px; align-items:center; flex:0 0 auto; justify-self:end}
    .btn{
      border:1px solid var(--line); background:#fff; color:var(--ink);
      padding:10px 14px; border-radius:14px; font-weight:700; font-size:14px;
      box-shadow: 0 6px 18px rgba(16,24,40,.05);
      cursor:pointer; display:inline-flex; gap:8px; align-items:center;
    }
    .btn.primary{
      border-color: transparent;
      background: linear-gradient(135deg, var(--g), var(--g2));
      color:white;
      box-shadow: 0 14px 30px rgba(15,157,88,.28);
    }
    .btn.ghost{background:transparent; box-shadow:none}
    .btn:active{transform: translateY(1px)}
    .hamb{display:none}
    @media (max-width: 1260px){
      .partnerBrand{display:none}
      .brandDivider{display:none}
      .topbar .container{padding:0 18px}
    }
    @media (max-width: 860px){
      .menu{display:none}
      .hamb{display:inline-flex}
    }

    /* Pages */
    main{padding:22px 0 40px}
    .page{display:none}
    .page.active{display:block}
    .hero{
      display:grid; grid-template-columns: 1.1fr .9fr; gap:18px;
      align-items:stretch;
      padding:22px; border-radius: var(--radius2);
      background: linear-gradient(180deg, rgba(15,157,88,.10), rgba(255,255,255,1) 60%);
      border:1px solid var(--line);
      box-shadow: var(--shadow);
    }
    @media (max-width: 920px){
      .hero{grid-template-columns:1fr; padding:18px}
    }
    .kicker{
      display:inline-flex; gap:10px; align-items:center;
      padding:8px 12px; border-radius:999px;
      background: rgba(15,157,88,.10);
      color: var(--g2); font-weight:800; font-size:13px;
      border: 1px solid rgba(15,157,88,.18);
      width:fit-content;
    }
    h1{margin:12px 0 8px; font-size:44px; line-height:1.08; letter-spacing:-.8px}
    @media (max-width: 520px){h1{font-size:34px}}
    .lead{color:var(--muted); font-size:16.5px; line-height:1.5; max-width: 56ch}
    .hero .ctaRow{display:flex; gap:10px; margin-top:14px; flex-wrap:wrap}
    .grid{
      display:grid; gap:14px;
      grid-template-columns: repeat(4, 1fr);
      margin-top:16px;
    }
    .grid3{
      display:grid; gap:14px;
      grid-template-columns: repeat(3, 1fr);
    }
    @media (max-width: 980px){.grid{grid-template-columns: repeat(2, 1fr)}}
    @media (max-width: 980px){.grid3{grid-template-columns: repeat(2, 1fr)}}
    @media (max-width: 520px){.grid{grid-template-columns: 1fr}}
    @media (max-width: 520px){.grid3{grid-template-columns: 1fr}}
    .card{
      background: var(--card);
      border:1px solid var(--line);
      border-radius: var(--radius);
      padding:16px;
      box-shadow: 0 10px 28px rgba(16,24,40,.06);
    }
    .card h3{margin:8px 0 6px; font-size:16px}
    .card p{margin:0; color:var(--muted); font-size:13.5px; line-height:1.45}
    .icon{
      width:42px; height:42px; border-radius:14px;
      display:grid; place-items:center; font-weight:900;
      background: rgba(15,157,88,.10);
      border: 1px solid rgba(15,157,88,.16);
      color: var(--g2);
    }
    .section{margin-top:18px}
    .sectionHeader{
      display:flex; align-items:flex-end; justify-content:space-between; gap:14px; flex-wrap:wrap;
      margin: 18px 2px 10px;
    }
    .sectionHeader h2{margin:0; font-size:22px; letter-spacing:-.3px}
    .sectionHeader .hint{color:var(--muted); font-size:13.5px}

    /* Simulator */
    .sim{
      border-radius: var(--radius2);
      background: #fff;
      border: 1px solid var(--line);
      box-shadow: 0 18px 44px rgba(16,24,40,.10);
      overflow:hidden;
      display:flex; flex-direction:column;
    }
    .simTop{
      padding:14px 16px;
      background: linear-gradient(135deg, rgba(15,157,88,.14), rgba(15,157,88,.06));
      border-bottom:1px solid var(--line);
      display:flex; align-items:center; justify-content:space-between; gap:10px;
    }
    .badge{
      padding:6px 10px; border-radius:999px;
      background: rgba(255,255,255,.8);
      border: 1px solid rgba(15,157,88,.18);
      color: var(--g2); font-weight:900; font-size:12px;
    }
    .simBody{padding:14px 16px; display:grid; gap:12px}
    .row{display:grid; grid-template-columns: 1fr 1fr; gap:10px}
    @media (max-width: 420px){.row{grid-template-columns:1fr}}
    label{font-size:12px; color:var(--muted); font-weight:800}
    input, select{
      width:100%;
      padding:10px 12px;
      border-radius:14px;
      border:1px solid var(--line);
      background:#fff;
      outline:none;
      font-weight:700;
      color:var(--ink);
    }
    input:focus, select:focus{border-color: rgba(15,157,88,.45); box-shadow: 0 0 0 4px rgba(15,157,88,.10)}
    .result{
      border-top:1px solid var(--line);
      padding:12px 16px;
      display:flex; align-items:center; justify-content:space-between; gap:10px; flex-wrap:wrap;
      background: #fbfcfd;
    }
    .result .big{font-size:22px; font-weight:1000; letter-spacing:-.3px}
    .result .sub{color:var(--muted); font-size:12.8px}
    .pillRow{display:flex; gap:8px; flex-wrap:wrap; margin-top:6px}
    .pill{
      font-size:12px; font-weight:800; color:#0b7f46;
      background: rgba(15,157,88,.10);
      border:1px solid rgba(15,157,88,.16);
      padding:6px 10px; border-radius:999px;
    }
    .note{color:var(--muted); font-size:12.5px; line-height:1.45}

    /* Benefits band */
    .band{
      margin-top:14px;
      background: linear-gradient(135deg, rgba(15,157,88,.14), rgba(255,255,255,.92));
      border:1px solid rgba(15,157,88,.18);
      border-radius: var(--radius2);
      padding:16px;
      display:grid;
      grid-template-columns: 1fr 1.2fr;
      gap:12px;
      box-shadow: 0 16px 40px rgba(16,24,40,.08);
    }
    @media (max-width: 900px){.band{grid-template-columns:1fr}}
    .band h3{margin:0 0 6px; font-size:18px}
    .band p{margin:0; color:var(--muted); font-size:13.5px; line-height:1.45}
    .band .cols{display:grid; grid-template-columns: repeat(3, 1fr); gap:10px}
    @media (max-width: 700px){.band .cols{grid-template-columns:1fr}}
    .mini{
      padding:12px; border-radius: 16px;
      background: rgba(255,255,255,.9);
      border: 1px solid rgba(15,157,88,.16);
    }
    .mini b{display:block; margin-top:6px}
    .mini span{color:var(--muted); font-size:12.5px}

    /* Accordion */
    .acc{display:grid; gap:10px}
    details{
      border:1px solid var(--line);
      border-radius: 16px;
      background:#fff;
      box-shadow: 0 10px 26px rgba(16,24,40,.05);
      overflow:hidden;
    }
    summary{
      cursor:pointer; list-style:none;
      padding:14px 16px;
      font-weight:900; color:var(--ink);
      display:flex; align-items:center; justify-content:space-between; gap:10px;
    }
    summary::-webkit-details-marker{display:none}
    details .content{padding:0 16px 14px; color:var(--muted); font-size:13.5px; line-height:1.5}
    .chev{transition: transform .18s ease}
    details[open] .chev{transform: rotate(180deg)}

    /* Impact dashboard */
    .dash{
      display:grid; grid-template-columns: 1fr 1fr; gap:14px;
    }
    @media (max-width: 900px){.dash{grid-template-columns:1fr}}
    .metric{
      padding:16px; border-radius: var(--radius);
      background:#fff; border:1px solid var(--line); box-shadow: var(--shadow);
      display:flex; align-items:flex-start; justify-content:space-between; gap:10px;
    }
    .metric .v{font-size:26px; font-weight:1000; letter-spacing:-.4px}
    .metric .k{color:var(--muted); font-size:12.8px; font-weight:800}
    .chart{
      padding:16px; border-radius: var(--radius);
      background:#fff; border:1px solid var(--line); box-shadow: var(--shadow);
    }
    .chart h3{margin:0 0 8px}
    .bars{display:grid; gap:8px; margin-top:10px}
    .bar{
      height:12px; border-radius:999px; background:#eef3f7; overflow:hidden;
      border:1px solid #e6edf3;
    }
    .bar > i{
      display:block; height:100%;
      background: linear-gradient(90deg, var(--g), #2bd47f);
      width:40%;
    }
    .barRow{display:grid; grid-template-columns: 120px 1fr 60px; gap:10px; align-items:center}
    @media (max-width: 520px){.barRow{grid-template-columns: 100px 1fr 48px}}
    .barRow span{color:var(--muted); font-size:12.8px; font-weight:800}
    .barRow em{color:var(--muted); font-style:normal; font-size:12.8px; text-align:right}

    /* Footer + sticky CTA */
    footer{
      margin-top:22px;
      padding:18px 0 28px;
      color:var(--muted);
      border-top:1px solid var(--line);
    }
    .footerGrid{
      display:grid; grid-template-columns: 1.2fr .8fr .8fr; gap:14px;
    }
    @media (max-width: 860px){.footerGrid{grid-template-columns:1fr}}
    .small{font-size:12.8px; line-height:1.55}
    .links{display:grid; gap:6px; font-size:13px}
    .links a{color:var(--muted)}
    .links a:hover{color:var(--ink)}
    .sticky{
      position:fixed; left:50%; transform:translateX(-50%);
      bottom:14px; z-index:60;
      width:min(var(--max), calc(100% - 22px));
      padding:10px;
      border-radius: 20px;
      background: rgba(255,255,255,.92);
      border:1px solid var(--line);
      box-shadow: 0 20px 50px rgba(16,24,40,.18);
      display:flex; align-items:center; justify-content:space-between; gap:10px; flex-wrap:wrap;
    }
    .sticky .t{font-weight:1000}
    .sticky .s{color:var(--muted); font-size:12.5px}
    .hide{display:none !important}

    /* Drawer */
    .drawer{
      position:fixed; inset:0; z-index:100;
      background: rgba(0,0,0,.35);
      display:none;
    }
    .drawer.active{display:block}
    .panel{
      position:absolute; right:0; top:0; height:100%; width:min(360px, 92vw);
      background:#fff; border-left:1px solid var(--line);
      padding:16px; display:flex; flex-direction:column; gap:10px;
      overflow-y:auto;
    }
    .panel a{padding:12px 12px; border-radius:14px; border:1px solid var(--line); font-weight:900}
    .panel a.active{border-color: rgba(15,157,88,.35); background: rgba(15,157,88,.08)}
    .panel .close{align-self:flex-end}
    .panelGroup{
      border:1px solid var(--line);
      border-radius:14px;
      padding:10px;
      background:#fff;
      display:flex;
      flex-direction:column;
      gap:8px;
    }

    .certEditorLayer{
      position:absolute;
      inset:0;
      pointer-events:none;
    }
    .certEditorLayer .certField{
      position:absolute;
      left:5%;
      top:5%;
      max-width:40%;
      padding:0;
      border-radius:0;
      background:transparent;
      border:0;
      font-size:13px;
      line-height:1.1;
      white-space:nowrap;
      color:var(--ink);
      pointer-events:none;
      user-select:none;
      cursor:default;
      box-shadow:none;
    }
    #clienteCertPrintArea,
    #clienteCertPrintArea *{
      -webkit-text-size-adjust:100%;
      text-size-adjust:100%;
    }
    .certEditorLayer .certQrField{
      min-width:92px;
      min-height:92px;
      display:flex;
      flex-direction:column;
      align-items:center;
      justify-content:center;
      text-align:center;
    }
    #adminCertQrCode{
      width:82px;
      height:82px;
      display:flex;
      align-items:center;
      justify-content:center;
      background:#fff;
      border:1px solid rgba(15,23,42,.12);
      border-radius:6px;
      overflow:hidden;
    }
    #adminCertQrCode canvas,
    #adminCertQrCode img{
      width:82px !important;
      height:82px !important;
      display:block;
    }
    #clienteCertQrCode{
      width:82px;
      height:82px;
      display:flex;
      align-items:center;
      justify-content:center;
      background:#fff;
      border:1px solid rgba(15,23,42,.12);
      border-radius:6px;
      overflow:hidden;
    }
    #clienteCertQrCode canvas,
    #clienteCertQrCode img{
      width:82px !important;
      height:82px !important;
      display:block;
    }
    .certEditorLayer.editing{
      pointer-events:auto;
    }
    .certEditorLayer.editing .certField{
      pointer-events:auto;
      cursor:grab;
      border:1px dashed rgba(11,127,70,.55);
      box-shadow:0 0 0 2px rgba(11,127,70,.10);
    }
    .certEditorLayer.editing .certField.dragging{
      cursor:grabbing;
      box-shadow:0 0 0 3px rgba(11,127,70,.18);
    }
    .certMobileViewport{
      width:100%;
      overflow-x:auto;
      overflow-y:hidden;
      -webkit-overflow-scrolling:touch;
    }
    @media (max-width: 920px){
      #clienteDashTabCertificado .certMobileViewport{
        overflow:hidden;
        display:flex;
        justify-content:center;
        align-items:flex-start;
        max-height:430px;
        border-radius:12px;
        background:#fff;
      }
      .certMobileViewport #clienteCertPrintArea{
        width:100%;
        max-width:420px;
        transform:none;
        transform-origin:top center;
      }
      #clienteDashTabCertificado .certEditorLayer .certField{
        font-size:8px;
      }
      #clienteDashTabCertificado .certEditorLayer .certQrField{
        min-width:44px;
        min-height:44px;
      }
      #clienteDashTabCertificado #clienteCertQrCode{
        width:42px;
        height:42px;
      }
      #clienteDashTabCertificado #clienteCertQrCode canvas,
      #clienteDashTabCertificado #clienteCertQrCode img{
        width:42px !important;
        height:42px !important;
      }
    }
    .panelGroupTitle{
      font-size:12px;
      color:var(--muted);
      font-weight:900;
      text-transform:uppercase;
      letter-spacing:.04em;
      padding:0 2px 4px;
    }
    .panelSub{
      border:1px solid var(--line);
      border-radius:12px;
      padding:10px 12px;
      font-weight:800;
      background:#fff;
    }
    .mobileUserMenu{
      display:grid;
      gap:8px;
      margin:2px 0 6px;
    }
    .mobileUserMenuSummary{
      width:100%;
      display:flex;
      align-items:center;
      gap:10px;
      padding:10px;
      border:1px solid #dbe8e1;
      border-radius:14px;
      background:#f5faf7;
      text-align:left;
      cursor:pointer;
    }
    .mobileUserMenuSummary .userMenuCardText{
      flex:1;
      min-width:0;
    }
    .mobileUserMenuCaret{
      color:var(--muted);
      font-size:13px;
      transition:transform .18s ease;
    }
    .mobileUserMenu.is-open .mobileUserMenuCaret{
      transform:rotate(180deg);
    }
    .mobileUserMenuDetails{
      display:grid;
      gap:8px;
    }
    .mobileUserMenuDetails[hidden]{
      display:none !important;
    }
    .mobileUserMenu .userMenuMeta{
      margin-top:0;
    }
    .mobileUserMenu .userMenuActions{
      margin-top:0;
    }
  
    /* ===== Fintech (Nubank-like) simulator upgrades ===== */
    .sim{
      border-radius:22px !important;
      overflow:hidden;
      border:1px solid var(--line) !important;
      box-shadow: var(--shadow) !important;
      background:#fff;
    }
    .simTop{
      background: linear-gradient(135deg, rgba(15,157,88,.16), rgba(15,157,88,.05));
      border-bottom:1px solid rgba(0,0,0,.06);
    }
    .simBody .row{gap:12px}
    .pillRow{display:flex;flex-wrap:wrap;gap:8px}
    .pill{border-radius:999px !important; padding:8px 10px !important; font-weight:900 !important}
    .kpiRow{
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:10px;
      margin-top:12px;
    }
    @media (max-width:720px){.kpiRow{grid-template-columns:1fr}}
    .kpi{
      border-radius:18px;
      padding:12px 12px;
      background: rgba(15,157,88,.08);
      border:1px solid rgba(15,157,88,.18);
    }
    .kpi.alt{background:#fff;border-color:rgba(0,0,0,.10)}
    .kpi .k{color:var(--muted);font-size:12px;font-weight:900}
    .kpi .v{margin-top:6px;font-size:22px;font-weight:1000;letter-spacing:-.3px}
    .subTiny{color:var(--muted);font-size:12px;font-weight:800;margin-top:6px}
    .rangeWrap{margin-top:10px}
    .rangeWrap input[type=range]{width:100%}

  
    /* ===== Contato (estilo comercial) ===== */
    .contactHero{
      display:grid;
      grid-template-columns: 1.2fr .8fr;
      gap:16px;
      margin-top:8px;
      padding:18px;
      border-radius: 26px;
      background: radial-gradient(1200px 260px at 20% 0%, rgba(15,157,88,.16), transparent 60%),
                  linear-gradient(180deg, rgba(15,157,88,.06), rgba(255,255,255,1));
      border:1px solid rgba(0,0,0,.08);
      box-shadow: var(--shadow);
    }
    @media (max-width: 920px){ .contactHero{grid-template-columns:1fr} }
    .contactHeroText h1{margin:0; font-size: clamp(30px, 4.2vw, 44px); letter-spacing:-.6px}
    .contactCTAs{display:flex; gap:10px; flex-wrap:wrap; margin-top:12px}
    .contactHeroMedia{display:flex; align-items:stretch}
    .contactMediaCard{
      width:100%;
      border-radius: 22px;
      background:#fff;
      border:1px solid rgba(0,0,0,.10);
      padding:14px;
      box-shadow: 0 12px 30px rgba(0,0,0,.08);
    }
    .contactGrid{
      margin-top:18px;
      display:grid;
      grid-template-columns: 1.1fr .9fr;
      gap:14px;
    }
    @media (max-width: 920px){ .contactGrid{grid-template-columns:1fr} }
    .contactCards{display:grid; grid-template-columns:1fr; gap:10px}
    .contactCard{
      display:flex; gap:12px; align-items:flex-start;
      border-radius: 18px;
      background:#fff;
      border:1px solid rgba(0,0,0,.10);
      padding:12px;
    }
    .contactCard .icon{
      width:40px; height:40px;
      border-radius: 14px;
      display:flex; align-items:center; justify-content:center;
      background: rgba(15,157,88,.12);
      border:1px solid rgba(15,157,88,.22);
      font-size:18px;
    }
    .contactCard .t{font-weight:1000}
    .contactCard .link{
      display:inline-block;
      margin-top:6px;
      font-weight:1000;
      color: var(--g);
      text-decoration:none;
    }
    .contactCard .link:hover{ text-decoration:underline; }

  
  input[type=file]{width:100%;padding:10px 12px;border-radius:14px;border:1px solid rgba(0,0,0,.12);background:#fff;font-weight:800;}

/* ===== Negócios: bloco explicativo ===== */
#neg_info .kpiRow{ gap:10px; }
#neg_info .kpi{ min-width: 220px; }

/* ===== Propostas: filtro ativo ===== */
.pillActive{
  background: rgba(15,157,88,.14) !important;
  border-color: rgba(15,157,88,.28) !important;
  font-weight: 900;
}


/* ===== Impacto: contador animado ===== */
.page[data-page="/impacto"] .kpiRow{ display:flex; gap:12px; flex-wrap:wrap; }
.page[data-page="/impacto"] .kpiRow .kpi{ flex:1 1 220px; }


/* ===== Impacto: donut + CO2 por categoria ===== */
.donutRow{ display:flex; align-items:center; gap:18px; flex-wrap:wrap; }
.donut{ width:220px; height:220px; }
.donutTrack{ fill:none; stroke:#e8f1ec; stroke-width:14; }
.donutSeg{
  fill:none; stroke-width:14; stroke-linecap:round;
  transform: rotate(-90deg); transform-origin: 60px 60px;
  stroke-dasharray: 0 999; transition: stroke-dasharray 1.2s ease;
}
.seg1{ stroke:#1b8f4c; }
.seg2{ stroke:#42c17a; }
.seg3{ stroke:#0f9d58; }
.seg4{ stroke:#7bdca2; }
.donutCenterTitle{ font-size:10px; fill:#5e6b63; font-weight:700; }
.donutCenterValue{ font-size:16px; fill:#0f1f14; font-weight:1000; }
.donutLegend{ display:flex; flex-direction:column; gap:10px; min-width:280px; }
.legItem{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.sw{ width:12px; height:12px; border-radius:999px; display:inline-block; }
.sw1{ background:#1b8f4c; } .sw2{ background:#42c17a; } .sw3{ background:#0f9d58; } .sw4{ background:#7bdca2; }

.catChart{ background:rgba(255,255,255,.65); border:1px solid #e6eee9; border-radius:18px; padding:12px; }
.catRow{ display:grid; grid-template-columns: 170px 1fr 120px; gap:10px; align-items:center; margin-top:8px; }
.catLbl{ font-weight:700; }
.catBar{ height:12px; background:#e8f1ec; border-radius:10px; overflow:hidden; }
.catFill{ height:100%; width:0%; border-radius:10px; transition: width 1.2s ease; }
.c1{ background:#1b8f4c; } .c2{ background:#42c17a; } .c3{ background:#0f9d58; } .c4{ background:#7bdca2; } .c5{ background:#a6e9c1; }
@media (max-width:720px){ .catRow{ grid-template-columns: 1fr; } }


/* ===== MSC App Block ===== */
.mscAppSection{ margin-top:18px; }
.mscAppCard{ display:grid; grid-template-columns: 1.1fr 1fr; gap:18px; align-items:stretch; }
.mscPhoto{ border-radius:22px; overflow:hidden; background:#eef5f1; min-height:320px; }
.mscPhoto img{ width:100%; height:100%; object-fit:cover; display:block; }
.mscAppRight{ padding:6px 2px; }
.mscAppTitle{ font-size:22px; font-weight:1000; margin:0 0 10px 0; line-height:1.1; }
.mscBullets{ display:flex; flex-direction:column; gap:10px; margin-top:12px; }
.mscBullet{ display:flex; gap:10px; align-items:flex-start; }
.mscBullet .dot{ width:22px; height:22px; border-radius:999px; display:flex; align-items:center; justify-content:center; background:rgba(15,157,88,.14); border:1px solid rgba(15,157,88,.28); flex:0 0 auto; font-weight:1000; }
.mscActions{ display:flex; gap:10px; flex-wrap:wrap; margin-top:14px; }
.mscQRBox{ display:flex; gap:12px; align-items:center; padding:12px; border-radius:18px; border:1px solid rgba(0,0,0,.06); background:#fff; margin-top:12px; }
.mscQRBox img{ width:92px; height:92px; border-radius:12px; border:1px solid rgba(0,0,0,.08); }
.storeBadges{ display:flex; gap:10px; flex-wrap:wrap; margin-top:8px; }
.badgeLink{ display:inline-flex; align-items:center; justify-content:center; padding:10px 12px; border-radius:14px; border:1px solid rgba(0,0,0,.08); background:#0f1f14; color:#fff; font-weight:900; text-decoration:none; }
.badgeLink.secondary{ background:#fff; color:#0f1f14; }
@media (max-width: 920px){
  .mscAppCard{ grid-template-columns: 1fr; }
  .mscPhoto{ min-height:240px; }
}


/* ===== Benefícios: links para transparência ===== */
.linkCard{ text-decoration:none; color:inherit; cursor:pointer; }
.linkCard:hover{ transform: translateY(-2px); transition: transform .15s ease; }
.liveDot{ width:10px; height:10px; border-radius:999px; background:#22c55e; box-shadow:0 0 0 0 rgba(34,197,94,.55); animation:pulse 1.2s infinite; }
@keyframes pulse{ 0%{ box-shadow:0 0 0 0 rgba(34,197,94,.55);} 70%{ box-shadow:0 0 0 12px rgba(34,197,94,0);} 100%{ box-shadow:0 0 0 0 rgba(34,197,94,0);} }

.grid2{ display:grid; grid-template-columns: 1fr 1fr; gap:14px; }
@media (max-width: 920px){ .grid2{ grid-template-columns:1fr; } }

.miniBars{ display:flex; flex-direction:column; gap:10px; }
.miniRow{ display:flex; justify-content:space-between; align-items:center; font-weight:800; }
.miniTrack{ height:10px; background:#e8f1ec; border-radius:10px; overflow:hidden; }
.miniFill{ height:100%; width:0%; border-radius:10px; background:linear-gradient(90deg,#1b8f4c,#42c17a); transition: width 1.1s ease; }

/* Mapa real (Leaflet) */
.mapaHeader{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:center;
  flex-wrap:wrap;
}
.mapaTitle{
  font-weight:1000;
  font-size:18px;
}
.mapCardFrame{
  border-radius:18px;
  overflow:hidden;
  border:1px solid rgba(0,0,0,.08);
  background:
    radial-gradient(1200px 500px at 30% 20%, rgba(15,157,88,.12), rgba(15,157,88,0)),
    linear-gradient(180deg,#f6fbf8,#ffffff);
}
.leafletMap{
  width:100%;
  height:360px;
}
.adminLeafletMap{
  height:310px;
}
.leaflet-popup-content{
  margin:10px 12px;
}
.leaflet-popup-content-wrapper{
  border-radius:12px;
}
.mapPopupTitle{
  font-weight:1000;
  margin-bottom:4px;
}
.mapPopupMeta{
  color:var(--muted);
  font-size:12px;
  margin-bottom:4px;
}
.mapPopupDesc{
  font-size:12px;
  color:#2f3e4a;
}
.mapProjectItem{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  width:100%;
  text-align:left;
  border:1px solid rgba(0,0,0,.08);
  border-radius:14px;
  background:#fff;
  padding:12px;
  cursor:pointer;
}
.mapProjectItem:hover{
  border-color:rgba(15,157,88,.35);
  box-shadow:0 8px 20px rgba(16,24,40,.08);
}
.mapProjectItem strong{
  display:block;
}
.mapProjectItem .muted{
  margin-top:2px;
}

/* List styles */
.list{ display:flex; flex-direction:column; gap:10px; }
.listItem{ display:flex; justify-content:space-between; align-items:center; gap:12px; padding:12px; border-radius:14px; border:1px solid rgba(0,0,0,.06); background:#fff; }
.listLink{ display:flex; justify-content:space-between; align-items:center; gap:12px; padding:12px; border-radius:14px; border:1px solid rgba(0,0,0,.06); background:#fff; text-decoration:none; color:inherit; }
.listLink:hover{ border-color: rgba(15,157,88,.25); }
.liMain{ display:flex; flex-direction:column; gap:2px; }
.status{ font-weight:1000; padding:6px 10px; border-radius:999px; font-size:12px; display:inline-flex; align-items:center; white-space:nowrap; }
.status.ok{ background: rgba(15,157,88,.14); color:#0f9d58; border:1px solid rgba(15,157,88,.25); }
.status.wait{ background: rgba(234,179,8,.14); color:#a16207; border:1px solid rgba(234,179,8,.25); }
.status.implantacao{ background: rgba(251,146,60,.16); color:#b45309; border:1px solid rgba(251,146,60,.28); }
.status.contratacao{ background: rgba(245,158,11,.18); color:#92400e; border:1px solid rgba(245,158,11,.30); }
.tag{ font-weight:1000; padding:6px 10px; border-radius:999px; font-size:12px; border:1px solid rgba(0,0,0,.08); background:#f3f6f4; }


/* Toast */
.toast{ position:fixed; left:50%; bottom:18px; transform:translateX(-50%) translateY(14px); opacity:0; padding:10px 12px; border-radius:14px; background:#0f1f14; color:#fff; font-weight:900; border:1px solid rgba(255,255,255,.12); box-shadow:0 10px 30px rgba(0,0,0,.18); transition:opacity .18s ease, transform .18s ease; z-index:9999; }
.toast.show{ opacity:1; transform:translateX(-50%) translateY(0); }



.form-message{ color:var(--muted); font-size:12.5px; }


/* ===== Empréstimos: vitrine no topo ===== */
.section-header{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:14px;
  flex-wrap:wrap;
  margin: 2px 2px 10px;
}
.section-header h2{
  margin:0;
  font-size:40px;
  line-height:1.1;
  letter-spacing:-.5px;
}
.emprestimos-intro{
  margin:0;
  color:var(--ink);
  max-width:95ch;
}
.product-grid{
  display:grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap:14px;
  margin-top:16px;
}
.product-card{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow: 0 10px 28px rgba(16,24,40,.06);
  padding:16px;
}
.product-icon{
  width:42px;
  height:42px;
  border-radius:14px;
  display:grid;
  place-items:center;
  font-size:18px;
  background: rgba(15,157,88,.10);
  border: 1px solid rgba(15,157,88,.16);
}
.product-title{
  margin:10px 0 6px;
  font-size:16px;
  line-height:1.2;
}
.product-desc{
  margin:0;
  color:var(--muted);
  font-size:15px;
  line-height:1.45;
}
@media (max-width: 980px){
  .product-grid{grid-template-columns: repeat(2, minmax(0, 1fr));}
}
@media (max-width: 520px){
  .product-grid{grid-template-columns: 1fr;}
  .section-header h2{font-size:34px;}
}



    .mscBand{grid-template-columns:1fr}
    .mscRow{display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:16px}
    .mscCard{min-width:0; min-height:520px; display:flex; flex-direction:column}
    .mscCard .cardBody{display:flex; flex-direction:column; gap:10px; height:100%}
    @media (max-width:1200px){.mscRow{grid-template-columns:repeat(2, minmax(0,1fr))}}
@media (max-width:700px){.mscRow{grid-template-columns:1fr}}

/* ===== Mobile Hardening (layout fixes) ===== */
html, body {
  max-width: 100%;
  overflow-x: hidden;
}

.container {
  width: 100%;
}

.heroRow {
  display: grid;
  grid-template-columns: 1.1fr .9fr;
  gap: 14px;
}

.heroCopy {
  min-width: 0;
}

/* Fix inline grids used in pages */
@media (max-width: 900px) {
  [style*="grid-template-columns:repeat(4,1fr)"] {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  [style*="grid-template-columns:repeat(3,1fr)"] {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 640px) {
  [style*="grid-template-columns:repeat(4,1fr)"],
  [style*="grid-template-columns:repeat(3,1fr)"],
  [style*="grid-template-columns:repeat(2,1fr)"] {
    grid-template-columns: 1fr !important;
  }
}

/* Header/Nav */
@media (max-width: 1100px) {
  .topbar .container {
    padding: 0 12px;
  }
  .nav {
    gap: 8px;
  }
  .brandWrap {
    min-width: 0;
  }
  .brand {
    min-width: 0;
  }
  .brand > div {
    min-width: 0;
  }
  .brand > div > div:first-child,
  .brand > div > div:last-child {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
}

@media (max-width: 860px) {
  .nav {
    grid-template-columns: minmax(0, 1fr) max-content;
    align-items: center;
  }
  .actions {
    gap: 6px;
  }
  .actions .btn:not(.hamb) {
    display: none;
  }
  .brandDivider {
    display: none;
  }
  .brand > div > div:last-child {
    display: none;
  }
  .logo {
    width: 34px;
    height: 34px;
    border-radius: 10px;
  }
}

@media (max-width: 520px) {
  .topbar .container {
    padding: 0 10px;
  }
  .nav {
    padding: 10px 0;
  }
  .brandWrap {
    gap: 8px;
  }
  .brand {
    gap: 8px;
  }
  .brand > div > div:first-child {
    font-size: 12px !important;
  }
  .panel {
    width: min(320px, 92vw);
    padding: 12px;
  }
}

/* Sections/Cards/Forms */
@media (max-width: 920px) {
  .heroRow {
    grid-template-columns: 1fr;
  }
  .hero {
    border-radius: 18px;
    padding: 14px;
  }
  .card {
    padding: 12px;
  }
  .result {
    padding: 10px 12px;
  }
  .result .big {
    font-size: 20px;
  }
}

@media (max-width: 640px) {
  h1 {
    font-size: 30px;
    line-height: 1.12;
  }
  h2 {
    font-size: 24px;
    line-height: 1.2;
  }
  .lead {
    font-size: 15px;
  }
  .row {
    grid-template-columns: 1fr !important;
  }
  input, select, textarea {
    font-size: 16px; /* prevent iOS zoom */
  }
}

/* Propostas modal and admin modal responsiveness */
@media (max-width: 760px) {
  #propDetailTimeline > div {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 520px) {
  #propDetailTimeline > div {
    grid-template-columns: 1fr !important;
  }
  #propostaDetailOverlay .cardBody,
  #propostaDocsOverlay .cardBody,
  #adminLeadMessageOverlay .cardBody {
    padding: 12px !important;
  }
}

/* Contact page cards */
@media (max-width: 640px) {
  .contactCard {
    flex-direction: row;
    align-items: flex-start;
  }
  .contactCard .icon {
    width: 36px;
    height: 36px;
    border-radius: 12px;
    font-size: 16px;
  }
}

/* Sticky CTA */
@media (max-width: 640px) {
  .sticky {
    width: calc(100% - 12px);
    left: 6px;
    transform: none;
    bottom: 8px;
    border-radius: 14px;
    padding: 8px;
  }
  .sticky .btn {
    width: 100%;
    justify-content: center;
  }
}

/* ===== Mobile Pass 2 (global hardening) ===== */
@media (max-width: 1024px) {
  .menu {
    display: none !important;
  }
  .hamb {
    display: inline-flex !important;
  }
  .nav {
    grid-template-columns: minmax(0, 1fr) max-content !important;
    gap: 8px !important;
  }
  .actions {
    gap: 6px !important;
  }
  .actions .btn:not(.hamb) {
    display: none !important;
  }
  .brandWrap {
    min-width: 0;
    max-width: calc(100vw - 90px);
  }
  .brand > div {
    min-width: 0;
  }
  .brand > div > div:first-child,
  .brand > div > div:last-child {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .partnerBrand,
  .brandDivider {
    display: none !important;
  }
}

@media (max-width: 900px) {
  [style*="grid-template-columns:repeat(4,1fr)"],
  [style*="grid-template-columns: repeat(4,1fr)"],
  [style*="grid-template-columns:repeat(4, 1fr)"],
  [style*="grid-template-columns: repeat(4, 1fr)"] {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  [style*="grid-template-columns:repeat(3,1fr)"],
  [style*="grid-template-columns: repeat(3,1fr)"],
  [style*="grid-template-columns:repeat(3, 1fr)"],
  [style*="grid-template-columns: repeat(3, 1fr)"] {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  [style*="grid-template-columns:repeat(2,1fr)"],
  [style*="grid-template-columns: repeat(2,1fr)"],
  [style*="grid-template-columns:repeat(2, 1fr)"],
  [style*="grid-template-columns: repeat(2, 1fr)"] {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 640px) {
  .container {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }
  .topbar .container {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }
  .hero,
  .sim,
  .card,
  .band,
  .page .section {
    min-width: 0;
  }
  .card h3,
  .card p,
  .product-title,
  .product-desc,
  .lead {
    overflow-wrap: anywhere;
    word-break: normal;
  }
  #propostaDetailOverlay .card,
  #propostaDocsOverlay .card,
  #adminLeadMessageOverlay .card {
    width: calc(100vw - 20px) !important;
    max-width: calc(100vw - 20px) !important;
    max-height: 86vh !important;
    border-radius: 16px !important;
  }
}

/* Header desktop hardening (avoid overlap of nav items/actions) */
.topbar .nav {
  grid-template-columns: max-content minmax(0, 1fr) max-content;
}
.topbar .menu {
  overflow-x: auto;
  overflow-y: hidden;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.topbar .menu::-webkit-scrollbar {
  display: none;
}
.topbar .actions {
  flex-wrap: nowrap;
}
.topbar .actions .btn {
  white-space: nowrap;
}
.userMenuWrap { position: relative; }
.userMenuButton {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 8px 12px;
  border-radius: 18px;
  border: 1px solid var(--line);
  background: #fff;
  box-shadow: var(--shadow-sm);
  cursor: pointer;
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.userMenuButton:hover {
  border-color: #bdd9cb;
  box-shadow: 0 14px 28px rgba(16, 24, 40, 0.08);
}
.userMenuAvatar,
.userMenuCardAvatar {
  width: 38px;
  height: 38px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #0f9d58 0%, #0c7a46 100%);
  color: #fff;
  font-weight: 900;
  font-size: 13px;
  letter-spacing: .4px;
  flex: 0 0 auto;
  overflow: hidden;
  position: relative;
}
.userMenuAvatarImg{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display:block;
}
.userMenuAvatarInitial{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
}
.userMenuText {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  line-height: 1.05;
  min-width: 0;
}
.userMenuText strong {
  max-width: 168px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 13px;
  color: var(--ink);
}
.userMenuText small {
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
}
.userMenuCaret {
  color: var(--muted);
  font-size: 13px;
  transition: transform .18s ease;
}
.userMenuWrap.is-open .userMenuCaret {
  transform: rotate(180deg);
}
.userMenuDropdown {
  position: absolute;
  top: calc(100% + 10px);
  right: 0;
  width: 290px;
  padding: 12px;
  border-radius: 18px;
  border: 1px solid #dbe8e1;
  background: #fff;
  box-shadow: 0 20px 40px rgba(15, 23, 42, 0.16);
  display: none;
  z-index: 40;
}
.userMenuWrap.is-open .userMenuDropdown {
  display: block;
}
.userMenuCard {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px;
  border-radius: 14px;
  background: #f5faf7;
  border: 1px solid #dbe8e1;
}
.userMenuCardAvatar {
  width: 46px;
  height: 46px;
  font-size: 15px;
}
.userMenuCardText {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
.userMenuCardText strong {
  color: var(--ink);
  font-size: 14px;
}
.userMenuCardText span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
}
.userMenuMeta {
  margin-top: 12px;
  border: 1px solid #e5ece8;
  border-radius: 14px;
  overflow: hidden;
}
.userMenuMeta div {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 14px;
  padding: 11px 12px;
  background: #fff;
}
.userMenuMeta div + div {
  border-top: 1px solid #edf3ef;
}
.userMenuMeta span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
}
.userMenuMeta strong {
  color: var(--ink);
  font-size: 13px;
  text-align: right;
}
.userMenuActions{
  margin-top: 10px;
  display: grid;
  gap: 8px;
}
.userMenuActionBtn{
  width: 100%;
  border-radius: 12px;
  border: 1px solid #d6e5dc;
  background: #f8fcfa;
  color: #0a6f43;
  font-weight: 900;
  font-size: 14px;
  padding: 10px 12px;
  text-align: left;
  cursor: pointer;
}
.userMenuActionBtn:hover{
  border-color: #0f9d58;
  background: #ecf8f1;
}
.userMenuLogout {
  display: block;
  margin-top: 12px;
  padding: 12px 14px;
  border-radius: 14px;
  background: #fff5f5;
  border: 1px solid #ffd4d4;
  color: #b42318;
  font-weight: 900;
}
.userMenuLogout:hover {
  background: #ffeaea;
}
@media (max-width: 1500px) {
  .userMenuText {
    display: none;
  }
}
@media (max-width: 1360px) {
  .topbar .menu a {
    padding: 7px 8px;
    font-size: 12px;
  }
  .topbar .actions .btn {
    padding: 8px 11px;
    font-size: 13px;
  }
  .userMenuButton {
    padding: 7px 10px;
  }
}
@media (max-width: 900px) {
  .userMenuWrap {
    display: none;
  }
}

/* Admin proposta review modal refinements */
.adminProposalModal {
  border-radius: 16px;
}
.adminProposalHeader h3 {
  font-size: 22px;
  line-height: 1.1;
  letter-spacing: -0.3px;
}
.adminProposalBanner {
  border-radius: 12px;
  letter-spacing: 0.2px;
}
.adminProposalTwoCol {
  gap: 12px;
}
.adminProposalMainCard .cardBody {
  height: 100%;
}
.adminProposalBox {
  background: #f8fbf9;
  border: 1px solid #dbe8e1;
  border-radius: 12px;
  padding: 12px;
  color: #334155;
  font-size: 13.5px;
  line-height: 1.45;
}
.adminProposalSendWrap {
  margin-top: 12px;
  padding: 12px;
  border: 1px solid rgba(15, 157, 88, 0.18);
  border-radius: 14px;
  background: linear-gradient(180deg, rgba(15, 157, 88, 0.06), rgba(255, 255, 255, 1) 68%);
}
.adminProposalSendBtnRow .btn.primary {
  min-width: 220px;
}
.adminProposalOpsCard .pillRow .btn {
  min-height: 38px;
}
.adminProposalBottomGrid {
  gap: 12px;
}
.adminProposalOverlay {
  position: fixed;
  inset: 0;
  background: rgba(15, 23, 42, 0.45);
  display: none;
  align-items: flex-start;
  justify-content: center;
  padding: 20px;
  overflow: auto;
  z-index: 170;
}
.adminProposalViewport {
  max-width: 1000px;
  width: 100%;
  margin: 18px auto;
}
.adminProposalModalShadow {
  box-shadow: 0 20px 50px rgba(15, 23, 42, 0.25);
}
.adminStageInfoViewport{
  max-width: 760px;
}
.adminStageInfoModal{
  max-width: 760px;
}
.adminStageInfoBody{
  display: grid;
  gap: 14px;
}
.adminStageInfoMessage p{
  margin: 0 0 10px;
}
.adminStageInfoMessage p:last-child{
  margin-bottom: 0;
}
.adminStageInfoActions{
  justify-content: flex-end;
}
.adminProposalHeaderRow {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.adminProposalTopAlert {
  display: none;
  margin-top: 10px;
  border: 1px solid rgba(217, 119, 6, 0.22);
  background: rgba(217, 119, 6, 0.10);
  color: #7c2d12;
}
.adminProposalMainGrid {
  margin-top: 10px;
  align-items: stretch;
}
.adminProposalStretch {
  height: 100%;
}
.adminProposalSectionTitle {
  margin: 0;
}
.adminProposalJourneyNote {
  display: none;
  margin-top: 12px;
  border: 1px solid rgba(15, 157, 88, 0.20);
  background: rgba(15, 157, 88, 0.08);
  color: #0f5132;
}
.adminProposalActionRow {
  margin-bottom: 8px;
}
.adminProposalActionRow .btn[data-stage-state="done"]{
  background: rgba(15,157,88,.14) !important;
  border-color: rgba(15,157,88,.30) !important;
  color: #166534 !important;
  box-shadow: none !important;
  font-weight: 800 !important;
}
.adminProposalActionRow .btn[data-stage-state="current"]{
  background: linear-gradient(180deg, rgba(245,158,11,.18), rgba(255,255,255,1)) !important;
  border-color: rgba(245,158,11,.45) !important;
  color: #9a6700 !important;
  box-shadow: 0 0 0 2px rgba(245,158,11,.14) !important;
  font-weight: 900 !important;
}
.adminProposalActionRow .btn[data-stage-state="pending"]{
  background: #fff !important;
  border-color: rgba(15,23,42,.12) !important;
  color: #1f2937 !important;
  box-shadow: none !important;
  font-weight: 700 !important;
}
#tecProposalModal .adminProposalSendWrap .pillRow .btn[data-stage-state="done"]{
  background: rgba(15,157,88,.14) !important;
  border-color: rgba(15,157,88,.30) !important;
  color: #166534 !important;
  box-shadow: none !important;
  font-weight: 800 !important;
}
#tecProposalModal .adminProposalSendWrap .pillRow .btn[data-stage-state="current"]{
  background: linear-gradient(180deg, rgba(245,158,11,.18), rgba(255,255,255,1)) !important;
  border-color: rgba(245,158,11,.45) !important;
  color: #9a6700 !important;
  box-shadow: 0 0 0 2px rgba(245,158,11,.14) !important;
  font-weight: 900 !important;
}
#tecProposalModal .adminProposalSendWrap .pillRow .btn[data-stage-state="pending"]{
  background: #fff !important;
  border-color: rgba(15,23,42,.12) !important;
  color: #1f2937 !important;
  box-shadow: none !important;
  font-weight: 700 !important;
}
.adminProposalHeading {
  font-size: 28px;
  font-weight: 900;
  color: #0f172a;
  margin: 4px 0 10px;
  text-align: center;
}
.adminProposalMt10 {
  margin-top: 10px;
}
.adminProposalMt8 {
  margin-top: 8px;
}
.adminProposalCenterNote {
  margin-top: 8px;
  text-align: center;
}
.adminProposalCounterHint {
  display: none;
  margin-top: 8px;
  border: 1px solid rgba(217, 119, 6, 0.25);
  background: rgba(217, 119, 6, 0.08);
  color: #7c2d12;
}
.adminProposalCounterThread {
  display: none;
  margin-top: 8px;
  border: 1px solid rgba(217, 119, 6, 0.2);
  background: #fff7ed;
}
.adminProposalCounterActions {
  display: none;
  margin-top: 8px;
}
.adminProposalCounterInput {
  width: 100%;
  border: 1px solid rgba(217, 119, 6, 0.25);
  border-radius: 10px;
  padding: 10px;
  background: #fff7ed;
}
.adminProposalGridForm {
  display: grid;
  gap: 8px;
}
.adminProposalGrid2Gap10 {
  gap: 10px;
}
.adminProposalLabelHero {
  display: block;
  margin: 0;
  font-size: 34px;
  line-height: 1.05;
  font-weight: 900;
  color: #0f172a;
}
.adminProposalTextareaMain {
  display: block;
  width: 100%;
  min-height: 140px;
  border: 1px solid rgba(15, 23, 42, 0.24);
  border-radius: 14px;
  padding: 14px;
  line-height: 1.45;
  background: #ffffff;
}
.adminProposalHeaderSplit {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
.adminProposalScroll220 {
  max-height: 220px;
  overflow: auto;
}
.adminHidden {
  display: none !important;
}
.adminProposalTitleStrong {
  font-weight: 900;
  margin-bottom: 8px;
}
.adminProposalGridGap6 {
  display: grid;
  gap: 6px;
}
.adminProposalGridGap8 {
  display: grid;
  gap: 8px;
}
.adminProposalTopDivider {
  margin-top: 6px;
  padding-top: 6px;
  border-top: 1px solid rgba(0, 0, 0, 0.08);
}
.adminProposalDocRow {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  padding: 8px 0;
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}
.adminProposalDocMain {
  min-width: 0;
  flex: 1;
}
.adminProposalDocName {
  font-weight: 900;
  word-break: break-word;
}
.adminProposalDocNote {
  margin-top: 2px;
}
.adminProposalDocActions {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 6px;
}
.adminProposalDocStatus {
  display: inline-flex;
  align-items: center;
  padding: 4px 10px;
  border-radius: 999px;
  border: 1px solid rgba(0, 0, 0, 0.06);
  font-weight: 800;
  font-size: 12px;
}
.adminProposalDocStatus--validado {
  background: rgba(22, 163, 74, 0.12);
  color: #166534;
}
.adminProposalDocStatus--reprovado {
  background: rgba(220, 38, 38, 0.12);
  color: #991b1b;
}
.adminProposalDocStatus--enviado {
  background: rgba(59, 130, 246, 0.10);
  color: #1d4ed8;
}
.adminProposalDocLink {
  padding: 4px 8px !important;
  font-size: 0.85rem !important;
}
.adminProposalListItem {
  padding: 8px 0;
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}
.adminProposalListTitle {
  font-weight: 800;
}
.adminProposalPreWrap {
  margin-top: 4px;
  white-space: pre-wrap;
}
.adminProposalsTableWrap{
  overflow: visible;
}
.adminProposalsTable{
  min-width: 0;
  table-layout: fixed;
}
.adminPropRow.is-alt td{
  background: rgba(15,23,42,.03);
}
.adminPropTableCell{
  padding: 12px 10px;
  border-bottom: 1px solid rgba(0,0,0,.08);
  vertical-align: top;
  min-width: 0;
}
.adminPropTableCell--date{
  white-space: normal;
  word-break: break-word;
  width: 110px;
}
.adminPropTableCell--money{
  white-space: nowrap;
  font-weight: 900;
}
.adminPropTableCell--wide{
  min-width: 300px;
}
.adminPropCellMain{
  font-weight: 800;
  line-height: 1.35;
}
.adminPropWrap{
  word-break: break-word;
}
.adminPropMetaStack{
  display: grid;
  gap: 10px;
  min-width: 0;
}
.adminPropMetaSection{
  display: grid;
  gap: 6px;
  padding: 8px 10px;
  border: 1px solid rgba(15,23,42,.06);
  border-radius: 12px;
  background: rgba(248,250,252,.72);
}
.adminPropMetaLabel{
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: #64748b;
}
.adminPropMetaBlock{
  display: grid;
  gap: 4px;
}
.adminPropInlinePill{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 10px;
  border-radius: 999px;
  border: 1px solid rgba(0,0,0,.08);
  font-weight: 700;
  font-size: .84rem;
  width: fit-content;
  max-width: 100%;
  white-space: nowrap;
}
.adminPropStatusGrid{
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.adminPropMetaNote{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 10px;
  border-radius: 12px;
  background: rgba(248,250,252,.95);
  border: 1px solid rgba(15,23,42,.08);
  color: #334155;
  font-size: 12px;
  font-weight: 800;
  white-space: nowrap;
  width: fit-content;
  max-width: 100%;
}
.adminPropDot{
  width: 8px;
  height: 8px;
  border-radius: 999px;
  display: inline-block;
  background: #64748b;
  flex: 0 0 auto;
}
.adminPropDot.is-ok{
  background: #16a34a;
}
.adminPropDot.is-pending{
  background: #64748b;
}
.adminPropActionStack{
  display: grid;
  gap: 8px;
  min-width: 0;
}
.adminPropPrimaryBtn{
  background: linear-gradient(135deg, #0f9f66 0%, #0b7d45 100%) !important;
  color: #fff !important;
  border: 1px solid rgba(11,125,69,.9) !important;
  box-shadow: 0 10px 22px rgba(15,159,102,.22) !important;
  font-weight: 900 !important;
}
.adminPropPrimaryBtn:hover{
  filter: brightness(1.02);
  box-shadow: 0 14px 28px rgba(15,159,102,.28) !important;
}
.adminBankPillCard{
  display: grid;
  gap: 6px;
  justify-items: start;
}
.adminBankPill{
  white-space: nowrap;
}
@media (max-width: 1800px){
  .adminProposalsTable thead{
    display: none;
  }
  .adminProposalsTable,
  .adminProposalsTable tbody{
    display: block;
    width: 100%;
  }
  .adminProposalsTable tr.adminPropRow{
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px 14px;
    padding: 14px;
    margin-top: 12px;
    border: 1px solid rgba(15,23,42,.08);
    border-radius: 18px;
    background: #fff;
  }
  .adminProposalsTable tr.adminPropRow:first-child{
    margin-top: 0;
  }
  .adminPropRow.is-alt td{
    background: transparent;
  }
  .adminProposalsTable td.adminPropTableCell{
    display: grid;
    gap: 6px;
    padding: 0;
    border-bottom: 0;
    min-width: 0;
  }
  .adminProposalsTable td.adminPropTableCell::before{
    content: attr(data-label);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: #64748b;
  }
  .adminPropTableCell--wide,
  .adminProposalsTable td[data-label="Autorizacao gerente"],
  .adminProposalsTable td[data-label="Acao"]{
    grid-column: 1 / -1;
  }
  .adminPropMetaStack{
    gap: 8px;
  }
  .adminPropStatusGrid{
    gap: 8px;
  }
}
@media (max-width: 760px){
  .adminProposalsTable tr.adminPropRow{
    grid-template-columns: 1fr;
  }
  .adminProposalsTable td.adminPropTableCell{
    grid-column: auto !important;
  }
  .adminPropInlinePill,
  .adminBankPill,
  .adminPropMetaNote{
    white-space: normal;
  }
}
.adminCounterTitle {
  font-weight: 800;
  margin-bottom: 6px;
}
.adminCounterItem {
  border: 1px solid rgba(100, 116, 139, 0.22);
  border-radius: 10px;
  padding: 8px;
  margin-top: 6px;
  background: rgba(100, 116, 139, 0.08);
}
.adminCounterItem--client {
  border-color: rgba(217, 119, 6, 0.22);
  background: rgba(217, 119, 6, 0.08);
}
.adminCounterItem--team {
  border-color: rgba(2, 132, 199, 0.22);
  background: rgba(2, 132, 199, 0.08);
}
.adminCounterActor {
  font-weight: 700;
}
.adminFlowStack {
  margin-top: 6px;
  display: grid;
  gap: 6px;
}
.adminFlowBadge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 10px;
  border-radius: 10px;
  border: 1px solid rgba(100, 116, 139, 0.24);
  background: rgba(100, 116, 139, 0.12);
  color: #334155;
  font-weight: 700;
}
.adminFlowBadgeDot {
  width: 8px;
  height: 8px;
  border-radius: 999px;
  display: inline-block;
  background: #64748b;
}
.adminFlowBadge--bank-analise {
  border-color: rgba(37, 99, 235, 0.28);
  background: rgba(37, 99, 235, 0.12);
  color: #1d4ed8;
}
.adminFlowBadge--bank-analise .adminFlowBadgeDot { background: #2563eb; }
.adminFlowBadge--bank-aprovado {
  border-color: rgba(22, 163, 74, 0.28);
  background: rgba(22, 163, 74, 0.12);
  color: #166534;
}
.adminFlowBadge--bank-aprovado .adminFlowBadgeDot { background: #16a34a; }
.adminFlowBadge--contract-generated {
  border-color: rgba(124, 58, 237, 0.28);
  background: rgba(124, 58, 237, 0.12);
  color: #6d28d9;
}
.adminFlowBadge--contract-generated .adminFlowBadgeDot { background: #7c3aed; }
.adminFlowBadge--await-signature {
  border-color: rgba(217, 119, 6, 0.28);
  background: rgba(217, 119, 6, 0.12);
  color: #b45309;
}
.adminFlowBadge--await-signature .adminFlowBadgeDot { background: #d97706; }
.adminFlowBadge--contract-signed {
  border-color: rgba(22, 163, 74, 0.28);
  background: rgba(22, 163, 74, 0.12);
  color: #166534;
}
.adminFlowBadge--contract-signed .adminFlowBadgeDot { background: #16a34a; }
.adminFlowBadge--pending {
  border-color: rgba(100, 116, 139, 0.24);
  background: rgba(100, 116, 139, 0.12);
  color: #334155;
}
.adminFlowBadge--pending .adminFlowBadgeDot { background: #64748b; }

.adminBankPillCard {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-top: 6px;
  border: 1px solid rgba(15, 23, 42, 0.10);
  border-radius: 10px;
  padding: 8px;
  background: #fff;
}
.adminBankPill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 12px;
  border-radius: 999px;
  border: 1px solid rgba(100, 116, 139, 0.24);
  background: rgba(100, 116, 139, 0.12);
  color: #334155;
  font-weight: 700;
  font-size: 0.9rem;
}
.adminBankPillDot {
  width: 8px;
  height: 8px;
  border-radius: 999px;
  display: inline-block;
  background: #64748b;
}
.adminBankPill--bank-analise {
  border-color: rgba(37, 99, 235, 0.28);
  background: rgba(37, 99, 235, 0.12);
  color: #1d4ed8;
}
.adminBankPill--bank-analise .adminBankPillDot { background: #2563eb; }
.adminBankPill--bank-aprovado {
  border-color: rgba(22, 163, 74, 0.28);
  background: rgba(22, 163, 74, 0.12);
  color: #166534;
}
.adminBankPill--bank-aprovado .adminBankPillDot { background: #16a34a; }
.adminBankPill--contract-generated {
  border-color: rgba(124, 58, 237, 0.28);
  background: rgba(124, 58, 237, 0.12);
  color: #6d28d9;
}
.adminBankPill--contract-generated .adminBankPillDot { background: #7c3aed; }
.adminBankPill--await-signature {
  border-color: rgba(217, 119, 6, 0.28);
  background: rgba(217, 119, 6, 0.12);
  color: #b45309;
}
.adminBankPill--await-signature .adminBankPillDot { background: #d97706; }
.adminBankPill--contract-signed {
  border-color: rgba(22, 163, 74, 0.28);
  background: rgba(22, 163, 74, 0.12);
  color: #166534;
}
.adminBankPill--contract-signed .adminBankPillDot { background: #16a34a; }
.adminBankPill--pending {
  border-color: rgba(100, 116, 139, 0.24);
  background: rgba(100, 116, 139, 0.12);
  color: #334155;
}
.adminBankPill--pending .adminBankPillDot { background: #64748b; }

/* ===== Cliente Dashboard ===== */
.clienteDashboardPage .hero{
  background:
    radial-gradient(560px 220px at 0% 0%, rgba(15,157,88,.18), transparent 70%),
    linear-gradient(180deg, rgba(244,251,247,1), rgba(255,255,255,1) 68%);
}
.clienteDashboardPage .heroText h1{
  margin-bottom:6px;
}
.clienteDashTab{
  display:grid;
  gap:14px;
}
.clienteDashHero{
  display:grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(320px, .8fr);
  gap:14px;
  align-items:stretch;
}
.clienteEmissionTopCard{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0, 1.35fr) minmax(260px, .65fr);
  gap:18px;
  align-items:center;
  margin:16px;
  padding:24px;
  overflow:hidden;
  border-radius:24px;
  color:#f7fcf8;
  background:
    radial-gradient(300px 180px at 96% 8%, rgba(142, 255, 192, .24), transparent 70%),
    radial-gradient(240px 140px at 8% 0%, rgba(255, 255, 255, .16), transparent 72%),
    linear-gradient(135deg, #0f9d58 0%, #087044 52%, #064234 100%);
  box-shadow:0 18px 44px rgba(8, 112, 68, .18);
}
.clienteEmissionTopCard::after{
  content:"";
  position:absolute;
  width:180px;
  height:180px;
  right:-54px;
  bottom:-74px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.08);
  pointer-events:none;
}
.clienteEmissionTopText{
  position:relative;
  z-index:1;
}
.clienteEmissionTopText h2{
  margin:12px 0 10px;
  font-size:clamp(30px, 4vw, 46px);
  line-height:1;
  letter-spacing:-1px;
}
.clienteEmissionTopText p{
  margin:0;
  max-width:68ch;
  color:rgba(247,252,248,.86);
  font-size:16px;
  line-height:1.55;
}
.clienteEmissionTopFlow{
  position:relative;
  z-index:1;
  display:grid;
  gap:8px;
  padding:18px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:20px;
  background:rgba(255,255,255,.12);
  backdrop-filter:blur(8px);
}
.clienteEmissionTopFlow span{
  color:rgba(247,252,248,.82);
  font-size:13px;
  font-weight:800;
}
.clienteEmissionTopFlow strong{
  font-size:32px;
  line-height:1;
  letter-spacing:-.5px;
}
.clienteDashHeroMain,
.clienteDashWalletHero{
  border:1px solid var(--line);
  border-radius:24px;
  box-shadow:0 16px 38px rgba(16,24,40,.08);
}
.clienteDashHeroMain{
  padding:24px;
  color:#f7fcf8;
  background:
    radial-gradient(380px 180px at 100% 0%, rgba(122, 240, 170, .28), transparent 70%),
    linear-gradient(135deg, #0d7b46 0%, #0f9d58 48%, #083e2b 100%);
}
.clienteDashHeroMain h2{
  margin:10px 0 10px;
  font-size:clamp(26px, 3.8vw, 38px);
  line-height:1.06;
  letter-spacing:-.8px;
}
.clienteDashHeroMain p{
  margin:0;
  max-width:60ch;
  color:rgba(247,252,248,.84);
  font-size:15px;
  line-height:1.55;
}
.clienteDashEyebrow{
  display:inline-flex;
  align-items:center;
  padding:8px 12px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.10);
  color:#f7fcf8;
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.clienteDashHeroTags{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:18px;
}
.clienteDashHeroTags .tag{
  background:rgba(255,255,255,.12);
  color:#f7fcf8;
  border-color:rgba(255,255,255,.16);
}
.clienteDashWalletHero{
  padding:22px;
  background:
    linear-gradient(180deg, rgba(241,249,245,1), rgba(255,255,255,1)),
    #fff;
  position:relative;
  overflow:hidden;
}
.clienteDashWalletHero::after{
  content:"";
  position:absolute;
  width:180px;
  height:180px;
  right:-40px;
  bottom:-60px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(15,157,88,.18), rgba(15,157,88,0));
  pointer-events:none;
}
.clienteDashWalletLabel{
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:var(--g2);
}
.clienteDashWalletAmount{
  margin-top:12px;
  font-size:clamp(32px, 4vw, 46px);
  line-height:1;
  letter-spacing:-1px;
  font-weight:1000;
  color:#123624;
}
.clienteDashWalletHint{
  margin-top:10px;
  color:var(--muted);
  font-size:14px;
  line-height:1.5;
}
.clienteDashWalletStats{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin-top:18px;
}
.clienteDashWalletStats--single{
  grid-template-columns:1fr;
}
.clienteDashWalletStat{
  border:1px solid rgba(15,157,88,.12);
  border-radius:18px;
  padding:14px;
  background:#fff;
}
.clienteDashWalletStat span{
  display:block;
  color:var(--muted);
  font-size:12px;
  font-weight:800;
}
.clienteDashWalletStat strong{
  display:block;
  margin-top:8px;
  font-size:22px;
  line-height:1.1;
  font-weight:1000;
  color:#123624;
}
.clienteDashWalletMessage{
  margin-top:14px;
  padding:12px 14px;
  border-radius:16px;
  background:rgba(15,157,88,.08);
  border:1px solid rgba(15,157,88,.12);
  color:#0b5a33;
  font-size:13px;
  font-weight:700;
}
.clienteClubTopTabs .pill{
  min-width:110px;
}
.clienteClubPanel{
  display:grid;
  gap:12px;
}
.clienteClubProgramCard{
  overflow:hidden;
}
.clienteClubProgramGrid{
  display:grid;
  grid-template-columns:minmax(0, 1.15fr) minmax(320px, .85fr);
  gap:14px;
  align-items:stretch;
}
.clienteClubProgramLeft h2{
  margin:0 0 10px;
  letter-spacing:-.2px;
}
.clienteClubTrackList{
  display:grid;
  gap:10px;
  margin-top:8px;
}
.clienteClubTrackItem{
  display:grid;
  grid-template-columns:18px 1fr;
  gap:10px;
  align-items:flex-start;
}
.clienteClubTrackItem strong{
  display:block;
  margin-bottom:2px;
}
.clienteClubTrackItem .dot{
  width:12px;
  height:12px;
  border-radius:50%;
  margin-top:5px;
  border:1px solid rgba(15,23,42,.12);
}
.clienteClubTrackItem .dot.is-green{ background:#66bb6a; }
.clienteClubTrackItem .dot.is-blue{ background:#4fc3f7; }
.clienteClubTrackItem .dot.is-gold{ background:#ffca28; }
.clienteClubTrackHint{
  margin:14px 0 0;
  font-weight:800;
  color:#1f2f3f;
}
.clienteClubProgramVisual{
  border:1px solid rgba(15,157,88,.14);
  border-radius:18px;
  overflow:hidden;
  background:
    radial-gradient(220px 120px at 100% 0%, rgba(15,157,88,.18), transparent 70%),
    linear-gradient(135deg, #0f8e57, #155f67);
  color:#f7fcf8;
}
.clienteClubVisualCard{
  position:relative;
  height:100%;
  min-height:250px;
  padding:18px 20px;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  gap:8px;
}
.clienteClubVisualCard::before{
  content:"";
  position:absolute;
  right:-40px;
  top:-30px;
  width:180px;
  height:180px;
  border-radius:999px;
  background:rgba(255,255,255,.08);
  pointer-events:none;
}
.clienteClubVisualBadge{
  align-self:flex-start;
  display:inline-flex;
  padding:6px 10px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.22);
  background:rgba(255,255,255,.14);
  font-size:11px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.clienteClubVisualEyebrow{
  margin:0;
  font-size:14px;
  font-weight:700;
  color:rgba(247,252,248,.92);
}
.clienteClubVisualCard h3{
  margin:2px 0 4px;
  font-size:32px;
  line-height:1.1;
  letter-spacing:-.4px;
}
.clienteClubVisualCard p{
  margin:0;
  color:rgba(247,252,248,.9);
  font-size:15px;
  line-height:1.35;
}
.clienteClubVisualPromo{
  margin-top:6px;
  border:1px solid rgba(255,255,255,.22);
  background:rgba(255,255,255,.10);
  border-radius:10px;
  padding:12px 14px;
  font-size:17px;
  line-height:1.42;
  color:#f7fcf8;
  width:100%;
  max-width:100%;
  flex:1;
  display:flex;
  align-items:flex-start;
  white-space:pre-line;
}
.clienteClubVisualStats{
  margin-top:auto;
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:8px;
}
.clienteClubVisualStat{
  border:1px solid rgba(255,255,255,.22);
  background:rgba(255,255,255,.10);
  border-radius:10px;
  padding:8px 10px;
}
.clienteClubVisualStat span{
  display:block;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.04em;
  color:rgba(247,252,248,.82);
}
.clienteClubVisualStat strong{
  display:block;
  margin-top:2px;
  font-size:19px;
  line-height:1.1;
  color:#f7fcf8;
}
.clienteClubVisualMeta{
  margin-top:4px;
  border:1px solid rgba(255,255,255,.22);
  background:rgba(255,255,255,.12);
  border-radius:10px;
  padding:8px 10px;
  font-size:13px;
  font-weight:700;
  color:#f7fcf8;
}
.clienteClubKpiGrid{
  margin-top:14px;
  display:grid;
  grid-template-columns:repeat(6, minmax(0, 1fr));
  gap:10px;
}
.clienteClubKpiCard{
  border:1px solid rgba(15,157,88,.12);
  border-radius:14px;
  background:#fff;
  padding:12px 12px 10px;
  display:grid;
  gap:5px;
}
.clienteClubKpiCard span{
  font-size:11px;
  font-weight:900;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:var(--muted);
}
.clienteClubKpiCard strong{
  font-size:26px;
  line-height:1.05;
  letter-spacing:-.3px;
  color:#143321;
}
.clienteClubKpiCard small{
  font-size:11px;
  color:#66788a;
  line-height:1.35;
}
.clienteClubKpiCard.is-target{
  background:linear-gradient(135deg, #0f7cad, #0a5f88);
  border-color:rgba(13,116,164,.24);
}
.clienteClubKpiCard.is-target span,
.clienteClubKpiCard.is-target strong,
.clienteClubKpiCard.is-target small{
  color:#f4f9fc;
}
.clienteClubStoreCard{
  overflow:hidden;
}
.clienteClubChipRow{
  display:flex;
  gap:8px;
  overflow:auto;
  padding-bottom:6px;
  scrollbar-width:thin;
}
.clienteClubChip{
  border:1px solid var(--line);
  border-radius:999px;
  background:#fff;
  padding:8px 12px;
  font-size:13px;
  font-weight:700;
  white-space:nowrap;
  cursor:pointer;
}
.clienteClubChip.is-active{
  border-color:rgba(13,116,164,.28);
  background:#0f7cad;
  color:#fff;
}
.clienteClubStoreGrid{
  margin-top:12px;
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:10px;
}
.clienteClubStoreItem{
  border:1px solid rgba(15,157,88,.12);
  border-radius:14px;
  padding:12px;
  background:#fff;
}
.clienteClubStoreItem h3{
  margin:0;
  font-size:20px;
  line-height:1.1;
}
.clienteClubStoreMeta{
  margin-top:6px;
  color:var(--muted);
  font-size:13px;
}
.clienteClubStoreLevel{
  margin-top:4px;
  color:#2f5068;
  font-size:13px;
  font-weight:700;
}
.clienteClubStoreFoot{
  margin-top:10px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:8px;
}
.clienteClubStoreStatus{
  font-size:12px;
  font-weight:900;
  letter-spacing:.05em;
  text-transform:uppercase;
  color:#0b7f46;
}
.clienteClubStoreAction{
  border:1px solid var(--line);
  border-radius:10px;
  background:#f8fafb;
  color:#102432;
  font-size:12px;
  font-weight:800;
  padding:7px 10px;
}
.adminClubList{
  display:grid;
  gap:10px;
}
.adminClubRow{
  display:grid;
  grid-template-columns:1.1fr .9fr .9fr .9fr auto;
  gap:10px;
  border:1px solid rgba(15,157,88,.12);
  border-radius:14px;
  padding:10px;
  background:#fff;
}
.adminClubStoreRow{
  grid-template-columns:1fr 1fr .7fr .9fr .8fr .85fr .75fr auto auto;
}
.adminClubRowAction{
  display:flex;
  align-items:flex-end;
}
.adminClubLinkState{
  margin-top:6px;
  font-size:11px;
  line-height:1.2;
  font-weight:800;
  color:#64748b;
  display:inline-flex;
  align-items:center;
  gap:6px;
}
.adminClubLinkIcon{
  width:16px;
  height:16px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid currentColor;
  font-size:9px;
  font-weight:900;
  line-height:1;
}
.adminClubLinkState.is-ok{
  color:#0b7f46;
}
.adminClubLinkState.is-warn{
  color:#9a6700;
}
.adminClubLinkState.is-error{
  color:#991b1b;
}
.adminClubLinkState.is-ok .adminClubLinkIcon::before{
  content:'OK';
}
.adminClubLinkState.is-warn .adminClubLinkIcon::before{
  content:'...';
}
.adminClubLinkState.is-error .adminClubLinkIcon::before{
  content:'!';
}
.adminClubConfigCard{
  overflow:hidden;
}
.clienteDashMetrics{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:12px;
}
.clienteMetricCard{
  border:1px solid var(--line);
  border-radius:22px;
  padding:16px 18px;
  background:
    linear-gradient(180deg, rgba(255,255,255,1), rgba(248,252,249,1));
  box-shadow:0 14px 32px rgba(16,24,40,.06);
}
.clienteMetricTop{
  display:flex;
  align-items:center;
  gap:10px;
}
.clienteMetricIcon{
  width:38px;
  height:38px;
  border-radius:14px;
  display:grid;
  place-items:center;
  background:rgba(15,157,88,.10);
  border:1px solid rgba(15,157,88,.14);
  color:var(--g2);
  font-size:11px;
  font-weight:1000;
  letter-spacing:.05em;
}
.clienteMetricLabel{
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.06em;
  color:var(--muted);
}
.clienteMetricValue{
  margin-top:16px;
  font-size:clamp(26px, 3vw, 38px);
  line-height:1.06;
  letter-spacing:-.7px;
  font-weight:1000;
  color:#102432;
}
.clienteDashOverviewGrid{
  display:grid;
  grid-template-columns:minmax(0, 1.4fr) minmax(320px, .8fr);
  gap:14px;
}
.clienteDashSideStack{
  display:grid;
  gap:14px;
}
.clienteDashChartCard,
.clienteDashOperationalCard,
.clienteDashBreakdownCard,
.clienteDashActionCard,
.clienteDashProjectsCard,
.clienteDashMapCard,
.clienteDashStatementCard{
  overflow:hidden;
}
.clienteDashChartCard .cardHead,
.clienteDashOperationalCard .cardHead,
.clienteDashBreakdownCard .cardHead,
.clienteDashActionCard .cardHead,
.clienteDashProjectsCard .cardHead,
.clienteDashMapCard .cardHead,
.clienteDashStatementCard .cardHead{
  padding-bottom:0;
}
.clienteDashOperationalList .listItem{
  border-radius:18px;
  border-color:#edf3ef;
  background:linear-gradient(180deg, #ffffff, #f8fbf9);
}
.clienteDashMiniKpis{
  display:grid;
  gap:10px;
}
.clienteDashMiniKpi{
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto;
  align-items:center;
  gap:12px;
  padding:14px 16px;
  border:1px solid rgba(15,157,88,.12);
  border-radius:18px;
  background:#f9fcfa;
}
.clienteDashMiniKpi span{
  color:var(--muted);
  font-size:12px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.clienteDashMiniKpi strong{
  font-size:24px;
  line-height:1;
  letter-spacing:-.5px;
  font-weight:1000;
  color:#123624;
  text-align:right;
  overflow-wrap:anywhere;
}
.clienteDashPieGrid{
  margin-top:14px;
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:12px;
}
.clienteDashPieCard{
  border:1px solid rgba(15,157,88,.12);
  border-radius:18px;
  padding:12px 14px;
  background:linear-gradient(180deg, #ffffff, #f9fcfa);
}
.clienteDashPieCard h3{
  margin:0;
  font-size:16px;
  letter-spacing:-.2px;
}
.clienteDashPieCard p{
  margin:6px 0 0;
  font-size:12px;
}
.clienteDashPieCanvasWrap{
  margin-top:10px;
  height:200px;
}
.clienteDashPieCanvasWrap canvas{
  width:100% !important;
  height:100% !important;
}
.clienteDashChartFilter{
  margin-top:12px;
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}
.clienteDashChartFilter label{
  font-size:12px;
  color:var(--muted);
  font-weight:800;
}
.clienteDashChartFilter select{
  min-width:260px;
  max-width:100%;
}
.clienteDashWorkspace{
  display:grid;
  grid-template-columns:minmax(0, 1.35fr) minmax(320px, .85fr);
  gap:14px;
}
.clienteDashActionCard{
  background:
    radial-gradient(480px 220px at 0% 0%, rgba(15,157,88,.08), transparent 72%),
    linear-gradient(180deg, #ffffff, #fbfdfc);
}
.clienteDashActionIntro{
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:12px;
}
.clienteDashActionSummary{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:10px;
  margin-top:12px;
}
.clienteDashActionStat{
  padding:16px;
  border-radius:18px;
  border:1px solid rgba(15,157,88,.12);
  background:#fff;
}
.clienteDashActionStat.destaque{
  background:linear-gradient(135deg, rgba(15,157,88,.12), rgba(255,255,255,.95));
}
.clienteDashActionStat span{
  display:block;
  color:var(--muted);
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.clienteDashActionStat strong{
  display:block;
  margin-top:10px;
  font-size:28px;
  line-height:1.05;
  letter-spacing:-.5px;
  font-weight:1000;
}
.clienteDashActionGrid{
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(0, .95fr);
  gap:12px;
  margin-top:12px;
}
.clienteDashSocialBox,
.clienteDashWalletAction{
  border:1px solid rgba(15,157,88,.12);
  border-radius:20px;
  padding:16px;
  background:#fff;
}
.clienteDashWalletActions{
  display:grid;
  gap:12px;
}
.clienteDashFlowGrid{
  display:grid;
  grid-template-columns:minmax(0, .9fr) minmax(0, 1.1fr);
  gap:12px;
}
.clienteDashInlineMetrics{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:12px;
  margin:12px 0 0;
}
.clienteMetricCardCompact{
  padding:14px 16px;
  border-radius:18px;
  box-shadow:0 8px 20px rgba(16,24,40,.05);
}
.clienteMetricCardCompact .clienteMetricValue{
  font-size:clamp(1.6rem, 1.9vw, 2.1rem);
  line-height:1.1;
}
.clienteDashBoxHeader h3{
  margin:0;
  font-size:18px;
  letter-spacing:-.3px;
}
.clienteDashBoxHeader p{
  margin:6px 0 0;
  color:var(--muted);
  font-size:13px;
  line-height:1.5;
}
.clienteDashProjectRail{
  display:grid;
  gap:14px;
}
.clienteDashProjectChooser{
  display:grid;
  grid-template-columns:minmax(0, 1fr) max-content;
  gap:10px;
  align-items:end;
}
.clienteDashLinkedList{
  margin-top:12px;
  max-height:320px;
  overflow:auto;
  padding-right:4px;
}
.clienteDashLinkedList .listItem,
.clienteDashLinkedList .listLink{
  border-radius:18px;
  border-color:#edf3ef;
  background:linear-gradient(180deg, #ffffff, #f9fcfa);
}
.clienteDashLeafletMap{
  border-radius:20px;
  overflow:hidden;
  border:1px solid rgba(15,157,88,.12);
  touch-action:none;
  cursor:grab;
}
.clienteDashLeafletMap,
.clienteDashLeafletMap *{
  pointer-events:auto;
}
.clienteDashLeafletMap .leaflet-container{
  width:100%;
  height:100%;
}
.clienteDashLeafletMap .leaflet-grab{
  cursor:grab;
}

.clienteCadIdentityCard,
.clienteCadSectionCard{
  border-radius:28px;
}
.clienteCadIdentityWrap{
  display:grid;
  grid-template-columns:220px minmax(0,1fr);
  gap:28px;
  align-items:center;
}
.clienteCadAvatarWrap{
  position:relative;
  width:200px;
  height:200px;
}
.clienteCadAvatar{
  width:100%;
  height:100%;
  border-radius:999px;
  border:3px solid #d7efe3;
  background:linear-gradient(180deg,#f8fcfa,#eef6f2);
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}
.clienteCadAvatar img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.clienteCadAvatar span{
  font-size:48px;
  font-weight:900;
  color:#9ab3a8;
}
.clienteCadAvatarAction{
  position:absolute;
  right:2px;
  bottom:4px;
  width:46px;
  height:46px;
  border-radius:999px;
  padding:0;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:18px;
}
.clienteCadIdentityText h2{
  margin:0 0 8px;
}
.clienteCadIdentityText p{
  margin:0 0 12px;
  max-width:760px;
}
.clienteCadGrid{
  display:grid;
  gap:12px;
}
.clienteCadGrid2{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.clienteCadGrid3{
  grid-template-columns:0.8fr 1fr 1fr;
}
.clienteCadSectionCard .cardBody input,
.clienteCadSectionCard .cardBody select{
  background:#f4f6fb;
  border-color:#ebedf4;
  border-radius:18px;
  min-height:48px;
}
.clienteCadActionsBar{
  margin-top:16px;
  border:1px solid rgba(15,157,88,.12);
  background:linear-gradient(180deg,#ffffff,#f8fcfa);
  border-radius:20px;
  padding:14px 16px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
.clienteCadActionsBtns{
  display:flex;
  align-items:center;
  gap:10px;
}

@media (max-width: 900px){
  .clienteCadIdentityWrap{
    grid-template-columns:1fr;
    justify-items:center;
  }
  .clienteCadIdentityText{
    width:100%;
  }
  .clienteCadGrid2,
  .clienteCadGrid3{
    grid-template-columns:1fr;
  }
  .clienteCadActionsBar{
    flex-direction:column;
    align-items:flex-start;
  }
}
.clienteDashLeafletMap .leaflet-dragging .leaflet-grab,
.clienteDashLeafletMap .leaflet-drag-target{
  cursor:grabbing;
}
.clienteDashStatementHeader{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
}
.clienteDashStatementLegend{
  font-size:13px;
  color:var(--muted);
  font-weight:700;
}
.clienteDashTableWrap{
  border:1px solid #edf3ef;
  border-radius:18px;
  background:#fff;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}
.clienteDashTableWrap .table{
  min-width:780px;
}
.clienteDashKpiGrid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:10px;
}
.clienteDashWalletMini{
  border:1px solid rgba(15,157,88,.14);
  border-radius:18px;
  padding:14px;
  background:linear-gradient(180deg, rgba(248,253,250,.98), rgba(255,255,255,.98));
}
.clienteDashWalletMini span{
  display:block;
  color:#536274;
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.clienteDashWalletMini strong{
  display:block;
  margin-top:8px;
  color:#0d2a1d;
  font-size:22px;
  line-height:1.05;
}
.clienteDashWalletMini small{
  display:block;
  margin-top:7px;
  font-weight:700;
}
.adminEmissionRowMain td{
  vertical-align:top;
}
.adminEmissionTableWrap .table thead th:nth-child(1),
.adminEmissionTableWrap .table .adminEmissionRowMain td:nth-child(1){
  width:10%;
}
.adminEmissionTableWrap .table thead th:nth-child(2),
.adminEmissionTableWrap .table .adminEmissionRowMain td:nth-child(2){
  width:10%;
}
.adminEmissionTableWrap .table thead th:nth-child(3),
.adminEmissionTableWrap .table .adminEmissionRowMain td:nth-child(3){
  width:13%;
}
.adminEmissionTableWrap .table thead th:nth-child(4),
.adminEmissionTableWrap .table .adminEmissionRowMain td:nth-child(4){
  width:9%;
}
.adminEmissionTableWrap .table thead th:nth-child(5),
.adminEmissionTableWrap .table .adminEmissionRowMain td:nth-child(5){
  width:11%;
}
.adminEmissionTableWrap .table thead th:nth-child(6),
.adminEmissionTableWrap .table .adminEmissionRowMain td:nth-child(6){
  width:15%;
}
.adminEmissionTableWrap .table thead th:nth-child(7),
.adminEmissionTableWrap .table .adminEmissionRowMain td:nth-child(7){
  width:15%;
  text-align:center;
}
.adminEmissionTableWrap .table thead th:nth-child(8),
.adminEmissionTableWrap .table .adminEmissionRowMain td:nth-child(8){
  width:10%;
  text-align:center;
}
.adminEmissionReviewGrid{
  grid-template-columns:1fr;
  align-items:start;
}
.adminEmissionReviewGrid > .card{
  min-width:0;
}
.adminEmissionReviewGrid #adminEmissionClientResults{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(240px, 1fr));
  gap:10px;
}
.adminEmissionReviewGrid #adminEmissionClientResults .listItem{
  margin:0;
}
.adminEmissionRowDetail td{
  padding:8px 10px;
  border-bottom:1px solid rgba(0,0,0,.08);
  background:linear-gradient(180deg, #fbfdfc, #f7faf8);
}
.adminEmissionRowMeta td{
  padding:6px 10px 10px 10px;
  border-bottom:1px solid rgba(0,0,0,.08);
}
.adminEmissionSummaryReason{
  color:#334155;
  font-weight:700;
  max-width:240px;
  line-height:1.3;
}
.adminEmissionConfCell{
  display:grid;
  gap:8px;
  min-width:320px;
  max-width:100%;
}
.adminEmissionExtractBox{
  border:1px solid rgba(15,23,42,.12);
  background:rgba(248,250,252,.95);
  border-radius:12px;
  padding:8px 10px;
  font-size:12px;
  line-height:1.45;
  color:#334155;
}
.adminEmissionDecisionRow{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  flex-wrap:wrap;
}
.adminEmissionChecksGrid{
  display:grid;
  gap:6px;
  grid-template-columns:1fr 1fr;
}
.adminEmissionChecksGridCards{
  gap:8px;
}
.adminEmissionCheckCard{
  border:1px solid rgba(15,157,88,.2);
  border-radius:12px;
  background:linear-gradient(180deg, rgba(236,253,245,.75), rgba(248,250,252,.95));
  padding:8px 10px;
}
.adminEmissionCheckCard span{
  display:block;
  font-size:11px;
  color:#64748b;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.adminEmissionCheckCard strong{
  display:block;
  margin-top:3px;
  font-size:13px;
  color:#0f172a;
}
.adminEmissionReasonNote{
  padding:8px 10px;
}
.adminEmissionThirdParty{
  display:flex;
  gap:6px;
  align-items:center;
}
.adminEmissionActions{
  display:flex;
  gap:6px;
  flex-wrap:wrap;
}
.adminEmissionActions .btn{
  padding:7px 10px;
}
.adminEmissionConfCell select,
.adminEmissionConfCell input[type="text"]{
  width:100%;
}
.adminEmissionTableWrap{
  width:100%;
  max-width:100%;
  overflow:visible;
  -webkit-overflow-scrolling:touch;
}
.adminEmissionTableWrap .table{
  width:100%;
  min-width:0;
  table-layout:fixed;
}
.adminEmissionTableWrap .table thead th,
.adminEmissionTableWrap .table .adminEmissionRowMain td{
  white-space:normal;
  vertical-align:top;
  overflow-wrap:anywhere;
  word-break:normal;
}
.adminEmissionTableWrap .table .adminEmissionRowMain td:nth-child(1){
  width:10%;
}
.adminEmissionTableWrap .table .adminEmissionRowMain td:nth-child(2){
  width:10%;
}
.adminEmissionTableWrap .table .adminEmissionRowMain td:nth-child(3){
  width:13%;
}
.adminEmissionTableWrap .table .adminEmissionRowMain td:nth-child(6){
  width:15%;
}
.adminEmissionTableWrap .table .adminEmissionRowMain td:nth-child(7){
  width:15%;
  text-align:center;
}
.adminEmissionTableWrap .table .adminEmissionRowMain td:nth-child(8){
  width:10%;
}
.adminEmissionTableWrap .table .adminEmissionRowMain td:nth-child(6) small,
.adminEmissionTableWrap .table .adminEmissionRowMain td:nth-child(7) small,
.adminEmissionTableWrap .adminEmissionSummaryReason{
  white-space:normal;
  line-height:1.32;
}
.adminEmissionTableWrap .adminEmissionSummaryReason{
  max-width:100%;
  margin:0 auto;
  text-align:center;
}
.adminEmissionTableWrap .adminEmissionConfCell,
.adminEmissionTableWrap .adminEmissionExtractBox{
  min-width:0;
  max-width:100%;
}
.clienteDashboardPage .table thead th{
  background:#f7faf8;
  color:#395064;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.clienteDashboardPage .table tbody td{
  vertical-align:middle;
}
.clienteDashboardPage .card{
  border-radius:22px;
}
.clienteProjetoTab{
  gap:16px;
}
.clienteProjetoHero{
  display:grid;
  grid-template-columns:minmax(0, 1.45fr) minmax(320px, .85fr);
  gap:14px;
}
.clienteProjetoHeroMain,
.clienteProjetoHeroSide{
  border:1px solid var(--line);
  border-radius:24px;
  box-shadow:0 16px 38px rgba(16,24,40,.08);
}
.clienteProjetoHeroMain{
  padding:24px;
  color:#f7fcf8;
  background:
    radial-gradient(360px 180px at 100% 0%, rgba(122,240,170,.24), transparent 72%),
    linear-gradient(135deg, #0f5f40 0%, #0f9d58 52%, #113629 100%);
}
.clienteProjetoHeroMain h2{
  margin:10px 0 10px;
  font-size:clamp(26px, 3.8vw, 38px);
  line-height:1.08;
  letter-spacing:-.8px;
}
.clienteProjetoHeroMain p{
  margin:0;
  max-width:58ch;
  color:rgba(247,252,248,.84);
  font-size:15px;
  line-height:1.55;
}
.clienteProjetoMeta,
.clienteProjetoTags{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.clienteProjetoMeta{
  margin-top:18px;
}
.clienteProjetoTags{
  margin-top:12px;
}
.clienteProjetoMeta .tag,
.clienteProjetoTags .tag{
  background:rgba(255,255,255,.12);
  color:#f7fcf8;
  border-color:rgba(255,255,255,.16);
}
.clienteProjetoHeroSide{
  padding:20px;
  background:
    radial-gradient(180px 180px at 100% 100%, rgba(15,157,88,.12), transparent 72%),
    linear-gradient(180deg, #f3faf6, #ffffff);
  display:grid;
  gap:12px;
  align-content:start;
}
.clienteProjetoMiniStat{
  padding:16px;
  border-radius:18px;
  border:1px solid rgba(15,157,88,.12);
  background:#fff;
}
.clienteProjetoMiniStat span{
  display:block;
  color:var(--muted);
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.clienteProjetoMiniStat strong{
  display:block;
  margin-top:10px;
  font-size:32px;
  line-height:1;
  letter-spacing:-.7px;
  font-weight:1000;
  color:#123624;
}
.clienteProjetoActions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.clienteProjetoMetrics{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:12px;
}
.clienteProjetoMetricCard{
  padding:18px;
  border-radius:22px;
  border:1px solid var(--line);
  background:linear-gradient(180deg, #ffffff, #f8fcf9);
  box-shadow:0 14px 32px rgba(16,24,40,.05);
}
.clienteProjetoMetricCard span{
  display:block;
  color:var(--muted);
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.clienteProjetoMetricCard strong{
  display:block;
  margin-top:12px;
  font-size:30px;
  line-height:1.05;
  letter-spacing:-.6px;
  font-weight:1000;
  color:#102432;
}
.clienteProjetoMetricCard small{
  display:block;
  margin-top:10px;
  color:var(--muted);
  font-size:13px;
  line-height:1.45;
}
.clienteProjetoWorkspace{
  display:grid;
  grid-template-columns:minmax(0, 1.35fr) minmax(320px, .85fr);
  gap:14px;
}
.clienteProjetoMainStack,
.clienteProjetoSideStack{
  display:grid;
  gap:14px;
}
.clienteProjetoSectionCard{
  overflow:hidden;
}
.clienteProjetoSupportGrid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:12px;
}
.clienteProjetoSupportBox{
  padding:16px;
  border-radius:18px;
  border:1px solid rgba(15,157,88,.12);
  background:#f9fcfa;
}
.clienteProjetoSupportBox span{
  display:block;
  color:var(--muted);
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.clienteProjetoSupportBox strong{
  display:block;
  margin-top:10px;
  font-size:28px;
  line-height:1.05;
  letter-spacing:-.5px;
  font-weight:1000;
  color:#123624;
}
.clienteProjetoTimeline{
  display:grid;
  gap:12px;
}
.clienteProjetoTimelineItem{
  position:relative;
  padding:16px 16px 16px 20px;
  border:1px solid #edf3ef;
  border-radius:18px;
  background:linear-gradient(180deg, #ffffff, #f8fbf9);
}
.clienteProjetoTimelineItem::before{
  content:"";
  position:absolute;
  left:0;
  top:14px;
  bottom:14px;
  width:4px;
  border-radius:999px;
  background:linear-gradient(180deg, var(--g), rgba(15,157,88,.18));
}
.clienteProjetoTimelineItem strong{
  display:block;
  font-size:15px;
  letter-spacing:-.2px;
}
.clienteProjetoTimelineItem span{
  display:block;
  margin-top:6px;
  color:var(--muted);
  font-size:13px;
  line-height:1.5;
}
.clienteProjetoMap{
  min-height:320px;
}
.clienteProjetoPanelKpis{
  display:grid;
  gap:12px;
}
.clienteProjetoPanelKpi{
  padding:14px 16px;
  border-radius:18px;
  border:1px solid rgba(15,157,88,.12);
  background:#f9fcfa;
}
.clienteProjetoPanelKpi span{
  display:block;
  color:var(--muted);
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.clienteProjetoPanelKpi strong{
  display:block;
  margin-top:8px;
  font-size:24px;
  line-height:1.05;
  font-weight:1000;
  color:#123624;
}
.clienteProjetoNextList{
  display:grid;
  gap:10px;
}
.clienteProjetoNextItem{
  padding:14px 16px;
  border-radius:18px;
  border:1px solid rgba(15,157,88,.12);
  background:#f9fcfa;
}
.clienteProjetoNextItem strong{
  display:block;
  font-size:15px;
}
.clienteProjetoNextItem span{
  display:block;
  margin-top:6px;
  color:var(--muted);
  font-size:13px;
  line-height:1.45;
}
@media (max-width: 1120px){
  .clienteDashHero,
  .clienteEmissionTopCard,
  .clienteClubProgramGrid,
  .clienteDashOverviewGrid,
  .clienteDashWorkspace,
  .clienteProjetoHero,
  .clienteProjetoWorkspace{
    grid-template-columns:1fr;
  }
}
@media (max-width: 920px){
  .clienteDashMetrics,
  .clienteClubKpiGrid,
  .clienteDashKpiGrid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
  .clienteClubVisualCard h3{
    font-size:30px;
  }
  .clienteClubVisualCard p{
    font-size:15px;
  }
  .clienteClubVisualPromo{
    font-size:16px;
    line-height:1.4;
    padding:12px 14px;
  }
  .clienteClubVisualStats{
    grid-template-columns:1fr;
  }
  .adminClubRow,
  .adminClubStoreRow{
    grid-template-columns:1fr 1fr;
  }
  .adminClubRowAction{
    grid-column:1 / -1;
  }
  .clienteClubStoreGrid{
    grid-template-columns:1fr;
  }
  .clienteDashPieGrid{
    grid-template-columns:1fr;
  }
  .clienteDashActionIntro,
  .clienteDashActionGrid,
  .clienteDashFlowGrid,
  .clienteDashActionSummary,
  .clienteDashInlineMetrics,
  .clienteProjetoMetrics,
  .clienteProjetoSupportGrid{
    grid-template-columns:1fr;
  }
  .adminEmissionChecksGrid{
    grid-template-columns:1fr;
  }
  .adminEmissionReviewGrid{
    grid-template-columns:1fr;
  }
  .adminEmissionConfCell{
    min-width:240px;
    max-width:100%;
  }
  .adminEmissionSummaryReason{
    max-width:none;
  }
}
@media (max-width: 640px){
  .clienteDashboardPage{
    overflow-x:hidden;
  }
  .clienteDashboardPage .container,
  .clienteDashboardPage .card,
  .clienteDashboardPage .cardBody{
    min-width:0;
    max-width:100%;
  }
  .clienteDashboardPage .pillRow{
    gap:6px;
  }
  .clienteDashboardPage .pillRow .pill{
    font-size:11px;
    padding:7px 10px;
  }
  #clienteDashTabProjeto .row{
    grid-template-columns:1fr;
  }
  #clienteDashTabProjeto .clienteProjetoHero,
  #clienteDashTabProjeto .clienteProjetoWorkspace,
  #clienteDashTabProjeto .clienteDashWorkspace,
  #clienteDashTabProjeto .grid2{
    grid-template-columns:1fr;
    gap:12px;
  }
  #clienteDashTabProjeto .clienteProjetoHeroMain,
  #clienteDashTabProjeto .clienteProjetoHeroSide,
  #clienteDashTabProjeto .clienteDashWalletAction,
  #clienteDashTabProjeto .clienteDashProjectsCard,
  #clienteDashTabProjeto .clienteDashMapCard{
    padding:16px;
    min-width:0;
    overflow:hidden;
  }
  #clienteDashTabProjeto .clienteProjetoHeroMain h2{
    font-size:32px;
    line-height:1.08;
    letter-spacing:0;
    overflow-wrap:anywhere;
    word-break:break-word;
  }
  #clienteDashTabProjeto .clienteProjetoHeroMain p{
    overflow-wrap:anywhere;
    word-break:break-word;
  }
  #clienteDashTabProjeto .clienteProjetoMiniStat strong,
  #clienteDashTabProjeto .clienteProjetoMetricCard strong,
  #clienteDashTabProjeto .clienteMetricValue{
    font-size:26px;
  }
  #clienteDashTabProjeto .clienteDashTableWrap{
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
  }
  #clienteDashTabProjeto .clienteDashTableWrap .table{
    min-width:760px;
  }
  #clienteDashTabProjeto .mapaHeader{
    align-items:flex-start;
  }
  #clienteDashTabProjeto .mapaHeader .btnOutline{
    width:100%;
    text-align:center;
  }
  #clienteDashTabProjeto .leafletMap,
  #clienteDashTabProjeto .clienteDashLeafletMap,
  #clienteDashTabProjeto .clienteProjetoMap{
    height:240px !important;
    min-height:240px !important;
  }
  #clienteDashTabProjeto .mapCardFrame{
    overflow:hidden;
  }
  .clienteDashMetrics,
  .clienteDashWalletStats,
  .clienteDashKpiGrid,
  .clienteClubKpiGrid,
  .clienteProjetoMetrics{
    grid-template-columns:1fr;
  }
  .adminClubRow,
  .adminClubStoreRow{
    grid-template-columns:1fr;
  }
  .clienteDashHeroMain,
  .clienteDashWalletHero,
  .clienteEmissionTopCard,
  .clienteClubVisualCard,
  .clienteProjetoHeroMain,
  .clienteProjetoHeroSide{
    padding:18px;
  }
  .clienteClubVisualCard h3{
    font-size:27px;
  }
  .clienteClubVisualCard p{
    font-size:14px;
  }
  .clienteClubVisualPromo{
    font-size:15px;
    line-height:1.35;
  }
  .clienteDashProjectChooser{
    grid-template-columns:1fr;
  }
  .clienteDashMiniKpi{
    grid-template-columns:1fr;
    gap:8px;
    align-items:flex-start;
  }
  .clienteDashMiniKpi strong{
    text-align:left;
    font-size:20px;
    line-height:1.1;
  }
  .clienteDashTableWrap .table{
    min-width:840px;
  }
  #clienteDashTabEmissoes .clienteEmissionTopCard{
    grid-template-columns:1fr;
    gap:12px;
    height:330px;
    min-height:330px;
    margin:10px 6px;
  }
  #clienteDashTabEmissoes .clienteDashHeroMain{
    height:330px;
    min-height:330px;
    display:flex;
    flex-direction:column;
  }
  #clienteDashTabEmissoes .clienteEmissionTopFlow{
    align-self:end;
  }
  .clienteMetricValue,
  .clienteDashWalletAmount,
  .clienteClubKpiCard strong,
  .clienteProjetoMiniStat strong,
  .clienteProjetoMetricCard strong{
    font-size:30px;
  }
}
@media (min-width: 921px) {
  .adminProposalTwoCol .adminProposalMainCard:first-child {
    border-right: 2px solid rgba(15, 118, 110, 0.25);
  }
}
@media (max-width: 920px) {
  .adminProposalHeader h3 {
    font-size: 18px;
  }
  .adminProposalSendBtnRow .btn.primary {
    width: 100%;
  }
}

@media (max-width: 640px) {
  .page[data-page="/admin"],
  .page[data-page="/admin_projetos"] {
    overflow-x: hidden;
  }

  .page[data-page="/admin"] .container,
  .page[data-page="/admin_projetos"] .container {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    padding-left: 12px;
    padding-right: 12px;
    box-sizing: border-box;
  }

  .page[data-page="/admin"] .hero,
  .page[data-page="/admin_projetos"] .hero {
    padding: 18px 16px;
    border-radius: 16px;
  }

  .page[data-page="/admin"] .heroText,
  .page[data-page="/admin_projetos"] .heroText,
  .page[data-page="/admin"] .card,
  .page[data-page="/admin_projetos"] .card,
  .page[data-page="/admin"] .cardHead,
  .page[data-page="/admin_projetos"] .cardHead,
  .page[data-page="/admin"] .cardBody,
  .page[data-page="/admin_projetos"] .cardBody,
  .page[data-page="/admin"] .kpi,
  .page[data-page="/admin_projetos"] .kpi,
  .page[data-page="/admin"] .list,
  .page[data-page="/admin_projetos"] .list,
  .page[data-page="/admin"] .item,
  .page[data-page="/admin_projetos"] .item {
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
    overflow-wrap: anywhere;
  }

  .page[data-page="/admin"] .heroText h1,
  .page[data-page="/admin_projetos"] .heroText h1 {
    font-size: 24px;
    line-height: 1.12;
    letter-spacing: 0;
    overflow-wrap: anywhere;
  }

  .page[data-page="/admin"] h2,
  .page[data-page="/admin_projetos"] h2,
  .page[data-page="/admin"] .cardBody div[style*="font-size:26px"],
  .page[data-page="/admin_projetos"] .cardBody div[style*="font-size:26px"] {
    font-size: 21px !important;
    line-height: 1.16 !important;
    letter-spacing: 0 !important;
    overflow-wrap: anywhere;
  }

  .page[data-page="/admin"] p,
  .page[data-page="/admin_projetos"] p,
  .page[data-page="/admin"] .muted,
  .page[data-page="/admin_projetos"] .muted,
  .page[data-page="/admin"] .note,
  .page[data-page="/admin_projetos"] .note,
  .page[data-page="/admin"] .subTiny,
  .page[data-page="/admin_projetos"] .subTiny,
  .page[data-page="/admin"] label,
  .page[data-page="/admin_projetos"] label {
    max-width: 100%;
    overflow-wrap: anywhere;
    word-break: normal;
  }

  .page[data-page="/admin"] .pillRow,
  .page[data-page="/admin_projetos"] .pillRow {
    gap: 7px;
  }

  .page[data-page="/admin"] .pill,
  .page[data-page="/admin_projetos"] .pill {
    max-width: 100%;
    white-space: normal;
    text-align: center;
    line-height: 1.2;
    padding: 7px 10px;
  }

  .page[data-page="/admin"] .row,
  .page[data-page="/admin_projetos"] .row,
  .page[data-page="/admin"] .grid,
  .page[data-page="/admin_projetos"] .grid,
  .page[data-page="/admin"] .grid2,
  .page[data-page="/admin_projetos"] .grid2,
  .page[data-page="/admin"] .grid3,
  .page[data-page="/admin_projetos"] .grid3,
  .page[data-page="/admin"] .grid4,
  .page[data-page="/admin_projetos"] .grid4,
  .page[data-page="/admin"] .kpiRow,
  .page[data-page="/admin_projetos"] .kpiRow {
    grid-template-columns: 1fr !important;
  }

  .page[data-page="/admin"] input,
  .page[data-page="/admin_projetos"] input,
  .page[data-page="/admin"] select,
  .page[data-page="/admin_projetos"] select,
  .page[data-page="/admin"] textarea,
  .page[data-page="/admin_projetos"] textarea {
    max-width: 100%;
    min-width: 0 !important;
    box-sizing: border-box;
  }

  .page[data-page="/admin"] .btn,
  .page[data-page="/admin_projetos"] .btn {
    max-width: 100%;
    white-space: normal;
    line-height: 1.2;
  }

  .page[data-page="/admin"] div[style*="overflow:auto"],
  .page[data-page="/admin_projetos"] div[style*="overflow:auto"],
  .page[data-page="/admin"] .cardBody[style*="overflow:auto"],
  .page[data-page="/admin_projetos"] .cardBody[style*="overflow:auto"] {
    max-width: 100%;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
  }

  .page[data-page="/admin"] table,
  .page[data-page="/admin_projetos"] table {
    min-width: 720px;
  }

  .page[data-page="/admin"] .adminProposalsTable {
    min-width: 0 !important;
  }

  .page[data-page="/admin"] .adminProposalsTable,
  .page[data-page="/admin"] .adminProposalsTable tbody,
  .page[data-page="/admin"] .adminProposalsTable tr.adminPropRow {
    width: 100%;
    max-width: 100%;
  }

  .page[data-page="/admin"] #adminPropsPipeline .card {
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
  }

  .page[data-page="/admin"] #adminPropsPipeline .card .cardBody {
    min-width: 0;
    max-width: 100%;
  }

  .page[data-page="/admin"] #adminPropsPipeline,
  .page[data-page="/admin"] #adminPropsPipeline * {
    overflow-wrap: normal;
    word-break: normal;
  }

  .page[data-page="/admin"] #adminPropsPipeline .card .cardBody > div[style*="display:flex; align-items:flex-start"] {
    flex-direction: column;
    align-items: flex-start !important;
  }

  .page[data-page="/admin"] #adminPropsPipeline .card .cardBody > div[style*="display:flex; align-items:flex-start"] > div {
    max-width: 100%;
    min-width: 0;
  }

  .page[data-page="/admin"] #adminPropsPipeline .card .cardBody > div[style*="display:flex; align-items:flex-start"] > div:last-child {
    font-size: 1.35rem !important;
    white-space: normal !important;
    overflow-wrap: normal;
    word-break: normal;
  }

  .page[data-page="/admin"] #adminPropsPipeline .subTiny {
    max-width: 100%;
    white-space: normal;
  }

  .page[data-page="/admin"] .adminReportsEsgTableWrap {
    width: 100%;
    max-width: 100%;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
    border: 1px solid rgba(15,23,42,.08);
    border-radius: 12px;
  }

  .page[data-page="/admin"] .adminReportsEsgTable {
    min-width: 1180px !important;
    table-layout: auto;
    font-size: 12px;
  }

  .page[data-page="/admin"] .adminReportsEsgTable th,
  .page[data-page="/admin"] .adminReportsEsgTable td {
    white-space: nowrap;
    word-break: normal;
    overflow-wrap: normal;
    vertical-align: middle;
  }

  .page[data-page="/admin"] .adminReportsEsgTable th:nth-child(2),
  .page[data-page="/admin"] .adminReportsEsgTable td:nth-child(2),
  .page[data-page="/admin"] .adminReportsEsgTable th:nth-child(3),
  .page[data-page="/admin"] .adminReportsEsgTable td:nth-child(3),
  .page[data-page="/admin"] .adminReportsEsgTable th:nth-child(6),
  .page[data-page="/admin"] .adminReportsEsgTable td:nth-child(6) {
    min-width: 150px;
    white-space: normal;
  }

  .page[data-page="/admin"] .adminReportsEsgTable tfoot td {
    white-space: nowrap;
  }

  #adminReportsEsgPixModal.adminReportsEsgPixModal {
    padding: 10px !important;
    align-items: flex-start !important;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }

  #adminReportsEsgPixModal .adminReportsEsgPixCard {
    width: min(100%, 420px) !important;
    margin: 10px auto !important;
    border-radius: 16px;
    max-height: none;
  }

  #adminReportsEsgPixModal .adminReportsEsgPixHead {
    align-items: flex-start !important;
    gap: 10px !important;
    padding-bottom: 8px;
  }

  #adminReportsEsgPixModal .adminReportsEsgPixHead h2 {
    font-size: 18px !important;
    line-height: 1.18 !important;
  }

  #adminReportsEsgPixModal .adminReportsEsgPixClose {
    flex: 0 0 auto;
    padding: 8px 10px;
    white-space: nowrap !important;
    line-height: 1 !important;
  }

  #adminReportsEsgPixModal .cardBody .grid2 {
    grid-template-columns: 1fr !important;
    gap: 12px;
  }

  #adminReportsEsgPixModal .kpi.alt {
    padding: 12px;
  }

  #adminReportsEsgPixModal .kpi .v,
  #adminReportsEsgPixModal .kpi.alt .v {
    font-size: 18px !important;
    line-height: 1.15;
    overflow-wrap: anywhere;
  }

  #adminReportsEsgPixModal .adminReportsEsgPixQr {
    width: 190px !important;
    min-height: 190px !important;
    margin: 0 auto !important;
    border-radius: 14px !important;
  }

  #adminReportsEsgPixModal .adminReportsEsgPixQr canvas,
  #adminReportsEsgPixModal .adminReportsEsgPixQr img {
    max-width: 170px !important;
    max-height: 170px !important;
  }

  #adminReportsEsgPixModal .adminReportsEsgPixPayload {
    max-height: 92px;
    overflow: auto;
    font-size: 10px;
    line-height: 1.35;
    word-break: break-all !important;
    overflow-wrap: anywhere !important;
  }

  .page[data-page="/admin"] .leafletMap,
  .page[data-page="/admin_projetos"] .leafletMap,
  .page[data-page="/admin"] .adminLeafletMap,
  .page[data-page="/admin_projetos"] .adminLeafletMap {
    height: 250px;
    min-height: 250px;
  }
}

@media (max-width: 640px) {
  .page[data-page="/admin"][data-admin-tab="config"] {
    overflow-x: hidden;
  }

  .page[data-page="/admin"][data-admin-tab="config"] > .container {
    padding-left: 8px;
    padding-right: 8px;
  }

  .page[data-page="/admin"][data-admin-tab="config"] .card {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    padding: 12px;
    overflow: hidden;
  }

  .page[data-page="/admin"][data-admin-tab="config"] .card .card {
    padding: 10px;
    border-radius: 16px;
  }

  .page[data-page="/admin"][data-admin-tab="config"] .card .card .card {
    padding: 10px;
    border-radius: 14px;
  }

  .page[data-page="/admin"][data-admin-tab="config"] .adminConfigRootCard {
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
    overflow: visible;
  }

  .page[data-page="/admin"][data-admin-tab="config"] .adminConfigRootCard > .cardHead {
    padding: 14px;
    border: 1px solid var(--line);
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 10px 28px rgba(16,24,40,.06);
  }

  .page[data-page="/admin"][data-admin-tab="config"] .adminConfigRootCard > .cardBody {
    padding: 0;
  }

  .page[data-page="/admin"][data-admin-tab="config"] .adminConfigRootCard > .cardBody > .note {
    margin-top: 10px;
    padding: 12px;
    border-radius: 14px;
    background: rgba(15,157,88,.06);
    border: 1px solid rgba(15,157,88,.12);
  }

  .page[data-page="/admin"][data-admin-tab="config"] .adminConfigRootCard > .cardBody > .card,
  .page[data-page="/admin"][data-admin-tab="config"] .adminConfigRootCard > .cardBody > div > .card {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .page[data-page="/admin"][data-admin-tab="config"] .cardHead,
  .page[data-page="/admin"][data-admin-tab="config"] .cardBody {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    padding-left: 0;
    padding-right: 0;
  }

  .page[data-page="/admin"][data-admin-tab="config"] .cardHead h2 {
    font-size: 20px !important;
    line-height: 1.15 !important;
    overflow-wrap: normal;
    word-break: normal;
  }

  .page[data-page="/admin"][data-admin-tab="config"] .cardHead p,
  .page[data-page="/admin"][data-admin-tab="config"] .note,
  .page[data-page="/admin"][data-admin-tab="config"] .muted {
    overflow-wrap: normal;
    word-break: normal;
  }

  .page[data-page="/admin"][data-admin-tab="config"] .row,
  .page[data-page="/admin"][data-admin-tab="config"] .grid2 {
    grid-template-columns: 1fr !important;
    gap: 10px;
  }

  .page[data-page="/admin"][data-admin-tab="config"] input,
  .page[data-page="/admin"][data-admin-tab="config"] select,
  .page[data-page="/admin"][data-admin-tab="config"] textarea {
    width: 100%;
  }

  .page[data-page="/admin"][data-admin-tab="config"] label.pill {
    min-height: 44px;
    justify-content: center !important;
    white-space: normal;
    line-height: 1.25;
  }

  .page[data-page="/admin"][data-admin-tab="config"] .pillRow {
    align-items: stretch;
    width: 100%;
  }

  .page[data-page="/admin"][data-admin-tab="config"] .pillRow > .btn,
  .page[data-page="/admin"][data-admin-tab="config"] .pillRow > button.btn {
    flex: 1 1 100%;
    justify-content: center;
    min-height: 42px;
    text-align: center;
    white-space: normal !important;
    overflow-wrap: normal;
    word-break: normal;
  }

  .page[data-page="/admin"][data-admin-tab="config"] .kpi {
    padding: 10px;
    border-radius: 14px;
  }

  .page[data-page="/admin"][data-admin-tab="config"] .kpi .v,
  .page[data-page="/admin"][data-admin-tab="config"] .kpi.alt .v {
    font-size: 22px !important;
    line-height: 1.15;
    overflow-wrap: normal;
    word-break: normal;
  }

  .page[data-page="/admin"][data-admin-tab="config"] #adminQuickRulesResumo,
  .page[data-page="/admin"][data-admin-tab="config"] #adminQuickRulesResumo * {
    overflow-wrap: normal;
    word-break: normal;
  }

  .page[data-page="/admin"][data-admin-tab="config"] #adminEsgRegionsList .listItem,
  .page[data-page="/admin"][data-admin-tab="config"] #adminEsgProjectsTopList .listItem {
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
    align-items: stretch;
    padding: 10px;
    overflow-wrap: normal;
    word-break: normal;
  }

  .page[data-page="/admin"][data-admin-tab="config"] #adminEsgRegionsList .listItem .pill,
  .page[data-page="/admin"][data-admin-tab="config"] #adminEsgProjectsTopList .listItem .pill {
    width: 100%;
    justify-content: center;
    white-space: nowrap;
    overflow-wrap: normal;
    word-break: normal;
  }

  .page[data-page="/admin"][data-admin-tab="config"] #adminEsgRegionsAdminList .listItem,
  .page[data-page="/admin"][data-admin-tab="config"] #adminEsgProjectsAdminList .listItem,
  .page[data-page="/admin"][data-admin-tab="config"] #adminFinanceInstitutionList .listItem {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
    align-items: stretch;
    padding: 12px;
    overflow-wrap: normal;
    word-break: normal;
  }

  .page[data-page="/admin"][data-admin-tab="config"] #adminEsgRegionsAdminList .liMain,
  .page[data-page="/admin"][data-admin-tab="config"] #adminEsgProjectsAdminList .liMain,
  .page[data-page="/admin"][data-admin-tab="config"] #adminFinanceInstitutionList .liMain {
    min-width: 0;
    max-width: 100%;
  }

  .page[data-page="/admin"][data-admin-tab="config"] #adminEsgRegionsAdminList .liMain strong,
  .page[data-page="/admin"][data-admin-tab="config"] #adminEsgProjectsAdminList .liMain strong,
  .page[data-page="/admin"][data-admin-tab="config"] #adminFinanceInstitutionList .liMain strong {
    display: block;
    font-size: 14px;
    line-height: 1.2;
    overflow-wrap: normal;
    word-break: normal;
  }

  .page[data-page="/admin"][data-admin-tab="config"] #adminEsgRegionsAdminList .liMain .muted,
  .page[data-page="/admin"][data-admin-tab="config"] #adminEsgProjectsAdminList .liMain .muted,
  .page[data-page="/admin"][data-admin-tab="config"] #adminFinanceInstitutionList .liMain .muted {
    font-size: 12px;
    line-height: 1.35;
    overflow-wrap: normal;
    word-break: normal;
  }

  .page[data-page="/admin"][data-admin-tab="config"] #adminEsgRegionsAdminList .listItem > .pillRow,
  .page[data-page="/admin"][data-admin-tab="config"] #adminEsgProjectsAdminList .listItem > .pillRow,
  .page[data-page="/admin"][data-admin-tab="config"] #adminFinanceInstitutionList .listItem > .pillRow {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    width: 100%;
  }

  .page[data-page="/admin"][data-admin-tab="config"] #adminEsgProjectsAdminList .listItem > .pillRow {
    grid-template-columns: 1fr;
  }

  .page[data-page="/admin"][data-admin-tab="config"] #adminEsgRegionsAdminList .listItem > .pillRow .pill,
  .page[data-page="/admin"][data-admin-tab="config"] #adminEsgProjectsAdminList .listItem > .pillRow .pill,
  .page[data-page="/admin"][data-admin-tab="config"] #adminFinanceInstitutionList .listItem > .pillRow .pill,
  .page[data-page="/admin"][data-admin-tab="config"] #adminEsgRegionsAdminList .listItem > .pillRow .btn,
  .page[data-page="/admin"][data-admin-tab="config"] #adminEsgProjectsAdminList .listItem > .pillRow .btn,
  .page[data-page="/admin"][data-admin-tab="config"] #adminFinanceInstitutionList .listItem > .pillRow .btn {
    width: 100%;
    min-width: 0;
    justify-content: center;
    text-align: center;
    white-space: nowrap !important;
    word-break: normal;
    overflow-wrap: normal;
  }

  .page[data-page="/admin"][data-admin-tab="config"] #adminProdCfgFilterBar {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }

  .page[data-page="/admin"][data-admin-tab="config"] #adminProdCfgFilterBar .pill,
  .page[data-page="/admin"][data-admin-tab="config"] #adminProdCfgFilterBar select {
    width: 100%;
    min-width: 0 !important;
    max-width: 100% !important;
    white-space: nowrap;
  }

  .page[data-page="/admin"][data-admin-tab="config"] #adminProdCfgCategoryFilter {
    grid-column: 1 / -1;
  }

  .page[data-page="/admin"][data-admin-tab="config"] #adminProductConfigsBody {
    overflow-wrap: normal;
    word-break: normal;
  }

  .page[data-page="/admin"][data-admin-tab="config"] .adminProductConfigsTableWrap {
    border-radius: 14px;
  }

  .page[data-page="/admin"][data-admin-tab="config"] .adminProductConfigsTable,
  .page[data-page="/admin"][data-admin-tab="config"] .cardBody[style*="overflow:auto"] table:has(#adminProductConfigsBody),
  .page[data-page="/admin"][data-admin-tab="config"] table:has(#adminProductConfigsBody) {
    min-width: 980px !important;
    table-layout: auto;
  }

  .page[data-page="/admin"][data-admin-tab="config"] .adminProductConfigsTable th,
  .page[data-page="/admin"][data-admin-tab="config"] .adminProductConfigsTable td,
  .page[data-page="/admin"][data-admin-tab="config"] table:has(#adminProductConfigsBody) th,
  .page[data-page="/admin"][data-admin-tab="config"] table:has(#adminProductConfigsBody) td {
    white-space: nowrap;
    word-break: normal;
    overflow-wrap: normal;
  }

  #adminProdCfgModal {
    padding: 10px !important;
  }

  #adminProdCfgModal > div {
    max-width: 100% !important;
    margin: 8px auto !important;
  }

  #adminProdCfgModal .card {
    border-radius: 16px;
  }

  #adminProdCfgModal .cardHead {
    display: grid !important;
    grid-template-columns: 1fr;
    align-items: stretch !important;
  }

  #adminProdCfgModal .cardHead .btn {
    width: 100%;
    justify-content: center;
    white-space: nowrap !important;
  }

  #adminProdCfgModal .cardBody > .pillRow[style*="justify-content:space-between"] {
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
  }
}
