/* stylesheet: premium.css */
/* V22.2.1 — Projetos e IA isolados do restante do site.
   Regra: nenhum seletor genérico pode alterar Dashboard, Agenda, Orçamentos, Equipamentos ou Conta. */
#premiumView{color:var(--text);min-width:0}
#premiumView .project-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:0}
#premiumView .project-heading h3{font-size:clamp(1.55rem,2.4vw,2rem);letter-spacing:-.025em;margin:8px 0}
#premiumView .premium-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
#premiumView .project-save-row{display:flex;justify-content:flex-end;min-height:22px;margin:0 0 12px}
#premiumView #premiumStatus{font-size:.76rem;color:var(--muted)}
#premiumView #premiumStatus.error{color:#ffb7b7}

#premiumView .project-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:18px}
#premiumView .project-actions>.btn[aria-pressed=true]{background:var(--yellow)!important;color:#101010!important;border-color:var(--yellow)!important}
#premiumView .project-more{position:relative;margin:0!important;padding:0!important;border:0!important}
#premiumView .project-more>summary{list-style:none;cursor:pointer;padding:12px 16px!important;color:var(--muted)!important;font-weight:800}
#premiumView .project-more>summary::-webkit-details-marker{display:none}
#premiumView .project-more>div{position:absolute;top:100%;right:0;width:240px;z-index:15;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:8px;box-shadow:var(--shadow)}
#premiumView .project-more>div>.btn{display:block;width:100%;text-align:left;margin:5px 0}

#premiumView .project-list-panel{padding:24px}
#premiumView .project-list-panel .panel-head{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
#premiumView .project-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,270px),1fr));gap:14px;margin-top:20px}
#premiumView .premium-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);padding:20px;min-width:0}
#premiumView .project-card{background:var(--input)}
#premiumView .project-card>.premium-row{justify-content:space-between}
#premiumView .project-card h3{font-size:1.08rem;margin:18px 0 8px;overflow-wrap:anywhere}
#premiumView .project-card p{font-size:.85rem;min-height:22px;color:var(--muted);overflow-wrap:anywhere}
#premiumView .premium-badge{display:inline-block;font-size:.69rem;border:1px solid var(--line);border-radius:999px;padding:5px 9px;color:var(--muted)}
#premiumView .project-card-actions{display:grid;grid-template-columns:minmax(0,1.65fr) repeat(2,minmax(0,.9fr));gap:7px;margin-top:14px}
#premiumView .project-card-actions .btn{width:100%;min-width:0;padding:9px 8px;font-size:.78rem;white-space:nowrap}
#premiumView .project-card-actions .btn:first-child{border:1px solid color-mix(in srgb,var(--yellow) 55%,var(--line));color:var(--text)}
#premiumView .project-card-actions .btn:first-child:hover{border-color:var(--yellow);color:var(--yellow)}
#premiumView .project-danger{color:#ffb9b9!important;border:1px solid rgba(255,115,115,.28)!important;background:rgba(255,80,80,.04)!important}
#premiumView .project-danger:hover{color:#fff!important;border-color:rgba(255,115,115,.62)!important;background:rgba(255,80,80,.13)!important}
#premiumView .project-empty{grid-column:1/-1;padding:35px 12px;text-align:center}
#premiumView .project-empty p{color:var(--muted);line-height:1.6}

#premiumView .premium-editor-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:14px}
#premiumView .project-visible-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
#premiumView .project-visible-actions .btn{min-height:38px;padding:9px 13px}
#premiumView .premium-editor label,#premiumView .panel>label{display:block;margin:16px 0}
#premiumView input:not([type=checkbox]),#premiumView select,#premiumView textarea{width:100%;background:var(--input)!important;color:var(--text)!important;border:1px solid var(--line);border-radius:10px;padding:12px;margin-top:7px;font:inherit}
#premiumView input:focus,#premiumView select:focus,#premiumView textarea:focus{border-color:var(--yellow);box-shadow:0 0 0 3px color-mix(in srgb,var(--yellow) 18%,transparent)}
#premiumView .premium-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:18px 0}
#premiumView .premium-check{display:flex!important;align-items:center;gap:10px;margin:12px 0}
#premiumView .premium-check input{width:18px;height:18px;flex-shrink:0;margin:0}
#premiumView .premium-usage{font-size:.8rem;line-height:1.5}

