/* Complemento do SB Admin 2 para os paineis do tenhaseusite. O visual base (sidebar, topbar, botoes, tabelas) vem do SB Admin. */
:root{--blue:#4e73df;--blue-d:#2e59d9;--muted:#6e7a8a;--line:#e3e6f0;--ink:#3a3b45}
body.panel{font-family:"Nunito",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif}
.brand-t{font-weight:800;letter-spacing:-.02em;text-transform:none;font-size:1.25rem}.brand-t b{color:#bcd0ff}
.page-title{font-weight:700}
.avatar{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#e8edfb;color:var(--blue)}
.sidebar .nav-item .nav-link span{font-size:.85rem}
.sidebar .nav-item .nav-link i{margin-right:.35rem}
.topbar .dropdown-menu form{margin:0}.topbar .dropdown-item{display:flex;align-items:center}

/* cartoes: o SB Admin usa .card-body; aqui o proprio .card recebe o respiro */
.content .card{padding:1.25rem 1.5rem}
.card h2{font-size:1.05rem;font-weight:800;color:var(--blue);margin-bottom:.35rem}
.card h2 small{font-size:.8rem}
.card .hint{color:var(--muted);font-size:.9rem;margin-bottom:1rem}
.empty{color:var(--muted);padding:.75rem 0;margin:0}
.help{font-size:.8rem;color:var(--muted);margin-top:.25rem}
.hrow{display:flex;gap:.6rem;flex-wrap:wrap;align-items:center}
.hrow form{margin:0}
.grid{display:grid;gap:1.1rem}
.g2{grid-template-columns:repeat(2,1fr)}.g3{grid-template-columns:repeat(3,1fr)}.g4{grid-template-columns:repeat(4,1fr)}.g5{grid-template-columns:repeat(5,1fr)}
.stat{background:#fff;border-left:.25rem solid var(--blue);border-radius:.35rem;padding:1rem 1.25rem;box-shadow:0 .15rem 1.75rem 0 rgba(58,59,69,.15)}
.stat b{display:block;font-size:1.8rem;font-weight:800;color:#5a5c69;line-height:1.15}
.stat span{color:var(--blue);font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.grid.g3 .stat:nth-child(2){border-left-color:#1cc88a}.grid.g3 .stat:nth-child(3){border-left-color:#f6c23e}
.grid.g4 .stat:nth-child(2){border-left-color:#1cc88a}.grid.g4 .stat:nth-child(3){border-left-color:#f6c23e}.grid.g4 .stat:nth-child(4){border-left-color:#36b9cc}
.table th{font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);border-top:0;white-space:nowrap}
.table td{vertical-align:middle}
.badge-pill{padding:.4em .85em;font-weight:700;text-transform:capitalize}
.code{background:#1f2937;color:#e5edff;border-radius:.35rem;padding:.7rem .9rem;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.85rem;word-break:break-all;white-space:pre-wrap}

/* formularios (equivalente ao .form-control do Bootstrap) */
.content label{display:block;font-weight:700;font-size:.82rem;margin:.9rem 0 .35rem;color:#5a5c69}
.content input[type=text],.content input[type=email],.content input[type=password],.content input[type=url],.content input[type=tel],.content input[type=number],.content input[type=date],.content select,.content textarea{display:block;width:100%;min-height:calc(1.5em + 1rem + 2px);padding:.5rem .85rem;font:inherit;font-size:.95rem;line-height:1.5;color:#6e707e;background-color:#fff;border:1px solid #d1d3e2;border-radius:.35rem;transition:border-color .15s,box-shadow .15s}
.content input:focus,.content select:focus,.content textarea:focus{outline:0;border-color:#bac8f3;box-shadow:0 0 0 .2rem rgba(78,115,223,.25)}
.content textarea{min-height:90px;resize:vertical}
.content input[type=color]{width:64px;height:40px;padding:2px;border:1px solid #d1d3e2;border-radius:.35rem;background:#fff}
.content input[type=file]{font-size:.9rem}
.content input:disabled,.content select:disabled{background:#eaecf4}

/* selects: seta propria; texto nunca passa por baixo do icone */
.content select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:2.6rem;cursor:pointer;text-overflow:ellipsis;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%236e707e' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .95rem center;background-size:12px 8px}
.content select:disabled{background-color:#eaecf4;cursor:not-allowed}
.hrow select{width:auto;min-width:200px}

.fgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:0 1.25rem}
.fgrid .full{grid-column:1/-1}
.chk{display:flex!important;gap:.5rem;align-items:center;font-weight:700;margin:.9rem 0!important}
.chk input{width:auto!important;min-height:0!important}
.actions{display:flex;gap:.6rem;margin-top:1.1rem;flex-wrap:wrap}
.actions form{margin:0}
.btn i.fas{font-size:.85em}

/* editor de conteudo */
.ed-nav{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1rem}
.ed-nav a{padding:.3rem .85rem;border-radius:999px;background:#fff;border:1px solid var(--line);text-decoration:none;font-size:.82rem;font-weight:700;color:#5a5c69}
.ed-nav a:hover{border-color:var(--blue);color:var(--blue)}
.savebar{position:sticky;bottom:0;background:rgba(255,255,255,.96);backdrop-filter:blur(8px);border-top:1px solid var(--line);padding:.85rem 0;margin-top:.5rem;display:flex;gap:.9rem;align-items:center;z-index:4}
.imgfield{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}
.imgfield img{width:120px;height:80px;object-fit:cover;border-radius:.35rem;border:1px solid var(--line)}
.list{display:grid;gap:.75rem;margin-top:.35rem}
.item{border:1px solid var(--line);border-radius:.35rem;padding:.85rem 1rem;background:#f8f9fc}
.item-h{display:flex;justify-content:space-between;align-items:center;font-weight:800;font-size:.75rem;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
.item-h button{background:none;border:0;color:#e74a3b;cursor:pointer;font-weight:700}

/* galeria de modelos */
.models{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.25rem}
.model{background:#fff;border:2px solid var(--line);border-radius:.5rem;overflow:hidden;display:flex;flex-direction:column}
.model.cur{border-color:var(--blue);box-shadow:0 0 0 .2rem rgba(78,115,223,.2)}
.thumb{position:relative;height:210px;overflow:hidden;background:#eef1f6;border-bottom:1px solid var(--line)}
.thumb iframe{position:absolute;top:0;left:0;width:1280px;height:920px;border:0;transform:scale(.22);transform-origin:0 0;pointer-events:none}
.model-b{padding:1rem 1.1rem;display:flex;flex-direction:column;gap:.6rem;flex:1}
.model-b h3{display:flex;align-items:center;gap:.6rem;font-size:1.1rem;font-weight:800;margin:0}
.model-b p{color:var(--muted);font-size:.88rem;flex:1;margin:0}
.sw{display:inline-flex;gap:4px}.sw i{width:16px;height:16px;border-radius:50%;border:1px solid rgba(0,0,0,.12)}
.steps-l{counter-reset:s;display:grid;gap:.8rem;margin:.75rem 0;padding:0}
.steps-l li{list-style:none;position:relative;padding-left:2.7rem}
.steps-l li::before{counter-increment:s;content:counter(s);position:absolute;left:0;top:0;width:1.9rem;height:1.9rem;border-radius:50%;background:var(--blue);color:#fff;display:grid;place-items:center;font-weight:800;font-size:.85rem}

/* login */
.login-page{min-height:100vh}
.login-brand{font-weight:900;font-size:1.9rem;letter-spacing:-.03em;color:#2e3a59}.login-brand b{color:var(--blue)}

@media(max-width:960px){
  .g2,.g3,.g4,.fgrid{grid-template-columns:1fr}
  .content .card{padding:1rem}
}

/* ---- editor visual ---- */
.ed-tabs{display:flex;gap:.25rem;list-style:none;padding:0;margin:0 0 1rem;border-bottom:2px solid var(--line);flex-wrap:wrap}
.ed-tabs a{display:block;padding:.65rem 1.1rem;font-weight:800;font-size:.9rem;color:#6e707e;text-decoration:none;border-radius:.35rem .35rem 0 0;margin-bottom:-2px;border-bottom:3px solid transparent}
.ed-tabs a:hover{color:var(--blue)}
.ed-tabs a.on{color:var(--blue);border-bottom-color:var(--blue);background:#fff}
.unsaved{position:sticky;top:0;z-index:20;display:flex;gap:1rem;justify-content:space-between;align-items:center;flex-wrap:wrap;background:#fff7e0;border:1px solid #f6c23e;border-left:5px solid #f6c23e;border-radius:.35rem;padding:.75rem 1rem;margin-bottom:1rem;box-shadow:0 .25rem 1rem rgba(246,194,62,.35)}
.unsaved[hidden]{display:none}
.u-msg{color:#8a5a00}
.u-act{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}
.u-act input{min-width:260px}
.ed-pane[hidden]{display:none}
.pv-bar{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;margin-bottom:.75rem}
.pv-wrap{background:#e9ecf5;border:1px solid var(--line);border-radius:.5rem;padding:.75rem;display:flex;justify-content:center}
.pv{width:100%;max-width:100%;height:calc(100vh - 290px);min-height:520px;border:0;background:#fff;border-radius:.35rem;box-shadow:0 .25rem 1.5rem rgba(58,59,69,.2);transition:max-width .25s}
.icon-pick{display:flex;gap:.5rem;align-items:center}
.icon-btn i{font-size:1.15rem;vertical-align:-.15em;margin-right:.25rem}
.svc-icons{display:grid;gap:.6rem}
.svc-row{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.55rem .85rem;border:1px solid var(--line);border-radius:.35rem;background:#f8f9fc}
.svc-t{font-weight:700;color:#5a5c69}
#icon-q{margin-bottom:.35rem}
.icon-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:.5rem;margin-top:.75rem}
.icon-cell{display:flex;flex-direction:column;align-items:center;gap:.3rem;padding:.65rem .25rem;border:1px solid var(--line);border-radius:.35rem;background:#fff;cursor:pointer;color:#4e4f5c}
.icon-cell i{font-size:1.6rem;line-height:1}
.icon-cell span{font-size:.62rem;color:var(--muted);word-break:break-all;text-align:center;line-height:1.15}
.icon-cell:hover{border-color:var(--blue);background:#eef2ff;color:var(--blue)}
.flash{animation:flash 2.2s}
@keyframes flash{0%,60%{background:#fff3c4;box-shadow:0 0 0 .4rem #fff3c4}100%{background:transparent;box-shadow:none}}
.ver{border:1px solid var(--line);border-radius:.35rem;padding:.8rem 1rem;margin-bottom:.7rem;background:#fff}
.ver-cur{border-left:4px solid #1cc88a}
.ver-h{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}
.ver-d{margin-top:.5rem;font-size:.85rem}
.ver-d summary{cursor:pointer;color:var(--blue);font-weight:700}
.ver-d ul{margin:.6rem 0 0;padding-left:1.1rem;display:grid;gap:.5rem}
.d-old{color:#a94442;text-decoration:line-through}.d-new{color:#146c4c;font-weight:600}
@media(max-width:960px){.pv{height:70vh}.u-act input{min-width:0;width:100%}}

/* menu lateral no celular: escondido por padrao, abre pelo botao de menu */
@media(max-width:767.98px){
  #accordionSidebar{position:fixed;top:0;left:0;bottom:0;z-index:1050;width:15rem!important;overflow-y:auto;transform:translateX(-100%);transition:transform .25s}
  #accordionSidebar.toggled{transform:none;overflow:auto}
  #accordionSidebar .nav-item .nav-link{width:auto;text-align:left;padding:.9rem 1rem}
  #accordionSidebar .nav-item .nav-link span{display:inline!important;font-size:.9rem}
  #accordionSidebar .sidebar-heading{display:block}
  #content-wrapper{width:100%}
}

/* acessibilidade */
.skip{position:absolute;left:12px;top:-64px;z-index:10001;background:#fff;color:#2e3a59;padding:11px 18px;border-radius:8px;font-weight:800;box-shadow:0 4px 18px rgba(0,0,0,.35);text-decoration:none;transition:top .15s}
.skip:focus{top:12px}
#main:focus{outline:none}
a:focus-visible,button:focus-visible,.btn:focus-visible{outline:3px solid #2e59d9;outline-offset:2px}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
.btn-primary{background-color:#2e59d9;border-color:#2e59d9}
.btn-primary:hover{background-color:#2448b8;border-color:#2448b8}
.login-page a.small{color:#2448b8;text-decoration:underline}
.badge-success{background-color:#1b7d4b;color:#fff}
.badge-warning{background-color:#f6c23e;color:#3b2f00}
.badge-secondary{background-color:#5a5c69;color:#fff}
.badge-danger{background-color:#c0392b;color:#fff}
.badge-info{background-color:#1a7f93;color:#fff}
.text-gray-600{color:#5a5c69!important}
.help,.hint,.text-muted{color:#5a5c69!important}
.text-primary{color:#2e59d9!important}
.text-success{color:#137a52!important}
.text-info{color:#1a7f93!important}
.text-warning{color:#8a6500!important}
.text-gray-500,.text-gray-400{color:#5a5c69!important}
@media(max-width:576px){.btn{min-height:44px}}
.btn-outline-primary{color:#2e59d9;border-color:#2e59d9}
.btn-outline-primary:hover{background-color:#2e59d9;color:#fff}
.content a:not(.btn):not(.nav-link):not(.dropdown-item){color:#2448b8}
.card h2,.card .h2{color:#2e3a59}
.copyright,.sticky-footer span{color:#5a5c69!important}
.help{font-size:.82rem}
.text-xs{font-size:.74rem}

/* menu lateral moderno: fundo liso escuro, itens compactos com cantos arredondados, destaque sólido no ativo */
body.panel .sidebar{background:#111a2e!important;background-image:none!important}
body.panel .sidebar .sidebar-brand{height:3.6rem;padding:0 1rem}
body.panel .sidebar .sidebar-divider{border-top-color:rgba(255,255,255,.08);margin:0 1rem .4rem}
body.panel .sidebar .sidebar-heading{color:rgba(255,255,255,.45);padding:.5rem 1.4rem .15rem;margin:0;font-size:.68rem}
body.panel .sidebar .sidebar-group{list-style:none;color:rgba(255,255,255,.4);font-size:.66rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:.7rem 1.4rem .2rem}
body.panel .sidebar .nav-item{margin:1px .6rem}
body.panel .sidebar .nav-item .nav-link{display:flex;align-items:center;gap:.65rem;padding:.42rem .75rem;border-radius:.55rem;color:rgba(255,255,255,.72);transition:background-color .15s,color .15s}
body.panel .sidebar .nav-item .nav-link i{margin:0;width:1.1rem;font-size:.85rem;color:rgba(255,255,255,.5);transition:color .15s}
body.panel .sidebar .nav-item .nav-link span{font-size:.86rem;font-weight:600;line-height:1.25}
body.panel .sidebar .nav-item .nav-link:hover{background:rgba(255,255,255,.07);color:#fff}
body.panel .sidebar .nav-item .nav-link:hover i{color:#fff}
body.panel .sidebar .nav-item.active .nav-link{background:#4e73df;color:#fff}
body.panel .sidebar .nav-item.active .nav-link i{color:#fff}
body.panel .sidebar .nav-link:focus-visible{outline:2px solid #bcd0ff;outline-offset:1px}
body.panel .sidebar.toggled .nav-item .nav-link{justify-content:center;padding:.6rem 0}
body.panel .sidebar.toggled .sidebar-group{display:none}
@media(min-width:768px){body.panel .sidebar.toggled .nav-item .nav-link span{display:none}}

/* início da administração: contatos, interessados e modelos mais vistos */
.dash-list{list-style:none;margin:0;padding:0;display:grid}
.dash-list li{display:grid;gap:.15rem;padding:.6rem 0;border-top:1px solid var(--line);font-size:.9rem}
.dash-list li:first-child{border-top:0;padding-top:0}
.dash-list .help{margin:0}
.dash-msg{color:var(--ink);overflow-wrap:anywhere}
.dash-act{gap:.2rem .9rem;font-size:.84rem;overflow-wrap:anywhere}
.dash-top{list-style:none;margin:0;padding:0;display:grid;gap:.8rem}
.dash-top li{display:grid;grid-template-columns:1fr auto;gap:.2rem .6rem;align-items:center;font-size:.9rem}
.dash-top b{font-variant-numeric:tabular-nums;color:var(--ink)}
.dash-bar{grid-column:1/-1;height:6px;border-radius:3px;background:#e8edfb;overflow:hidden}
.dash-bar i{display:block;height:100%;background:var(--blue);border-radius:3px}
@media(max-width:1199.98px){.g5{grid-template-columns:repeat(3,1fr)}.dash-grid{grid-template-columns:1fr}}
@media(max-width:575.98px){.g4,.g5{grid-template-columns:repeat(2,1fr)}}
/* o SB Admin fixa width:14rem no link; com a margem lateral dos itens o botao ativo vazava da barra */
body.panel .sidebar .nav-item .nav-link,body.panel .sidebar.toggled .nav-item .nav-link{width:auto}
body.panel .sidebar .nav-item{overflow:hidden}
.dash-done{margin-top:.35rem}.dash-done .btn{padding:.2rem .6rem;font-size:.78rem}
.dash-all{margin-top:.9rem;padding-top:.8rem;border-top:1px solid var(--line)}
/* matriz de servicos dos planos */
.plan-matrix td{vertical-align:middle}
.plan-matrix input[type=text],.plan-matrix select{min-width:0}
.plan-chk{width:20px;height:20px;cursor:pointer;accent-color:var(--blue)}
.plan-pick{border:0;padding:0;margin:.9rem 0 0;display:flex;flex-wrap:wrap;gap:.2rem 1.4rem;align-items:center}
.plan-pick legend{width:auto;float:left;margin:0 1rem 0 0;padding:0;font-size:.82rem;font-weight:700;color:#5a5c69}
.plan-pick .chk{margin:.3rem 0!important}
.plan-matrix td:first-child{min-width:340px}
/* selos dentro dos cartoes de indicador: o ".stat span" pintava o texto de azul */
.stat .badge-success,.stat .badge-danger,.stat .badge-secondary,.stat .badge-info{color:#fff}
.stat .badge-warning{color:#3b2f00}
/* campo de digitar o nome do site */
.site-picker input[type=search]{display:block;flex:1 1 260px;min-height:calc(1.5em + 1rem + 2px);padding:.5rem .85rem;font:inherit;font-size:.95rem;color:#3a3b45;background-color:#fff;border:1px solid #d1d3e2;border-radius:.35rem}
.site-picker input[type=search]:focus{outline:0;border-color:#bac8f3;box-shadow:0 0 0 .2rem rgba(78,115,223,.25)}
