:root{
  --navy-1:#0a1a33; --navy-2:#112542; --navy-3:#16335c; --ink:#0D2B52;
  --wine:#8B1A2B; --ice:#9DB8D8; --ice-soft:#BFD0E6; --white:#ffffff;
  --paper:#f3f6fb; --ok:#2ec5a8; --bad:#ff6b6b; --line:#21406e;
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;min-height:100%}
body{font-family:"Calibri","Segoe UI",system-ui,-apple-system,sans-serif;
  color:var(--paper);min-height:100vh;font-size:16px;line-height:1.45;
  background:linear-gradient(125deg,var(--navy-1) 0%,var(--navy-2) 42%,
    var(--navy-3) 62%,var(--navy-2) 78%,var(--navy-1) 100%);
  background-attachment:fixed}
a{color:inherit;text-decoration:none}
.topbar{position:sticky;top:0;z-index:20;background:var(--paper);
  padding:12px 18px;display:flex;align-items:center;justify-content:space-between;
  box-shadow:0 6px 22px rgba(0,0,0,.28)}
.topbar img{height:38px;display:block}
.topbar .right{display:flex;align-items:center;gap:14px}
.topbar .unit{font-size:11px;letter-spacing:.5px;color:var(--ink);
  text-align:right;line-height:1.4;font-weight:700}
.topbar .unit span{display:block;color:#5A6573;font-weight:400;font-size:10px}
.topbar a.logout{font-size:12px;color:var(--wine);font-weight:700;
  border:1px solid rgba(139,26,43,.35);padding:5px 11px;border-radius:6px}
.wrap{max-width:720px;margin:0 auto;padding:22px 18px 60px}
.hero{margin-bottom:22px}
.hero .kicker{font-size:11px;font-weight:700;letter-spacing:1.5px;color:var(--white);
  text-transform:uppercase;opacity:.92}
.hero h1{font-size:27px;font-weight:700;letter-spacing:1px;margin:6px 0 0;
  color:var(--white);text-transform:uppercase}
.hero .desc{font-size:13px;color:var(--ice-soft);margin-top:8px}
.crumb{font-size:12px;color:var(--ice);margin-bottom:14px;letter-spacing:.3px}
.crumb a{color:var(--white);font-weight:700}
.period{display:inline-block;background:rgba(255,255,255,.06);border:1px solid var(--line);
  border-radius:20px;padding:5px 15px;font-size:12px;font-weight:700;color:var(--ice);
  margin-bottom:16px;letter-spacing:.5px}
.card{position:relative;display:block;background:var(--navy-2);border-radius:10px;
  padding:16px 18px;margin-bottom:12px;overflow:hidden;
  box-shadow:0 12px 34px rgba(0,0,0,.32);border:1px solid rgba(255,255,255,.03)}
.card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--wine)}
.card:active{transform:translateY(1px)}
.card .row{display:flex;align-items:center;gap:12px}
.card .name{font-weight:700;font-size:17px;color:var(--white);flex:1}
.card .meta{font-size:12px;color:var(--ice);margin-top:6px}
.bar{height:8px;background:rgba(255,255,255,.08);border-radius:6px;overflow:hidden;margin-top:10px}
.bar > span{display:block;height:100%;background:var(--ok)}
.pill{font-size:11px;font-weight:700;padding:3px 10px;border-radius:20px;letter-spacing:.5px}
.pill.done{background:rgba(46,197,168,.15);color:var(--ok)}
.pill.todo{background:rgba(157,184,216,.12);color:var(--ice)}
.pill.nc{background:rgba(255,107,107,.15);color:var(--bad)}
.chev{color:var(--ice);font-size:20px;opacity:.7}
.sysblock{position:relative;background:var(--navy-2);border-radius:10px;margin-bottom:12px;
  overflow:hidden;box-shadow:0 12px 34px rgba(0,0,0,.30);border:1px solid rgba(255,255,255,.03)}
.sysblock::before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--wine)}
.sysblock > .head{display:flex;align-items:center;gap:10px;padding:13px 18px;
  background:rgba(255,255,255,.03);border-bottom:1px solid var(--line);
  font-weight:700;color:var(--white);letter-spacing:.5px}
