/* =====================================================================
   COMPONENTES GLOBAIS — na pele do ERP do dono (visual-dono, 04/10/2026)
   Este arquivo era a "casca Vissmed" (lane espelho-casca, 02/10). O dono pediu de volta o visual do ERP dele
   (release 1eae1c88): saem daqui o menu em árvore, a barra do topo do Vissmed (zoom .8, hover amarelo) e o
   tema Material do Vissmed. FICAM as funções, com as cores, raios e sombras do app.css do dono:
   - mensagem (toast/growl): mesma API toast(msg, tipo), mesmo "×", mesmos 8 s; caixa escura do dono
   - breadcrumb: discreto (o caminho já está no menu)
   - calendário (vm-datepicker) e select com busca (vm-chosen): a busca é ganho, a pele é a do dono
   ===================================================================== */

/* ---------- 1. Mensagens (toast do dono: canto inferior esquerdo, cartão escuro) ---------- */
.vm-growl-pilha{position:fixed;left:18px;bottom:18px;z-index:1100;display:flex;flex-direction:column;align-items:flex-start;gap:8px;pointer-events:none;max-width:min(440px,calc(100vw - 36px))}
.vm-growl{pointer-events:auto;position:relative;display:block;max-width:100%;box-sizing:border-box;
  padding:12px 40px 12px 18px;border:0;border-radius:var(--r,9px);
  font-family:var(--font,Roboto,Arial,sans-serif);font-size:13px;line-height:1.5;color:#fff;background:#323232;
  box-shadow:var(--sh-lg);white-space:pre-line;word-wrap:break-word;animation:vm-growl-entra .2s cubic-bezier(.165,.84,.44,1) both}
