:root{--blue:#075fae;--cyan:#0ba7d1;--yellow:#ffc928;--line:#dbeafe;--muted:#64748b;--bg:#f4f7fb;--text:#132238}*{box-sizing:border-box}body.ec-body,body{font-family:'Inter',Arial,sans-serif!important;color:var(--text);background:var(--bg);overflow-x:hidden}.logo span,.sidebar-logo{letter-spacing:.2px}.logo i.fa{background:var(--yellow)!important}.top{position:sticky;top:0;z-index:1000}.top-right{display:flex;align-items:center;gap:10px}.top-icons{display:flex;align-items:center;gap:8px}.notif-wrap{position:relative}.notif-icon{border:0;position:relative;width:35px;height:35px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.12);color:#fff;cursor:pointer;text-decoration:none}.notif-icon b{position:absolute;top:-6px;right:-6px;background:#ef4444;color:#fff;border-radius:999px;font-size:10px;min-width:18px;height:18px;display:grid;place-items:center;border:2px solid var(--blue);font-weight:700}.notif-dropdown{display:none;position:absolute;right:0;top:44px;width:330px;max-width:calc(100vw - 20px);background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 20px 50px rgba(15,23,42,.18);overflow:hidden;z-index:2000}.notif-dropdown.open{display:block}.drop-title{padding:12px 14px;background:#f8fbff;color:var(--blue);font-weight:700;border-bottom:1px solid var(--line)}.drop-title.sub{background:#fff}.drop-row{display:flex;gap:10px;align-items:flex-start;padding:11px 14px;border-bottom:1px solid #eef4fb;color:#1f2937;text-decoration:none;font-size:13px}.drop-row:hover{background:#f8fbff}.drop-row i{color:var(--blue);margin-top:2px}.drop-row small{display:block;color:var(--muted);margin-top:2px;line-height:1.25}.drop-empty{padding:14px;color:var(--muted);font-size:13px}.mobile-menu-btn{display:none;position:fixed;left:12px;top:12px;z-index:3000;width:42px;height:42px;border-radius:12px;border:0;background:var(--blue);color:#fff;box-shadow:0 10px 28px rgba(15,23,42,.25)}.mobile-backdrop{display:none;position:fixed;inset:0;background:rgba(15,23,42,.45);z-index:2200}.mobile-backdrop.open{display:block}.footer{margin-top:auto;background:#fff;border-top:1px solid var(--line);color:#667085;text-align:center;padding:14px;font-size:13px}.ec-login-shell{min-height:calc(100vh - 64px);display:grid;grid-template-columns:1.1fr .9fr;background:linear-gradient(135deg,#075fae 0%,#0ba7d1 55%,#ffc928 55%,#f59e0b 100%)}.ec-login-brand{display:flex;align-items:center;justify-content:center;padding:40px;color:#fff}.ec-login-brand h1{font-size:46px;margin:0 0 12px}.ec-login-brand p{font-size:20px;max-width:520px;line-height:1.45}.ec-login-panel{display:flex;align-items:center;justify-content:center;padding:30px}.ec-login-card{background:#fff;width:min(430px,100%);border-radius:24px;padding:30px;box-shadow:0 24px 70px rgba(15,23,42,.24);border:1px solid rgba(255,255,255,.6)}.ec-login-card h2{margin:0 0 8px;color:var(--blue);font-size:28px}.ec-login-actions{display:grid;gap:10px;margin-top:14px}.ec-secondary{background:#eef6ff!important;color:var(--blue)!important;border:1px solid #bfdbfe!important}.ec-public-hero{padding:58px 18px;background:linear-gradient(135deg,#075fae 0%,#0ba7d1 55%,#ffc928 55%,#f59e0b 100%)}.ec-public-card{width:min(1060px,100%);margin:0 auto;background:rgba(255,255,255,.97);border-radius:26px;padding:38px;box-shadow:0 24px 70px rgba(15,23,42,.18);text-align:center}.ec-public-title{font-size:clamp(30px,4vw,48px);margin:0 0 10px;color:var(--blue)}.ec-public-subtitle{color:var(--muted);font-size:19px;margin:0 auto 26px;max-width:760px}.ec-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.ec-choice-card{display:block;text-decoration:none;color:var(--text);background:#fff;border:1px solid var(--line);border-radius:20px;padding:26px 20px;transition:.18s}.ec-choice-card:hover{transform:translateY(-2px);box-shadow:0 16px 40px rgba(15,23,42,.14)}.ec-choice-icon{width:62px;height:62px;margin:0 auto 14px;border-radius:18px;background:#e8f4ff;color:var(--blue);display:grid;place-items:center;font-size:28px}.ec-choice-title{font-size:22px;color:var(--blue);font-weight:750;margin-bottom:6px}.ec-protocol-search{display:flex;gap:10px;justify-content:center;margin-top:22px}.ec-protocol-search input{max-width:380px}.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px;margin-top:12px}.gallery a,.gallery img{display:block;width:100%;height:110px;object-fit:cover;border-radius:10px;border:1px solid var(--line)}.geo-btn{display:inline-flex;align-items:center;gap:7px;margin-top:8px}.photo-grid{display:grid;gap:8px}.table-card{overflow-x:auto}.admin-main table{min-width:760px}.userchip .avatar,.avatar{width:30px;height:30px;border-radius:50%;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;background:#e8f4ff;color:var(--blue);vertical-align:middle}.avatar img{width:100%;height:100%;object-fit:cover}.profile-menu{z-index:2500}.submit,.btn,button{font-weight:600!important}.sidebar-logo{font-size:21px!important}.side-link{font-weight:600!important;font-size:14px!important}.admin-bar{font-weight:600!important}
@media(max-width:900px){.mobile-menu-btn{display:grid;place-items:center}.top{position:sticky}.nav{padding-left:62px!important}.menu{display:none!important}.sidebar{position:fixed!important;left:-285px!important;top:0!important;bottom:0!important;width:270px!important;z-index:2600!important;transition:left .22s ease;overflow:auto;box-shadow:18px 0 40px rgba(15,23,42,.2)}.sidebar.open{left:0!important}.admin-layout{display:block!important}.admin-main{margin-left:0!important;width:100%!important;padding:16px!important}.admin-bar{margin:-16px -16px 16px!important;font-size:19px!important}.stats{grid-template-columns:1fr 1fr!important}.form-row{grid-template-columns:1fr!important}.form-row label{text-align:left!important}.ec-login-shell{grid-template-columns:1fr}.ec-login-brand{padding:32px 20px;text-align:center}.ec-login-brand h1{font-size:34px}.ec-login-panel{padding:20px}.ec-choice-grid{grid-template-columns:1fr}.ec-public-card{padding:26px 18px}.ec-protocol-search{flex-direction:column}.top-icons{display:flex!important}.notif-dropdown{right:-80px}.detail{grid-template-columns:1fr!important}.admin-main table,table{min-width:720px}.filterbar{grid-template-columns:1fr!important}}
@media(max-width:560px){.stats{grid-template-columns:1fr!important}.top-icons .notif-icon{width:32px;height:32px}.userchip span:not(.avatar){display:none}.notif-dropdown{right:-120px;width:310px}.ec-login-brand p{font-size:17px}.submit{width:100%;padding:13px 18px!important}.ec-public-title{font-size:28px}.form-page{padding:20px!important}.detail-img{height:auto!important;min-height:260px}.gallery{grid-template-columns:repeat(2,1fr)}}


/* v4.6.0 - organização de navegação e novidades, preservando base */
.sidebar-close{display:none;border:0;background:transparent;color:#fff;font-size:24px;margin:10px 10px 0 auto;cursor:pointer}
.side-group{margin:8px 10px;border-radius:12px;background:rgba(255,255,255,.08);padding:8px}
.side-title{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:rgba(255,255,255,.82);font-weight:700;padding:8px 10px;display:flex;gap:8px;align-items:center}
.side-sub{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;color:#fff;text-decoration:none;font-size:14px}
.side-sub:hover,.side-sub.active{background:rgba(255,255,255,.13)}
.side-link i,.side-sub i,.menu i,.btn i,.action i,.notif-icon i{margin-right:7px}
.notif-icon i{margin-right:0}
.btn,.action,.submit{margin:3px}
.notif-dropdown{right:0!important;left:auto!important}
.update-image{margin:12px 0;border-radius:14px;overflow:hidden;border:1px solid var(--line);background:#f8fbff}
.update-image img{display:block;width:100%;max-height:260px;object-fit:cover}
.destino-select{position:relative;width:100%}
.destino-current,.destino-options button{width:100%;display:flex;align-items:center;gap:12px;text-align:left;background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px;cursor:pointer;color:var(--text)}
.destino-current{justify-content:flex-start}
.destino-current>.fa-angle-down{margin-left:auto}
.destino-avatar{width:42px;height:42px;border-radius:50%;background:#e8f4ff;color:var(--blue);display:flex;align-items:center;justify-content:center;overflow:hidden;flex:0 0 auto}
.destino-avatar img{width:100%;height:100%;object-fit:cover}
.destino-current small,.destino-options small{display:block;color:var(--muted);font-size:12px;margin-top:2px}
.destino-options{display:none;position:absolute;left:0;right:0;top:calc(100% + 8px);background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 18px 45px rgba(15,23,42,.18);z-index:20;max-height:280px;overflow:auto;padding:8px}
.destino-options.open{display:block}
.destino-options button{border:0;border-radius:10px}
.destino-options button:hover{background:#f8fbff}

@media(min-width:901px){
  .sidebar-close{display:none!important}
  .mobile-menu-btn{display:none!important}
}
@media(max-width:900px){
  .mobile-menu-btn{display:flex!important;align-items:center;justify-content:center}
  .sidebar{position:fixed!important;left:-310px!important;top:0!important;height:100vh!important;width:290px!important;z-index:3001!important;transition:left .22s ease!important;overflow-y:auto}
  .sidebar.open{left:0!important}
  .sidebar-close{display:flex!important;align-items:center;justify-content:center}
  .mobile-backdrop.open{display:block!important}
  .admin-layout{display:block!important}
  .admin-main{margin-left:0!important;width:100%!important;padding:14px!important}
  .notif-dropdown{position:fixed!important;left:12px!important;right:12px!important;top:70px!important;width:auto!important;max-width:none!important;max-height:74vh;overflow:auto}
  .btn,.action,.submit{margin:4px 3px;white-space:normal}
  .table-card{overflow-x:auto}
  .table-card table,.admin-main table{min-width:760px}
}


/* ===== v4.6.1 CORREÇÃO MENU LATERAL / SUBMENU CADASTROS ===== */

/* garante que o X nunca apareça no desktop */
.sidebar-close{
  display:none !important;
}

/* grupo Cadastros organizado em coluna */
.side-group{
  display:block !important;
  margin:10px 13px !important;
  padding:10px !important;
  border-radius:12px !important;
  background:rgba(255,255,255,.08) !important;
}

.side-title{
  display:flex !important;
  align-items:center !important;
  gap:9px !important;
  color:rgba(255,255,255,.9) !important;
  font-size:13px !important;
  line-height:1.2 !important;
  font-weight:800 !important;
  padding:8px 8px 10px !important;
  text-transform:none !important;
  letter-spacing:0 !important;
}

.side-sub{
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
  width:100% !important;
  padding:9px 10px !important;
  margin:2px 0 !important;
  border-radius:10px !important;
  color:#fff !important;
  text-decoration:none !important;
  font-size:14px !important;
  font-weight:700 !important;
  line-height:1.2 !important;
  white-space:normal !important;
}

.side-sub:hover,
.side-sub.active{
  background:rgba(255,255,255,.14) !important;
}

.side-link{
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
  white-space:normal !important;
}

.side-link i,
.side-sub i,
.side-title i{
  width:18px !important;
  min-width:18px !important;
  text-align:center !important;
  margin-right:0 !important;
}

/* desktop: sidebar normal, sem botão X */
@media(min-width:901px){
  .sidebar-close,
  .mobile-menu-btn{
    display:none !important;
  }
}

/* mobile: X só dentro do menu aberto */
@media(max-width:900px){
  .sidebar-close{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:42px !important;
    height:42px !important;
    margin:10px 10px 4px auto !important;
    border:0 !important;
    background:rgba(255,255,255,.12) !important;
    color:#fff !important;
    border-radius:10px !important;
    font-size:20px !important;
    cursor:pointer !important;
  }

  .sidebar:not(.open) .sidebar-close{
    display:none !important;
  }
}


/* ===== v4.6.3 SUBMENU REAL LATERAL ===== */

/* Remoção visual definitiva de qualquer X antigo */
.sidebar-close,
button.sidebar-close,
aside > button.sidebar-close{
  display:none !important;
  visibility:hidden !important;
  opacity:0 !important;
  width:0 !important;
  height:0 !important;
  padding:0 !important;
  margin:0 !important;
  overflow:hidden !important;
  pointer-events:none !important;
}

/* Submenu Cadastros fechado por padrão */
.side-collapse{
  display:block !important;
  margin:8px 13px !important;
  border-radius:12px !important;
  overflow:hidden !important;
}

.side-collapse-btn{
  width:100% !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:10px !important;
  border:0 !important;
  background:rgba(255,255,255,.08) !important;
  color:#fff !important;
  padding:12px 14px !important;
  border-radius:12px !important;
  font-size:15px !important;
  font-weight:800 !important;
  line-height:1.2 !important;
  cursor:pointer !important;
  text-align:left !important;
  box-shadow:none !important;
}

.side-collapse-btn span{
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
}

.side-collapse-btn i{
  width:18px !important;
  min-width:18px !important;
  text-align:center !important;
  margin:0 !important;
}

.side-collapse-body{
  display:none !important;
  padding:6px 0 2px 0 !important;
}

.side-collapse.open .side-collapse-body{
  display:block !important;
}

.side-collapse.open .side-arrow{
  transform:rotate(180deg) !important;
}

.side-sub{
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
  width:100% !important;
  color:#fff !important;
  text-decoration:none !important;
  padding:10px 14px 10px 28px !important;
  margin:3px 0 !important;
  border-radius:10px !important;
  font-size:14px !important;
  font-weight:700 !important;
  line-height:1.2 !important;
  white-space:normal !important;
}

.side-sub:hover,
.side-sub.active{
  background:rgba(255,255,255,.13) !important;
}

.side-link{
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
}

.side-link i,
.side-sub i{
  width:18px !important;
  min-width:18px !important;
  text-align:center !important;
  margin:0 !important;
}

/* Desktop: jamais mostrar hambúrguer nem X */
@media(min-width:901px){
  .mobile-menu-btn,
  button.mobile-menu-btn,
  .sidebar-close,
  button.sidebar-close{
    display:none !important;
    visibility:hidden !important;
    opacity:0 !important;
    pointer-events:none !important;
  }
}

/* Mobile: apenas hambúrguer fora da lateral */
@media(max-width:900px){
  .mobile-menu-btn,
  button.mobile-menu-btn{
    display:flex !important;
    visibility:visible !important;
    opacity:1 !important;
    pointer-events:auto !important;
    align-items:center !important;
    justify-content:center !important;
  }

  .sidebar-close,
  button.sidebar-close{
    display:none !important;
  }
}


/* ===== MENU MOBILE POR PERFIL + NOTIFICAÇÕES FINAL ===== */

/* remove letras unicode/texto quebrado, tipo \f00d */
.mobile-menu-btn::before,
.mobile-menu-btn::after,
.ec-mobile-close::before,
.ec-mobile-close::after{
  content:none !important;
  display:none !important;
}

.mobile-menu-btn{
  display:none;
  position:fixed;
  left:12px;
  top:12px;
  z-index:5002 !important;
  width:42px;
  height:42px;
  border-radius:12px;
  border:0;
  background:var(--blue);
  color:#fff;
  box-shadow:0 10px 28px rgba(15,23,42,.25);
  cursor:pointer;
  font-size:18px;
}

.mobile-menu-btn i{
  margin:0 !important;
  pointer-events:none;
}

body.ec-mobile-open .mobile-menu-btn{
  display:none !important;
}

.mobile-backdrop{
  display:none;
  position:fixed;
  inset:0;
  background:rgba(15,23,42,.62);
  z-index:4998 !important;
}

.mobile-backdrop.open{
  display:block !important;
}

.ec-mobile-drawer{
  position:fixed;
  top:0;
  left:0;
  bottom:0;
  width:min(84vw,330px);
  background:#075fae;
  color:#fff;
  z-index:5001 !important;
  transform:translateX(-105%);
  transition:transform .22s ease;
  box-shadow:24px 0 60px rgba(15,23,42,.35);
  overflow-y:auto;
}

.ec-mobile-drawer.open{
  transform:translateX(0);
}

.ec-mobile-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:16px 14px;
  border-bottom:1px solid rgba(255,255,255,.16);
}

.ec-mobile-user{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
}

.ec-mobile-user .avatar{
  width:40px;
  height:40px;
  min-width:40px;
  border-radius:50%;
}

.ec-mobile-user strong{
  display:block;
  font-size:14px;
  line-height:1.15;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  max-width:205px;
}

.ec-mobile-user small{
  display:block;
  color:rgba(255,255,255,.72);
  font-size:12px;
  margin-top:2px;
}

.ec-mobile-close{
  width:38px;
  height:38px;
  min-width:38px;
  border:0;
  border-radius:11px;
  background:rgba(255,255,255,.13);
  color:#fff;
  display:grid;
  place-items:center;
  cursor:pointer;
  font-size:18px;
}

.ec-mobile-close i{
  margin:0 !important;
  pointer-events:none;
}

.ec-mobile-section{
  color:rgba(255,255,255,.66);
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.06em;
  font-weight:900;
  padding:12px 12px 5px;
}

.ec-mobile-links{
  display:flex;
  flex-direction:column;
  gap:3px;
  padding:10px;
}

.ec-mobile-links a{
  display:flex;
  align-items:center;
  gap:10px;
  color:#fff;
  text-decoration:none;
  padding:12px 13px;
  border-radius:12px;
  font-size:14px;
  font-weight:750;
}

.ec-mobile-links a:hover{
  background:rgba(255,255,255,.12);
}

.ec-mobile-links i{
  width:19px;
  min-width:19px;
  text-align:center;
  margin:0 !important;
}

/* notificações precisam abrir por classe open */
.notif-dropdown.open{
  display:block !important;
}

.notif-icon{
  cursor:pointer !important;
}

@media(max-width:900px){
  .mobile-menu-btn{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
  }

  .top{
    z-index:3500 !important;
  }

  .nav{
    padding-left:62px !important;
  }

  .menu{
    display:none !important;
  }

  .top-icons{
    display:flex !important;
  }

  .notif-dropdown{
    position:fixed !important;
    left:12px !important;
    right:12px !important;
    top:70px !important;
    width:auto !important;
    max-width:none !important;
    max-height:74vh !important;
    overflow:auto !important;
    z-index:6000 !important;
  }

  .profile-menu{
    z-index:6000 !important;
  }
}

@media(min-width:901px){
  .ec-mobile-drawer,
  .mobile-backdrop,
  .mobile-menu-btn{
    display:none !important;
  }
}


/* ===== ETAPA 1 MASTER: ENTIDADES + PLANOS ===== */
.master-form-card{
  background:#fff;
  border:1px solid #dbeafe;
  border-radius:18px;
  box-shadow:0 10px 24px rgba(15,23,42,.06);
  padding:20px;
  margin:16px 0;
}
.master-form-title{
  color:#075fae;
  margin:0 0 14px;
  font-size:21px;
  font-weight:850;
  display:flex;
  align-items:center;
  gap:9px;
}
.master-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.master-grid.three{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.master-field label{
  display:block;
  color:#334155;
  font-size:13px;
  font-weight:750;
  margin:0 0 6px;
}
.master-field input,
.master-field select,
.master-field textarea{
  width:100%;
  min-height:42px;
  border:1px solid #dbeafe;
  border-radius:12px;
  padding:0 12px;
  font-family:'Inter',Arial,sans-serif;
  font-size:14px;
  outline:none;
  background:#fff;
}
.master-field textarea{
  padding:11px 12px;
  min-height:88px;
  resize:vertical;
}
.master-field input:focus,
.master-field select:focus,
.master-field textarea:focus{
  border-color:#075fae;
  box-shadow:0 0 0 3px rgba(7,95,174,.10);
}
.master-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:16px;
}
.master-logo-preview{
  width:86px;
  height:86px;
  border-radius:16px;
  border:1px solid #dbeafe;
  background:#f8fbff;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  color:#075fae;
  font-size:30px;
}
.master-logo-preview img{
  width:100%;
  height:100%;
  object-fit:contain;
  padding:6px;
}
.master-table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  overflow:hidden;
  border:1px solid #dbeafe;
  border-radius:16px;
  background:#fff;
}
.master-table th{
  background:#f8fbff;
  color:#075fae;
  font-size:13px;
  text-align:left;
  padding:12px;
  border-bottom:1px solid #dbeafe;
}
.master-table td{
  padding:11px 12px;
  border-bottom:1px solid #eef4fb;
  font-size:13px;
  color:#334155;
  vertical-align:middle;
}
.master-table tr:last-child td{
  border-bottom:0;
}
.badge-status{
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  padding:4px 8px;
  font-size:11px;
  font-weight:850;
}
.badge-status.ativo{background:#dcfce7;color:#15803d}
.badge-status.inativo{background:#fee2e2;color:#b91c1c}
.badge-status.teste{background:#fef3c7;color:#92400e}
@media(max-width:800px){
  .master-grid,
  .master-grid.three{
    grid-template-columns:1fr;
  }
}


/* ===== FIX ETAPA 1: FORMULÁRIO MASTER ALINHADO ===== */
.admin-layout{
  display:grid;
  grid-template-columns:226px minmax(0,1fr);
  min-height:calc(100vh - 74px);
}

.admin-main{
  min-width:0;
  padding:18px 22px !important;
}

.admin-main .master-form-card{
  width:100%;
}

.admin-main .master-field input,
.admin-main .master-field select,
.admin-main .master-field textarea{
  display:block !important;
  width:100% !important;
  box-sizing:border-box !important;
}

.admin-main .master-grid{
  align-items:end;
}

@media(max-width:900px){
  .admin-layout{
    display:block;
  }

  .admin-main{
    padding:14px !important;
  }
}


/* ===== FIX ETAPA 1.1: PADRÃO VISUAL DOS CAMPOS MASTER ===== */
.admin-main .master-form-card{
  padding:22px !important;
  border-radius:18px !important;
  background:#fff !important;
}

.admin-main .master-grid,
.admin-main .master-grid.three{
  display:grid !important;
  gap:16px !important;
  width:100% !important;
}

.admin-main .master-grid{
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
}

.admin-main .master-grid.three{
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
}

.admin-main .master-field{
  display:block !important;
  width:100% !important;
  min-width:0 !important;
}

.admin-main .master-field label{
  display:block !important;
  width:100% !important;
  margin:0 0 7px !important;
  padding:0 !important;
  color:#334155 !important;
  font-size:13px !important;
  line-height:1.25 !important;
  font-weight:800 !important;
  text-align:left !important;
}

.admin-main .master-field input,
.admin-main .master-field select,
.admin-main .master-field textarea{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  height:44px !important;
  min-height:44px !important;
  margin:0 !important;
  padding:0 13px !important;
  border:1px solid #dbeafe !important;
  border-radius:12px !important;
  background:#fff !important;
  color:#132238 !important;
  font-family:'Inter',Arial,sans-serif !important;
  font-size:14px !important;
  line-height:44px !important;
  outline:none !important;
  box-shadow:none !important;
  appearance:auto !important;
}

.admin-main .master-field textarea{
  height:auto !important;
  min-height:94px !important;
  line-height:1.45 !important;
  padding:12px 13px !important;
  resize:vertical !important;
}

.admin-main .master-field input[type="file"]{
  height:auto !important;
  min-height:44px !important;
  line-height:1.3 !important;
  padding:9px 12px !important;
  cursor:pointer !important;
}

.admin-main .master-field input:focus,
.admin-main .master-field select:focus,
.admin-main .master-field textarea:focus{
  border-color:#075fae !important;
  box-shadow:0 0 0 3px rgba(7,95,174,.12) !important;
}

.admin-main .master-field input::placeholder,
.admin-main .master-field textarea::placeholder{
  color:#94a3b8 !important;
}

.admin-main .master-actions{
  margin-top:18px !important;
}

.admin-main .master-logo-preview{
  width:96px !important;
  height:96px !important;
  border-radius:16px !important;
}

@media(max-width:1100px){
  .admin-main .master-grid.three{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

@media(max-width:760px){
  .admin-main .master-grid,
  .admin-main .master-grid.three{
    grid-template-columns:1fr !important;
  }
}

/* =========================================================
}

tbody td{
    padding:12px 13px;
    font-size:13px;
    color:#334155;
    border-bottom:1px solid #eef4fb;
}

tbody tr:hover{
    background:#fafcff;
}

/* =========================================================
   MODAIS
========================================================= */

.modal-content{
    border-radius:22px;
    overflow:hidden;
}

.modal-header{
    padding:18px 20px;
    border-bottom:1px solid #eef4fb;
}

.modal-body{
    padding:20px;
}

.modal-footer{
    padding:16px 20px;
    border-top:1px solid #eef4fb;
}

/* SCROLL BONITO */
::-webkit-scrollbar{
    width:10px;
    height:10px;
}

::-webkit-scrollbar-track{
    background:#edf4fb;
    border-radius:999px;
}

::-webkit-scrollbar-thumb{
    background:#bfd8f3;
    border-radius:999px;
}

::-webkit-scrollbar-thumb:hover{
    background:#9fc4ea;
}

/* =========================================================
   RESPONSIVO BASE
========================================================= */

@media(max-width:768px){

    input,
    select,
    textarea,
    button,
    .btn,
    .submit{
        font-size:14px;
    }

    table{
        display:block;
        overflow:auto;
    }
}






/* ===== BRANDING CORRETO POR PERFIL ===== */

.ec-top-brand{
  display:flex !important;
  align-items:center !important;
  text-decoration:none !important;
}

.ec-top-system-only,
.ec-system-brand,
.ec-platform-logo,
.ec-platform-logo-mini{
  display:flex;
  align-items:center;
  justify-content:center;
}

.ec-system-brand{
  gap:12px;
}

.ec-system-brand span{
  font-weight:900;
  white-space:nowrap;
}

.ec-platform-logo{
  width:154px;
  height:46px;
  border-radius:14px;
  background:#fff;
  padding:7px 12px;
  overflow:hidden;
  box-shadow:0 8px 22px rgba(15,23,42,.12);
}

.ec-platform-logo img{
  max-width:130px;
  max-height:32px;
  object-fit:contain;
  display:block;
}

.ec-platform-logo-mini{
  width:auto;
  height:20px;
  overflow:hidden;
}

.ec-platform-logo-mini img{
  max-width:88px;
  max-height:18px;
  object-fit:contain;
  display:block;
}

.ec-citizen-top-brand{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:2px;
  min-width:112px;
}

.ec-citizen-top-logo{
  width:86px;
  height:40px;
  border-radius:10px;
  background:#fff;
  padding:6px 8px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  box-shadow:0 8px 20px rgba(15,23,42,.12);
}

.ec-citizen-top-logo img{
  max-width:70px;
  max-height:28px;
  object-fit:contain;
  display:block;
}

.ec-citizen-by{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:4px;
  color:rgba(255,255,255,.82);
  font-size:9px;
  font-weight:800;
  line-height:1;
  white-space:nowrap;
}

.ec-citizen-by .ec-system-brand{
  gap:3px;
}

.ec-citizen-by .ec-system-brand i{
  font-size:10px;
  color:#ffc928;
}

.ec-citizen-by .ec-system-brand span{
  font-size:9px;
  color:rgba(255,255,255,.9);
}

.ec-sidebar-brand{
  padding:12px !important;
}

.ec-sidebar-entity-logo{
  width:100%;
  height:120px;
  min-height:120px;
  border-radius:14px;
  background:#fff;
  padding:20px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}

.ec-sidebar-entity-logo img{
  max-width:150px;
  max-height:80px;
  width:auto;
  height:auto;
  object-fit:contain;
  display:block;
}

.ec-sidebar-platform-only{
  width:100%;
  min-height:104px;
  border-radius:14px;
  background:#fff;
  padding:16px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}

.ec-sidebar-platform-only .ec-system-brand{
  display:block;
  text-align:center;
  color:#075fae;
}

.ec-sidebar-platform-only .ec-system-brand i{
  display:block;
  margin:0 auto 8px;
  color:#ffc928;
  font-size:30px;
}

.ec-sidebar-platform-only .ec-system-brand span{
  display:block;
  color:#075fae;
  font-size:16px;
  font-weight:900;
}

.ec-sidebar-platform-only .ec-platform-logo{
  box-shadow:none;
  width:150px;
  height:78px;
  padding:12px;
}

.ec-sidebar-platform-only .ec-platform-logo img{
  max-width:128px;
  max-height:54px;
}

.platform-logo-card{
  margin-bottom:18px;
}

.platform-logo-form{
  display:flex;
  align-items:center;
  gap:18px;
  flex-wrap:wrap;
}

.platform-logo-preview{
  width:150px;
  height:104px;
  border-radius:16px;
  background:#fff;
  border:1px solid #dbeafe;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:16px;
  overflow:hidden;
}

.platform-logo-preview img{
  max-width:118px;
  max-height:72px;
  object-fit:contain;
  display:block;
}

.platform-logo-preview span{
  color:#075fae;
  text-align:center;
  font-size:13px;
}

.platform-logo-preview i{
  display:block;
  font-size:28px;
  color:#ffc928;
  margin-bottom:6px;
}

.platform-logo-fields{
  flex:1;
  min-width:260px;
}

.platform-logo-fields small{
  display:block;
  color:#64748b;
  margin:6px 0 12px;
}

@media(max-width:900px){
  .ec-citizen-top-brand{
    min-width:86px;
  }

  .ec-citizen-top-logo{
    width:68px;
    height:34px;
    padding:5px 7px;
    border-radius:9px;
  }

  .ec-citizen-top-logo img{
    max-width:56px;
    max-height:23px;
  }

  .ec-citizen-by{
    font-size:8px;
  }

  .ec-citizen-by .ec-system-brand span{
    font-size:8px;
  }

  .ec-citizen-by .ec-system-brand i{
    font-size:9px;
  }

  .ec-mobile-drawer .ec-sidebar-brand,
  .sidebar .ec-sidebar-brand{
    padding:10px !important;
    margin:10px auto 14px !important;
    width:86%;
    max-width:190px;
  }

  .ec-mobile-drawer .ec-sidebar-entity-logo,
  .sidebar .ec-sidebar-entity-logo{
    height:76px !important;
    min-height:76px !important;
    padding:14px !important;
    border-radius:12px !important;
  }

  .ec-mobile-drawer .ec-sidebar-entity-logo img,
  .sidebar .ec-sidebar-entity-logo img{
    max-width:126px !important;
    max-height:48px !important;
  }

  .ec-platform-logo{
    width:122px;
    height:40px;
    padding:6px 10px;
  }

  .ec-platform-logo img{
    max-width:104px;
    max-height:28px;
  }
}