.sysblock .head .count{margin-left:auto;font-size:12px;color:var(--ice);font-weight:700}
.cond{display:flex;align-items:center;gap:11px;padding:12px 18px;border-bottom:1px solid rgba(255,255,255,.05)}
.cond:last-child{border-bottom:none}
.cond .cname{flex:1;font-size:15px;color:var(--white)}
.cond .cmodel{font-size:11px;color:var(--ice);margin-top:1px}
.cond .acts{display:flex;gap:6px}
.dot{width:9px;height:9px;border-radius:50%;flex:none;background:rgba(255,255,255,.22)}
.dot.done{background:var(--ok)} .dot.nc{background:var(--bad)}
.btn{display:inline-block;padding:8px 13px;border-radius:7px;font-size:13px;font-weight:700;
  cursor:pointer;letter-spacing:.3px;transition:filter .15s,transform .05s}
.btn:active{transform:translateY(1px)}
.btn.men{color:var(--white);background:rgba(255,255,255,.06);border:1px solid var(--line)}
.btn.men:hover{border-color:var(--ice)}
.btn.tri{color:var(--white);background:var(--wine);border:1px solid var(--wine)}
.btn.tri:hover{filter:brightness(1.12)}
.login{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:16px}
.login .box{position:relative;background:var(--navy-2);border-radius:12px;padding:30px 26px;
  width:100%;max-width:380px;overflow:hidden;box-shadow:0 22px 60px rgba(0,0,0,.5)}
.login .box::before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--wine)}
.login .logohead{display:flex;justify-content:center;margin-bottom:18px}
.login .logohead img{height:44px;background:var(--paper);padding:9px 14px;border-radius:8px}
.login .kicker{font-size:11px;font-weight:700;letter-spacing:1.4px;color:var(--ice);
  text-transform:uppercase;text-align:center}
.login h2{color:var(--white);text-align:center;font-size:20px;margin:6px 0 2px;font-weight:700}
.login p.tag{color:var(--ice-soft);font-size:12px;margin:0 0 20px;text-align:center}
label{display:block;font-size:12px;font-weight:700;margin:14px 0 6px;color:var(--ice);
  text-transform:uppercase;letter-spacing:.6px}
input[type=text],input[type=password],input[type=date],input[type=number],input[type=email]{width:100%;padding:12px;
  border:1px solid var(--line);border-radius:9px;font-size:16px;
  background:rgba(255,255,255,.04);color:var(--white)}
input::placeholder{color:#6d86ad}
input:focus{outline:none;border-color:var(--ice)}
.btn-primary{width:100%;margin-top:22px;padding:14px;background:var(--wine);color:#fff;
  border:none;border-radius:9px;font-size:15px;font-weight:700;cursor:pointer;
  text-transform:uppercase;letter-spacing:.8px;transition:filter .15s}
.btn-primary:hover{filter:brightness(1.12)}
.err{background:rgba(255,107,107,.14);color:var(--bad);padding:10px;border-radius:8px;
  font-size:13px;margin-top:14px;text-align:center}
.loc{position:relative;background:var(--navy-2);border-radius:10px;padding:14px 16px 14px 20px;
  margin-bottom:14px;overflow:hidden;box-shadow:0 10px 28px rgba(0,0,0,.3)}
.loc::before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--wine)}
.loc .k{font-size:11px;color:var(--ice);text-transform:uppercase;letter-spacing:.8px}
.loc .v{font-weight:700;color:var(--white);font-size:17px;margin:2px 0}
.hint{background:rgba(157,184,216,.1);border:1px solid var(--line);color:var(--ice-soft);
  font-size:13px;padding:11px 13px;border-radius:9px;margin-bottom:16px}
.hint b{color:var(--white)}
.item{background:var(--navy-2);border:1px solid rgba(255,255,255,.04);border-radius:9px;
  padding:11px 13px;margin-bottom:8px}
.item .txt{font-size:14px;margin-bottom:9px;color:var(--paper)}
.item .num{color:var(--wine);font-weight:700;margin-right:7px}
.seg{display:flex;gap:6px}
.seg label{flex:1;margin:0;text-align:center;padding:9px;border:1px solid var(--line);
  border-radius:8px;font-weight:700;font-size:13px;cursor:pointer;user-select:none;
  background:rgba(255,255,255,.03);color:var(--ice);text-transform:none;letter-spacing:0}