.vm-growl.saindo{animation:vm-growl-sai .25s ease-in both}
.vm-growl-success{background:var(--vm-verde-escuro,#0A883A)}
.vm-growl-info{background:#2F7E92}
.vm-growl-warning{background:#B7791F}
.vm-growl-danger{background:var(--vm-vermelho,#DD4B39)}
.vm-growl-inverse{background:#323232}
.vm-growl-x{position:absolute;top:8px;right:10px;width:24px;height:24px;padding:0;margin:0;border:0;border-radius:6px;background:transparent;cursor:pointer;
  font-size:18px;font-weight:700;line-height:1;color:inherit;opacity:.7}
.vm-growl-x:hover,.vm-growl-x:focus-visible{opacity:1;background:rgba(255,255,255,.15)}
@keyframes vm-growl-entra{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes vm-growl-sai{to{opacity:0;transform:translateY(6px)}}
@media (prefers-reduced-motion:reduce){.vm-growl,.vm-growl.saindo{animation:none}}

/* ---------- 2. Breadcrumb "Início / ..." (discreto, como subtítulo) ---------- */
.vm-breadcrumb{padding:0;margin:0 0 10px;list-style:none;background:transparent;font-size:12px}
.vm-breadcrumb>li{display:inline-block}
.vm-breadcrumb>li+li:before{content:"›\00a0";padding:0 4px;color:#B8C4C8}
.vm-breadcrumb>li>a{color:var(--vm-ink-3,#6C757C);text-decoration:none}
.vm-breadcrumb>li>a:hover{color:var(--vm-header-dark,#4FA3B7)}
@media (max-width:360px){.vm-breadcrumb{font-size:0}}

/* ---------- 3. Calendário (vm-datepicker) ---------- */
.vm-dp{position:fixed;z-index:1060;background:#fff;border:var(--borda,1px solid rgba(38,50,56,.11));border-radius:var(--r,9px);
  box-shadow:var(--sh-lg);padding:8px;font-family:var(--font,Roboto,Arial,sans-serif);font-size:13px;color:var(--vm-ink,#2C3238);user-select:none}
.vm-dp:before{content:"";position:absolute;top:-7px;left:14px;border:7px solid transparent;border-top:0;border-bottom-color:rgba(38,50,56,.11)}
.vm-dp:after{content:"";position:absolute;top:-6px;left:15px;border:6px solid transparent;border-top:0;border-bottom-color:#fff}
.vm-dp.acima:before{top:auto;bottom:-7px;border-bottom:0;border-top:7px solid rgba(38,50,56,.11)}
.vm-dp.acima:after{top:auto;bottom:-6px;border-bottom:0;border-top:6px solid #fff}
.vm-dp table{border-collapse:separate;border-spacing:2px}
.vm-dp th,.vm-dp td{text-align:center;padding:0;height:30px;min-width:32px;border-radius:var(--r-sm,6px)}
.vm-dp .vm-dp-cab th{cursor:pointer;font-weight:600;height:32px;color:var(--vm-ink-2,#525A61)}
.vm-dp .vm-dp-cab th:hover{background:#EDF8FB}
.vm-dp .vm-dp-cab th.vm-dp-titulo.fixo{cursor:default;background:transparent}
.vm-dp .vm-dp-sem th{font-weight:700;color:var(--vm-ink-3,#6C757C);font-size:10.5px;height:24px;text-transform:uppercase}
.vm-dp td{cursor:pointer}
.vm-dp td:hover{background:#EDF8FB}
.vm-dp-ano td{min-width:52px;height:40px}
.vm-dp td.vm-dp-fora{color:#B8C4C8}
.vm-dp td.vm-dp-hoje{font-weight:700;color:var(--vm-header-dark,#4FA3B7);box-shadow:inset 0 0 0 1px rgba(95,179,199,.45)}
.vm-dp td.vm-dp-foco{background:#DCEEF3}
.vm-dp td.vm-dp-sel{background:var(--vm-header,#5FB3C7);color:#fff;font-weight:600}
.vm-dp td.vm-dp-off{color:#D5DBDE;cursor:not-allowed;background:transparent}

/* ---------- 4. Select com busca (vm-chosen) ---------- */
.vm-chosen-oculto{display:none!important}
.chosen-container{position:relative;display:inline-block;vertical-align:middle;font-size:13.5px;user-select:none;box-sizing:border-box}
.chosen-container *{box-sizing:border-box}
.chosen-container .chosen-drop{position:absolute;top:100%;left:0;z-index:1010;width:100%;min-width:200px;background:#fff;
  border:var(--borda,1px solid rgba(38,50,56,.11));border-radius:var(--r-sm,6px);box-shadow:var(--sh-lg);margin-top:4px;overflow:hidden;
  transform:scale(0);transform-origin:top left;opacity:0;transition:transform .15s,opacity .15s}
.chosen-container.chosen-with-drop .chosen-drop{transform:scale(1);opacity:1}
.chosen-container .chosen-results{position:relative;margin:0;padding:4px 0;max-height:300px;overflow-x:hidden;overflow-y:auto;list-style:none;color:var(--vm-ink,#2C3238)}
.chosen-container .chosen-results li{display:none;margin:0;padding:8px 14px;width:100%;line-height:17px;word-wrap:break-word;list-style:none}
.chosen-container .chosen-results li.active-result{display:list-item;cursor:pointer}
.chosen-container .chosen-results li.disabled-result{display:list-item;color:#B8C4C8;cursor:default}
.chosen-container .chosen-results li.highlighted{background:#EDF8FB;color:var(--vm-ink,#2C3238)}
.chosen-container .chosen-results li.no-results{display:list-item;color:var(--vm-ink-3,#6C757C);background:#F7FBFC}
.chosen-container .chosen-results li.result-selected{background:transparent;color:var(--vm-header-dark,#4FA3B7);font-weight:600;position:relative;cursor:default}
.chosen-container .chosen-results li.result-selected.highlighted{background:#EDF8FB}
.chosen-container .chosen-results li.result-selected:before{content:"\2713";position:absolute;right:14px;top:8px;font-size:14px}
.chosen-container .chosen-results li.group-result{display:list-item;color:var(--vm-ink-3,#6C757C);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;padding:12px 14px 4px;margin-top:4px;cursor:default}
.chosen-container .chosen-results li.group-result:not(:first-child){border-top:1px solid var(--vm-line,#E0E0E0)}
.chosen-container .chosen-results li.group-option{padding-left:26px}
.chosen-container .chosen-results li em{font-style:normal;background:#FDF9D8;border-radius:2px}
.chosen-container-single .chosen-single{position:relative;display:block;overflow:visible;height:36px;padding:7px 2px;border:0;border-bottom:1px solid var(--vm-line-2,#CCC);
  border-radius:0;background:transparent;color:var(--vm-ink,#2C3238);text-decoration:none;white-space:nowrap;line-height:22px;cursor:pointer;text-transform:none;transition:border-color .15s}
.chosen-container-single .chosen-single:hover{border-bottom-color:#9FB4BA}
.chosen-container-single .chosen-single:after{content:"";position:absolute;left:0;bottom:-1px;width:0;height:2px;background:var(--vm-header,#5FB3C7);transition:width .25s}
.chosen-container.chosen-with-drop .chosen-single:after{width:100%}
.chosen-container-single .chosen-single span{display:block;overflow:hidden;margin-right:26px;text-overflow:ellipsis;white-space:nowrap}
.chosen-container-single .chosen-single-with-deselect span{margin-right:38px}
.chosen-container-single .chosen-default{color:#9AA4AA}
.chosen-container-single .chosen-single div{position:absolute;top:0;right:0;display:block;width:18px;height:100%}
.chosen-container-single .chosen-single div b{position:absolute;top:16px;right:5px;width:0;height:0;border:5px solid transparent;border-top-color:var(--vm-ink-3,#6C757C);border-bottom:0}
.chosen-container-single .chosen-single abbr{position:absolute;top:10px;right:26px;display:block;width:14px;height:14px;line-height:12px;text-align:center;font-size:14px;color:#9AA4AA;cursor:pointer}
.chosen-container-single .chosen-single abbr:before{content:"\00d7"}
.chosen-container-single .chosen-single abbr:hover{color:var(--vm-ink,#2C3238)}
.chosen-container-single .chosen-search{position:relative;margin:0;padding:6px 6px 6px 36px;background:#F7FBFC;border-bottom:1px solid var(--vm-line,#E0E0E0);white-space:nowrap}
.chosen-container-single .chosen-search .vm-chosen-lupa{position:absolute;left:0;top:0;width:36px;height:100%;display:flex;align-items:center;justify-content:center;font-size:16px;color:var(--vm-ink-3,#6C757C)}
.chosen-container-single .chosen-search input[type=text]{width:100%;height:32px;margin:0;padding:0 8px;border:1px solid var(--vm-line,#E0E0E0);border-radius:var(--r-sm,6px);outline:0;background:#fff;line-height:1.42857143;font-size:13px;box-shadow:none}
.chosen-container-single .chosen-search input[type=text]:focus{border-color:var(--vm-header,#5FB3C7);box-shadow:0 0 0 3px rgba(95,179,199,.18)}
.chosen-container-multi .chosen-choices{position:relative;display:flex;flex-wrap:wrap;align-items:center;margin:0;padding:0;min-height:36px;border:0;border-bottom:1px solid var(--vm-line-2,#CCC);
  background:transparent;cursor:text;list-style:none}
.chosen-container-multi .chosen-choices li.search-choice{position:relative;margin:4px 4px 0 0;padding:4px 22px 4px 9px;border:1px solid #CFE6ED;border-radius:12px;
  background:#EDF8FB;color:var(--vm-ink,#2C3238);line-height:14px;font-size:12px;cursor:default;max-width:100%}
.chosen-container-multi .chosen-choices li.search-choice span{word-wrap:break-word}
.chosen-container-multi .chosen-choices li.search-choice .search-choice-close{position:absolute;top:3px;right:5px;display:block;width:14px;height:14px;
  line-height:14px;text-align:center;font-size:13px;color:var(--vm-ink-3,#6C757C);cursor:pointer;text-decoration:none}
.chosen-container-multi .chosen-choices li.search-choice .search-choice-close:before{content:"\00d7"}
.chosen-container-multi .chosen-choices li.search-choice .search-choice-close:hover{color:var(--vm-vermelho,#DD4B39)}
.chosen-container-multi .chosen-choices li.search-choice-focus{background:#DCEEF3;border-color:#A8D6E0}
.chosen-container-multi .chosen-choices li.search-field{flex:1;min-width:60px;margin:0;padding:0;white-space:nowrap}
.chosen-container-multi .chosen-choices li.search-field input[type=text]{width:100%;height:32px;margin:0;padding:0;border:0;outline:0;background:transparent;box-shadow:none;font-size:13px;color:var(--vm-ink,#2C3238)}
.chosen-container-multi .chosen-choices li.search-field input[type=text]::placeholder{color:#9AA4AA}
.chosen-container-multi .chosen-choices:after{content:"";position:absolute;left:0;bottom:-1px;width:0;height:2px;background:var(--vm-header,#5FB3C7);transition:width .25s}
.chosen-container-multi.chosen-with-drop .chosen-choices:after,.chosen-container-multi.chosen-container-active .chosen-choices:after{width:100%}
.chosen-container.chosen-disabled{opacity:.5;cursor:default}
.chosen-container.chosen-disabled *{cursor:default}