#premiumView details{border-top:1px solid var(--line);margin-top:18px;padding-top:18px}
#premiumView details>summary{cursor:pointer;padding:8px 0;color:var(--text);font-weight:700}
#premiumView details.panel{border:1px solid var(--line);padding:18px 24px;border-radius:var(--radius)}
#premiumView .project-extra-body{padding-top:8px}
#premiumView .project-extra-body details>.panel{margin-top:18px}
#premiumView .project-extras .premium-row{padding:8px 0}
#premiumView .project-extras small{color:var(--muted)}
#premiumView .project-notices .premium-row p{flex:1}

#premiumView .ai-connection{display:grid;grid-template-columns:auto auto 1fr;align-items:center;gap:8px 9px;margin:12px 0 4px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--input)}
#premiumView .ai-connection>span{width:8px;height:8px;border-radius:50%;background:#dc6b6b;box-shadow:0 0 0 4px rgba(220,107,107,.09)}
#premiumView .ai-connection.ok>span{background:#63c98f;box-shadow:0 0 0 4px rgba(99,201,143,.09)}
#premiumView .ai-connection strong{font-size:.78rem;letter-spacing:.01em;color:var(--text)}
#premiumView .ai-connection small{justify-self:end;color:var(--muted);font-size:.68rem;text-align:right;overflow-wrap:anywhere}
#premiumView .ai-connection.off{border-color:rgba(255,115,115,.22)}
#premiumView .premium-result{margin-top:24px;overflow-wrap:anywhere}
#premiumView .preserve{white-space:pre-wrap}
#premiumView .premium-finding{padding:16px;border:1px solid var(--line);border-radius:12px;margin:12px 0;background:var(--input)}
#premiumView .premium-finding .premium-badge{margin-left:12px}
#premiumView .premium-photo{width:100%;max-height:340px;object-fit:contain;background:#0b0e13;margin-top:12px;border-radius:12px}
#premiumView .premium-timeline{border-left:2px solid var(--yellow);padding-left:24px;margin-left:6px;max-height:360px;overflow:auto}
#premiumView .premium-timeline time{font-size:12px;color:var(--muted)}
#premiumView .premium-table{overflow:auto}
#premiumView .premium-table table{width:100%;border-collapse:collapse}
#premiumView .premium-table th,#premiumView .premium-table td{padding:13px;text-align:left;border-bottom:1px solid var(--line)}
#premiumView :focus-visible{outline:2px solid var(--yellow);outline-offset:3px}

/* Busca global: classe exclusiva da feature, sem tocar em inputs do restante do site. */
.premium-inline-search{position:relative;min-width:0;width:100%;max-width:360px;margin:8px 0}
.premium-inline-search input[type=search]{box-sizing:border-box;width:100%;min-width:0;border:1px solid var(--line);border-radius:10px;background:var(--input);color:var(--text);padding:11px 13px;font:inherit}
.premium-inline-search input::placeholder{color:var(--muted)}
.premium-inline-results{position:absolute;left:0;right:0;top:100%;z-index:50;margin-top:5px;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:6px;max-height:320px;overflow:auto;box-shadow:var(--shadow)}
.premium-inline-results[hidden]{display:none}
.premium-inline-results .btn{display:block;white-space:normal;text-align:left;width:100%;margin:3px 0;overflow-wrap:anywhere}
.premium-inline-results p{padding:8px;color:var(--muted)}
#premiumView .project-list-panel .premium-inline-search{margin:0;max-width:280px}