.seg input{display:none}
.seg label.c.on{background:rgba(46,197,168,.16);border-color:var(--ok);color:var(--ok)}
.seg label.nc.on{background:rgba(255,107,107,.16);border-color:var(--bad);color:var(--bad)}
.seg label.na.on{background:rgba(157,184,216,.16);border-color:var(--ice);color:var(--white)}
textarea{width:100%;border:1px solid var(--line);border-radius:9px;padding:11px;
  font-size:15px;font-family:inherit;min-height:72px;background:rgba(255,255,255,.04);color:var(--white)}
textarea:focus{outline:none;border-color:var(--ice)}
.section-t{font-weight:700;margin:22px 0 10px;font-size:12px;color:var(--ice);
  text-transform:uppercase;letter-spacing:1px}
.toggle-all{font-size:12px;color:var(--wine);font-weight:700;cursor:pointer;
  text-align:right;margin-bottom:8px}
.byline{margin-top:16px;font-size:12px;color:var(--ice)}
.byline b{color:var(--white)}
.sticky-actions{position:sticky;bottom:0;padding:14px 0 8px;margin-top:16px;
  background:linear-gradient(to top,var(--navy-1),rgba(10,26,51,.85) 70%,transparent);
  display:flex;gap:10px}
.sticky-actions .btn-gen{flex:1;background:var(--wine);color:#fff;border:none;
  padding:15px;border-radius:9px;font-size:15px;font-weight:700;cursor:pointer;
  text-transform:uppercase;letter-spacing:1px;transition:filter .15s}
.sticky-actions .btn-gen:hover{filter:brightness(1.12)}
.empty{color:var(--ice);text-align:center;padding:30px 0}
footer{margin-top:26px;text-align:center;font-size:11px;color:var(--ice);opacity:.75}

/* Seletor de competência */
.period-form{margin-bottom:16px;display:flex;align-items:center;gap:10px}
.period-lbl{margin:0;color:var(--ice);font-size:11px;text-transform:uppercase;letter-spacing:.8px}
.period-select{background:var(--navy-2);color:var(--white);border:1px solid var(--line);
  border-radius:8px;padding:9px 12px;font-size:14px;font-weight:700;min-width:150px}
.period-select:focus{outline:none;border-color:var(--ice)}
.hist-warn{background:rgba(255,193,7,.12);border:1px solid rgba(255,193,7,.3);
  color:#ffd479;font-size:13px;padding:10px 13px;border-radius:9px;margin-bottom:16px}

/* Admin */
.admin-actions{display:flex;align-items:center;justify-content:space-between;
  gap:12px;margin-bottom:16px}
.admin-count{color:var(--ice);font-size:13px;font-weight:700}
.adm-row{position:relative;display:flex;align-items:center;gap:11px;background:var(--navy-2);
  border:1px solid rgba(255,255,255,.04);border-radius:9px;padding:12px 14px;margin-bottom:8px}
.adm-info{flex:1;min-width:0}
.adm-title{color:var(--white);font-weight:700;font-size:14px}
.adm-meta{color:var(--ice);font-size:12px;margin-top:2px}
.adm-tag{display:inline-block;font-size:10px;font-weight:700;padding:1px 7px;border-radius:10px;
  margin-left:6px;text-transform:uppercase;letter-spacing:.4px}
.adm-tag.mensal{background:rgba(157,184,216,.16);color:var(--ice)}
.adm-tag.trimestral{background:rgba(139,26,43,.22);color:#e08b98}
.adm-tag.nc{background:rgba(255,107,107,.18);color:var(--bad)}

/* Admin: ações da linha (PDF / apagar) */
.adm-acts{display:flex;align-items:center;gap:8px;flex:none}
.del-form{margin:0}
.btn-del{background:rgba(255,107,107,.1);color:var(--bad);border:1px solid rgba(255,107,107,.35);
  border-radius:7px;padding:8px 12px;font-size:13px;font-weight:700;cursor:pointer;
  letter-spacing:.3px;transition:filter .15s,transform .05s}
.btn-del:hover{filter:brightness(1.15);background:rgba(255,107,107,.18)}
.btn-del:active{transform:translateY(1px)}
.adm-nopdf{font-size:12px;color:var(--ice);opacity:.7;font-style:italic;padding:0 6px}

/* ═══════════════════════════════════════════════════════════
   HUB RS SANTOS — extensões (home, grid de apps, badges, tabelas)
   ═══════════════════════════════════════════════════════════ */

/* topbar: nome do hub + usuário */
.topbar .hubname{font-size:12px;letter-spacing:.5px;color:var(--ink);
  text-align:right;line-height:1.4;font-weight:700}
.topbar .hubname span{display:block;color:#5A6573;font-weight:400;font-size:10px}
.topbar .whoami{font-size:12px;color:var(--ink);font-weight:700;
  padding:5px 11px;border-radius:6px;background:rgba(13,43,82,.06)}
.topbar .whoami .role{color:var(--wine);font-weight:700;font-size:10px;
  text-transform:uppercase;letter-spacing:.5px;display:block}
.topbar .nav{display:flex;align-items:center;gap:10px}
.topbar .nav a{font-size:12px;color:var(--ink);font-weight:700;padding:5px 10px;
  border-radius:6px;border:1px solid transparent}
.topbar .nav a:hover{border-color:rgba(13,43,82,.18)}
.topbar .nav a.on{background:rgba(13,43,82,.08)}
.topbar .badge-pend{display:inline-block;min-width:18px;text-align:center;
  background:var(--wine);color:#fff;font-size:11px;font-weight:700;border-radius:20px;
  padding:1px 6px;margin-left:5px}

/* grid de apps (home do hub) */
.apps-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));
  gap:14px;margin-top:6px}
.app-card{position:relative;display:flex;flex-direction:column;align-items:center;
  justify-content:center;text-align:center;background:var(--navy-2);border-radius:12px;
  padding:30px 18px;overflow:hidden;box-shadow:0 12px 34px rgba(0,0,0,.32);
  border:1px solid rgba(255,255,255,.04);transition:transform .08s,filter .15s;min-height:150px}
.app-card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--wine)}
.app-card:hover{filter:brightness(1.08)}
.app-card:active{transform:translateY(1px)}
.app-card.soon{opacity:.5;pointer-events:none}
.app-card .ico{font-size:38px;line-height:1;margin-bottom:14px;display:block}
.app-card .t{font-weight:700;font-size:19px;color:var(--white);letter-spacing:.4px}
.app-card .d{font-size:12px;color:var(--ice);margin-top:6px;line-height:1.45}
.app-card .soon-tag{position:absolute;top:14px;right:14px;font-size:9px;font-weight:700;
  text-transform:uppercase;letter-spacing:.6px;color:var(--ice);
  background:rgba(157,184,216,.14);padding:3px 8px;border-radius:20px}
.app-card .pend-tag{position:absolute;top:14px;right:14px;font-size:11px;font-weight:700;
  color:#fff;background:var(--wine);padding:2px 9px;border-radius:20px}

/* botões utilitários */
.btn-ghost{display:inline-flex;align-items:center;gap:6px;padding:9px 14px;border-radius:8px;
  font-size:13px;font-weight:700;cursor:pointer;color:var(--white);
  background:rgba(255,255,255,.06);border:1px solid var(--line);transition:border-color .15s}
.btn-ghost:hover{border-color:var(--ice)}
.btn-wine{display:inline-flex;align-items:center;gap:6px;padding:10px 16px;border-radius:8px;
  font-size:13px;font-weight:700;cursor:pointer;color:#fff;background:var(--wine);
  border:1px solid var(--wine);transition:filter .15s}
.btn-wine:hover{filter:brightness(1.12)}
.btn-sm{padding:6px 11px;font-size:12px}
.btn-row{display:flex;gap:8px;flex-wrap:wrap}

/* tabela genérica (clientes, orçamentos) */
.tbl-tools{display:flex;gap:10px;align-items:center;margin-bottom:14px;flex-wrap:wrap}
.tbl-tools input.search{flex:1;min-width:180px}
.list-row{position:relative;display:flex;align-items:center;gap:12px;background:var(--navy-2);
  border:1px solid rgba(255,255,255,.04);border-radius:10px;padding:13px 15px;margin-bottom:8px;
  transition:filter .12s}
.list-row:hover{filter:brightness(1.06)}
.list-row .lr-main{flex:1;min-width:0}
.list-row .lr-title{color:var(--white);font-weight:700;font-size:15px}
.list-row .lr-sub{color:var(--ice);font-size:12px;margin-top:2px;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.list-row .lr-acts{display:flex;gap:7px;flex:none}
.list-row .lr-val{color:var(--white);font-weight:700;font-size:15px;white-space:nowrap}

/* status pills de orçamento */
.st{font-size:10px;font-weight:700;padding:2px 9px;border-radius:20px;
  text-transform:uppercase;letter-spacing:.4px;white-space:nowrap}
.st.rascunho{background:rgba(157,184,216,.14);color:var(--ice)}
.st.gerado{background:rgba(46,197,168,.16);color:var(--ok)}
.st.pendente{background:rgba(255,193,7,.14);color:#ffd479}
.st.aprovado{background:rgba(46,197,168,.16);color:var(--ok)}
.st.rejeitado{background:rgba(255,107,107,.16);color:var(--bad)}

/* tag de tipo de cliente */
.tag-tipo{font-size:9px;font-weight:700;padding:1px 7px;border-radius:10px;
  text-transform:uppercase;letter-spacing:.4px;margin-left:6px}
.tag-tipo.contrato{background:rgba(139,26,43,.22);color:#e08b98}
.tag-tipo.avulso{background:rgba(157,184,216,.14);color:var(--ice)}

/* formulários / cards de conteúdo */
.panel{background:var(--navy-2);border-radius:12px;padding:20px;margin-bottom:16px;
  box-shadow:0 12px 34px rgba(0,0,0,.28);border:1px solid rgba(255,255,255,.03);position:relative}
.panel::before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--wine);
  border-radius:12px 0 0 12px}
.panel h3{color:var(--white);font-size:14px;text-transform:uppercase;letter-spacing:.8px;
  margin:0 0 14px;font-weight:700}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.grid3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}
@media(max-width:560px){.grid2,.grid3{grid-template-columns:1fr}}
.field-lbl{font-size:11px;font-weight:700;color:var(--ice);text-transform:uppercase;
  letter-spacing:.6px;margin:0 0 5px;display:block}
select{width:100%;padding:12px;border:1px solid var(--line);border-radius:9px;font-size:15px;
  background:var(--navy-1);color:var(--white)}
select:focus{outline:none;border-color:var(--ice)}
.empty-box{color:var(--ice);text-align:center;padding:36px 0;opacity:.8}
.flash{padding:11px 14px;border-radius:9px;font-size:13px;margin-bottom:14px;font-weight:600}
.flash.ok{background:rgba(46,197,168,.14);color:var(--ok);border:1px solid rgba(46,197,168,.3)}
.flash.err{background:rgba(255,107,107,.14);color:var(--bad);border:1px solid rgba(255,107,107,.3)}

/* botão PDF (estilo checklist: wine, texto branco) */
.btn-pdf{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:38px;padding:0 18px;border-radius:8px;
  font-size:13px;font-weight:700;letter-spacing:.5px;cursor:pointer;color:#fff;box-sizing:border-box;
  background:var(--wine);border:1px solid var(--wine);transition:filter .15s;text-decoration:none}
.btn-pdf:hover{filter:brightness(1.12)}

/* linha de item do orçamento (descrição + qtd + valor + subtotal) */
.item-row{display:grid;grid-template-columns:1fr 80px 130px 120px 40px;gap:10px;
  align-items:end;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.05)}