/* Dialogs exclusivos da feature. */
dialog.premium-search{background:var(--panel);color:var(--text);width:min(90vw,680px);border:1px solid var(--line);border-radius:18px;max-height:85vh;padding:20px}
dialog.premium-search::backdrop{background:#000b}
dialog.premium-search input{width:100%;padding:14px;background:var(--input);color:var(--text);border:1px solid var(--line);border-radius:10px}
dialog.premium-search .premium-search-results{display:grid;gap:8px;margin-top:18px}
dialog.premium-search .premium-search-results .btn{text-align:left}

@media(max-width:650px){
 #premiumView .project-heading{gap:12px}
 #premiumView .project-heading>.btn{width:100%}
 #premiumView .project-list-panel{padding:16px}
 #premiumView .project-list-panel .panel-head{align-items:stretch;flex-direction:column}
 #premiumView .project-list-panel .premium-inline-search{max-width:none}
 #premiumView .project-list{grid-template-columns:1fr}
 #premiumView .premium-grid{grid-template-columns:1fr}
 #premiumView .project-actions{gap:6px}
 #premiumView .project-actions>.btn{flex:1 1 calc(50% - 8px);font-size:.8rem;padding:11px 8px}
 #premiumView .project-more{flex:1 1 calc(50% - 8px)}
 #premiumView .project-more>summary{text-align:center}
 #premiumView .project-more>div{right:0;width:min(260px,80vw)}
 #premiumView details.panel{padding:16px}
 #premiumView .project-save-row{justify-content:flex-start}
 #premiumView .premium-editor-head{align-items:stretch}
 #premiumView .premium-editor-head>.premium-row{width:100%;justify-content:space-between}
 #premiumView .project-visible-actions{width:100%;display:grid;grid-template-columns:1.2fr 1fr .85fr}
 #premiumView .project-visible-actions .btn{width:100%;padding:10px 6px;font-size:.76rem}
 #premiumView .project-card-actions{grid-template-columns:1.35fr 1fr .82fr}
 #premiumView .project-card-actions .btn{font-size:.74rem;padding:10px 5px}
 #premiumView .ai-connection{grid-template-columns:auto 1fr}
 #premiumView .ai-connection small{grid-column:1/-1;justify-self:start;text-align:left;padding-left:17px}
}
@media(prefers-reduced-motion:reduce){#premiumView *{transition:none!important;scroll-behavior:auto!important}}


/* stylesheet: v22269-hardfix.css */
/* HARD FIX VISUAL 2291 — carregado por último, depois de premium.css. */

@media (max-width:760px){
  /* RELATÓRIOS — período compacto, amarelo/preto, atalhos simétricos. */
  #relatorioView .report-section-head{display:block!important;align-items:initial!important;margin-bottom:16px!important}
  #relatorioView .report-section-head>div:first-child{margin-bottom:14px!important}
  #relatorioView .report-section-head>div:first-child>p:last-child{font-size:.92rem!important;line-height:1.45!important}
  #relatorioView .report-filter{position:relative!important;width:100%!important;display:grid!important;grid-template-columns:1fr!important;gap:12px!important;padding:44px 14px 14px!important;border:1px solid #30343a!important;border-radius:18px!important;background:#101214!important;box-shadow:inset 0 3px 0 #ffd400!important;box-sizing:border-box!important}
  #relatorioView .report-filter::before{content:"PERÍODO DO RELATÓRIO"!important;position:absolute!important;left:14px!important;top:15px!important;color:#ffd400!important;font-size:.68rem!important;font-weight:950!important;letter-spacing:.12em!important}
  #relatorioView .report-date-search{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;width:100%!important}
  #relatorioView .report-date-search label{display:grid!important;gap:6px!important;margin:0!important;min-width:0!important;color:#ffd400!important;font-size:.72rem!important;font-weight:900!important}
  #relatorioView .report-date-search input{width:100%!important;height:48px!important;min-height:48px!important;max-height:48px!important;padding:0 10px!important;margin:0!important;border:1px solid #5b5100!important;border-radius:12px!important;background:#070809!important;color:#fff!important;-webkit-text-fill-color:#fff!important;font-size:.82rem!important;font-weight:800!important;text-align:center!important;box-sizing:border-box!important}
  #relatorioView .report-presets{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:7px!important;width:100%!important;min-width:0!important;max-width:none!important}
  #relatorioView .report-presets button{width:100%!important;min-width:0!important;min-height:40px!important;padding:6px 5px!important;border:1px solid #3b3e44!important;border-radius:10px!important;background:#181a1e!important;color:#fff!important;font-size:.68rem!important;font-weight:900!important}
  #relatorioView .report-presets button.active,#relatorioView .report-presets button:focus-visible{background:#ffd400!important;color:#111!important;border-color:#ffd400!important;outline:none!important}
  #relatorioView #exportReportPdfBtn{width:100%!important;min-height:48px!important;margin:0!important;border-radius:12px!important}
  #relatorioView .report-kpis{gap:10px!important;margin-top:16px!important}
  #relatorioView .report-kpi{padding:16px!important;border-radius:16px!important;min-height:112px!important;display:grid!important;align-content:center!important}
  #relatorioView .report-kpi strong{font-size:1.55rem!important;margin:7px 0 3px!important}

  /* ORÇAMENTOS — datas com a mesma altura visual do select Status. */
  #orcamentoView :is(#quoteDate,#quoteValidity,#quotePaymentDate,#quoteStatus){height:48px!important;min-height:48px!important;max-height:48px!important;padding-top:0!important;padding-bottom:0!important;box-sizing:border-box!important;border-radius:12px!important;line-height:48px!important}
  #orcamentoView :is(#quoteDate,#quoteValidity,#quotePaymentDate){-webkit-appearance:none!important;appearance:none!important;padding-left:12px!important;padding-right:12px!important}
  #orcamentoView .quote-client-card>label{gap:6px!important}
  #orcamentoView .quote-summary-mark{display:none!important}

  /* FLUXO DA DIÁRIA — microcopy Google fora do mobile. */
  #jobDetailsDialog>.dialog-card>small.field-help:last-child{display:none!important}

  /* LISTAS — nome + ações, sem metadados e sem dica inferior. */
  #equipamentosView .saved-kit-row small{display:none!important}
  #equipamentosView .equipment-search-hint{display:none!important}
  #equipamentosView .saved-kit-row{min-height:54px!important}

  /* CONTA — nascimento igual ao campo Função. */
  #contaView #accountBirthDate{width:100%!important;height:48px!important;min-height:48px!important;max-height:48px!important;padding:0 12px!important;margin:0!important;-webkit-appearance:none!important;appearance:none!important;box-sizing:border-box!important;border-radius:12px!important;line-height:48px!important}
  #contaView #accountAgeDisplay{margin-top:4px!important}
}
@media (max-width:430px){
  #relatorioView .report-presets{grid-template-columns:1fr 1fr!important}
}

@media (min-width:761px){
  /* DESKTOP — Área de orçamento com respiro real. */
  #orcamentoView .quote-page-head{margin-top:18px!important;padding:34px 30px 28px!important;min-height:136px!important;box-sizing:border-box!important}
  #orcamentoView .quote-page-head>div:first-child{display:grid!important;align-content:center!important;gap:4px!important;min-height:76px!important}
  #orcamentoView .quote-page-head h3{margin:2px 0 8px!important}
  #orcamentoView .quote-page-head p:last-child{margin-bottom:0!important}

  /* DESKTOP B&H — modal único, até 3 candidatos visíveis e ficha abaixo. */
  #bhImportDialog .bh-catalog-card{width:min(960px,calc(100vw - 56px))!important;max-width:960px!important;height:min(94dvh,960px)!important;max-height:94dvh!important;display:flex!important;flex-direction:column!important;overflow:hidden!important;border:1px solid #343840!important;border-radius:20px!important;box-shadow:0 28px 80px rgba(0,0,0,.48)!important}
  #bhImportDialog .bh-result-summary:not(.hidden){display:block!important;flex:0 0 auto!important;margin:10px 20px!important;border:1px solid #34373e!important;border-radius:14px!important;overflow:hidden!important;background:#101113!important}
  #bhImportDialog .bh-lookup-results{display:grid!important;gap:7px!important;max-height:205px!important;overflow-y:auto!important;padding:8px!important}
  #bhImportDialog .bh-result-card{display:grid!important;min-height:56px!important;padding:9px 12px!important}
  #bhImportDialog.has-selected-product .bh-result-summary.selection-collapsed .bh-lookup-results{max-height:205px!important}
  #bhImportDialog.has-selected-product .bh-result-summary.selection-collapsed .bh-result-card:not(.active){display:grid!important}
  #bhImportDialog .bh-results-toggle{display:none!important}
  #bhImportDialog .bh-lookup-layout{flex:1 1 auto!important;min-height:0!important;overflow:hidden!important;padding:0 20px 0!important;margin:0!important;display:block!important}
  #bhImportDialog .bh-preview-pane{height:100%!important;min-height:0!important;border:0!important;border-top:1px solid #2d3138!important;border-radius:0!important;box-shadow:none!important;background:#111419!important;overflow:hidden!important}
  #bhImportDialog .bh-dialog-footer{position:relative!important;flex:0 0 auto!important;margin:0!important;padding:11px 20px 12px!important;border:0!important;border-top:1px solid #30343a!important;border-radius:0 0 19px 19px!important;background:#0b0d10!important;box-shadow:none!important}
}


/* stylesheet: v22272-equipment-desktop.css */
/* V22.2.72 / build 2293 — Hotfix focado na Lista de Equipamentos desktop.
   Corrige quebra/encavalamento do bloco "Lista atual" em larguras intermediárias. */
@media (min-width:761px){
  #equipamentosView .kit-builder{
    width:100%!important;
    max-width:100%!important;
    box-sizing:border-box!important;
    grid-template-columns:repeat(auto-fit,minmax(260px,1fr))!important;
    align-items:stretch!important;
    overflow:hidden!important;
  }
  #equipamentosView .kit-builder-cell{
    min-width:0!important;
    width:auto!important;
    max-width:100%!important;
    box-sizing:border-box!important;
    overflow:hidden!important;
  }
  #equipamentosView .kit-source-controls,
  #equipamentosView .kit-name-field,
  #equipamentosView .kit-copy{
    min-width:0!important;
  }
  #equipamentosView #savedKitPicker,
  #equipamentosView #kitName,
  #equipamentosView #kitProjectTarget{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    box-sizing:border-box!important;
  }
  #equipamentosView .kit-name-field>small{
    max-width:100%!important;
    overflow-wrap:anywhere!important;
  }
  #equipamentosView .kit-actions{
    grid-column:1/-1!important;
    width:100%!important;
    max-width:100%!important;
    box-sizing:border-box!important;
    grid-template-columns:repeat(auto-fit,minmax(150px,1fr))!important;
  }
}