.item-row:last-of-type{border-bottom:none}
.item-lbl{display:block;font-size:10px;color:var(--ice);text-transform:uppercase;
  letter-spacing:.5px;margin-bottom:4px;opacity:.75}
.item-inp{width:100%;padding:9px 10px;border:1px solid var(--line);border-radius:8px;
  font-size:14px;background:rgba(255,255,255,.04);color:var(--white)}
.item-inp:focus{outline:none;border-color:var(--ice)}
.item-qtd .item-inp,.item-val .item-inp{text-align:right}
.item-sub{text-align:right}
.item-sub-val{display:inline-block;color:var(--white);font-weight:700;font-size:15px;padding:9px 0}
.item-del{align-self:end;margin-bottom:2px}
@media(max-width:600px){
  .item-row{grid-template-columns:1fr 1fr;gap:8px}
  .item-desc{grid-column:1 / -1}
  .item-sub{grid-column:1 / -1;text-align:left;display:flex;justify-content:space-between;align-items:center}
  .item-del{grid-column:1 / -1;justify-self:end}
}

/* botões de ação da lista (editar/apagar) — altura igual ao PDF */
.btn-act{display:inline-flex;align-items:center;justify-content:center;height:38px;min-width:42px;
  padding:0 12px;border-radius:8px;font-size:15px;cursor:pointer;box-sizing:border-box;
  transition:filter .15s,transform .05s;text-decoration:none;line-height:1}