/* Em notebooks/desktop estreito, força duas áreas por linha em vez de manter 3 colunas apertadas. */
@media (min-width:761px) and (max-width:1350px){
  #equipamentosView .kit-builder{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  #equipamentosView .kit-name-field{
    grid-column:1/-1!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    column-gap:14px!important;
    row-gap:6px!important;
    align-content:start!important;
  }
  #equipamentosView .kit-name-field>label[for="kitName"]{grid-column:1;grid-row:1}
  #equipamentosView #kitName{grid-column:1;grid-row:2}
  #equipamentosView .kit-name-field>.kit-project-label{grid-column:2;grid-row:1;margin-top:0!important}
  #equipamentosView #kitProjectTarget{grid-column:2;grid-row:2}
  #equipamentosView .kit-name-field>small{grid-column:1/-1;grid-row:3}
}

@media (min-width:761px) and (max-width:920px){
  #equipamentosView .kit-builder{grid-template-columns:1fr!important}
  #equipamentosView .kit-name-field{grid-column:auto!important;display:flex!important;flex-direction:column!important}
  #equipamentosView .kit-actions{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}


/* V22.3.24 / build 2347 — Lista atual, Lista salva e Nome da lista com proporções equivalentes no desktop. */
@media (min-width:1200px){
  #equipamentosView .kit-builder{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
  #equipamentosView .kit-copy,
  #equipamentosView .kit-source-controls,
  #equipamentosView .kit-name-field{grid-column:auto!important;min-width:0!important;min-height:100%!important;}
  #equipamentosView .kit-builder-cell{width:auto!important;max-width:none!important;box-sizing:border-box!important;}
}