.btn-act-edit{background:rgba(255,255,255,.06);border:1px solid var(--line);color:var(--white)}
.btn-act-edit:hover{border-color:var(--ice)}
.btn-act-del{background:rgba(255,107,107,.1);border:1px solid rgba(255,107,107,.35);color:var(--bad)}
.btn-act-del:hover{filter:brightness(1.15);background:rgba(255,107,107,.18)}
.btn-act:active{transform:translateY(1px)}
.lr-acts{display:flex;gap:7px;align-items:center;flex:none}
.lr-acts .del-form{display:flex;margin:0}

/* botões de decisão do gestor (aprovar/rejeitar) no rodapé */
.decisao-btns{display:flex;gap:10px}
.decisao-btns .btn-gen{flex:1;background:var(--wine);color:#fff;border:none;
  padding:15px;border-radius:9px;font-size:15px;font-weight:700;cursor:pointer;
  text-transform:uppercase;letter-spacing:1px;transition:filter .15s}
.decisao-btns .btn-gen:hover{filter:brightness(1.12)}
.btn-rejeitar{flex:1;background:rgba(255,107,107,.12);color:var(--bad);
  border:1px solid rgba(255,107,107,.4);padding:15px;border-radius:9px;font-size:15px;
  font-weight:700;cursor:pointer;text-transform:uppercase;letter-spacing:1px;transition:filter .15s}
.btn-rejeitar:hover{filter:brightness(1.15);background:rgba(255,107,107,.2)}
@media(max-width:520px){.decisao-btns{flex-direction:column}}

/* bloco de resposta do gestor no card do orçamento */
.orc-card{margin-bottom:8px}
.resp-box{border-radius:0 0 10px 10px;padding:10px 15px;margin-top:-2px;
  border:1px solid rgba(255,255,255,.04);border-top:none;font-size:13px}
.resp-box.aprovado{background:rgba(46,197,168,.08);border-left:3px solid var(--ok)}
.resp-box.rejeitado{background:rgba(255,107,107,.08);border-left:3px solid var(--bad)}
.resp-line{color:var(--white);line-height:1.5;margin:2px 0}
.resp-lbl{font-weight:700;color:var(--ice)}
.resp-box.aprovado .resp-lbl{color:var(--ok)}
.resp-box.rejeitado .resp-lbl{color:var(--bad)}

/* Autocomplete de busca no formulario de orcamento */
.ac-wrap{position:relative;display:flex;gap:8px;align-items:flex-start;flex-wrap:wrap}
.ac-input{flex:1;min-width:220px}
.ac-novo{white-space:nowrap;align-self:stretch}
.ac-list{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:40;
  background:var(--navy-1);border:1px solid var(--line);border-radius:9px;
  max-height:320px;overflow-y:auto;box-shadow:0 12px 30px rgba(0,0,0,.45)}
.ac-item{padding:10px 14px;cursor:pointer;border-bottom:1px solid rgba(255,255,255,.05)}
.ac-item:last-child{border-bottom:none}
.ac-item:hover,.ac-item.ac-ativo{background:rgba(255,255,255,.08)}
.ac-item-nome{color:var(--white);font-size:14px;font-weight:600}
.ac-item-sub{color:var(--ice);font-size:12px;margin-top:2px}
.ac-tag{display:inline-block;font-size:10px;font-weight:700;text-transform:uppercase;
  letter-spacing:.4px;color:var(--ice);border:1px solid var(--line);border-radius:5px;
  padding:1px 6px;margin-left:6px;vertical-align:middle}
.ac-vazio{padding:12px 14px;color:var(--ice);font-size:13px;opacity:.85}
.ac-selecionado{flex:1;min-width:220px;display:flex;align-items:center;justify-content:space-between;
  gap:10px;background:rgba(255,255,255,.05);border:1px solid var(--line);border-radius:9px;
  padding:12px 14px;color:var(--white);font-weight:600;font-size:15px}
.ac-limpar{background:none;border:none;color:var(--ice);font-size:16px;cursor:pointer;
  padding:0 4px;line-height:1}
.ac-limpar:hover{color:var(--wine)}
