  :root{
    /* Tema escuro — mesma linguagem da tela de login.
       O amarelo deixa de ser o fundo e vira acento pontual. */
    --f9-yellow:#FFDE00;
    --f9-yellow-deep:#E8C700;
    --bg:#0a0a0a;          /* fundo da página */
    --surface:#151515;     /* cards, tabela, painéis */
    --surface-2:#1e1e1e;   /* cabeçalhos de grupo, hover */
    --ink:#f2f2f2;         /* texto principal */
    --ink-soft:#9a9a9a;    /* texto secundário */
    --paper:#151515;
    --paper-2:#1e1e1e;
    --line:#3a3a3a;
    --line-soft:#2a2a2a;
    --amber:#ffc046;
    --amber-bg:rgba(255,192,70,0.14);
    --green:#3ecf8e;
    --green-bg:rgba(62,207,142,0.14);
    --coral:#ff6b6b;
    --coral-bg:rgba(255,107,107,0.14);
    --gray-bg:rgba(255,255,255,0.07);
    --card:#121212;        /* cartões Glass & Backstage Pass */
    --card-2:#181818;
    --card-solid:rgba(18,18,18,.98);
    --card-opaque:#121212;
    --slot:#0A0A0A;
    --ink-mid:rgba(255,255,255,.72);
    --ink-label:rgba(255,255,255,.45);
    --v02:rgba(255,255,255,.018);
    --v04:rgba(255,255,255,.045);
    --v06:rgba(255,255,255,.06);
    --v08:rgba(255,255,255,.08);
    --v09:rgba(255,255,255,.09);
    --v10:rgba(255,255,255,.10);
    --v12:rgba(255,255,255,.12);
    --v14:rgba(255,255,255,.14);
    --v24:rgba(255,255,255,.24);
    --v25:rgba(255,255,255,.25);
    /* Cores fixas da marca — iguais nos dois temas */
    --brand-yellow:#FFDE00;
    --brand-black:#0A0A0A;
    --brand-white:#FFFFFF;
    --marca:var(--f9-yellow);
  }
  html[data-tema="claro"]{
    /* Tema claro institucional: papel neutro, preto Forma, amarelo tático */
    --bg:#F4F4F1;
    --surface:#FFFFFF;
    --surface-2:#ECECE7;
    --ink:#0A0A0A;
    --ink-soft:#5C5C5C;
    --paper:#FFFFFF;
    --paper-2:#ECECE7;
    --line:#D6D6D0;
    --line-soft:#E3E3DD;
    --amber:#8A5A00;
    --amber-bg:rgba(255,192,70,0.24);
    --green:#137a4f;
    --green-bg:rgba(62,207,142,0.20);
    --coral:#C43A3A;
    --coral-bg:rgba(255,107,107,0.18);
    --card:#FFFFFF;
    --card-2:#F4F4F1;
    --card-solid:rgba(255,255,255,.98);
    --card-opaque:#FFFFFF;
    --slot:#0A0A0A;
    --ink-mid:rgba(10,10,10,.70);
    --ink-label:rgba(10,10,10,.50);
    --v02:rgba(10,10,10,.022);
    --v04:rgba(10,10,10,.05);
    --v06:rgba(10,10,10,.06);
    --v08:rgba(10,10,10,.07);
    --v09:rgba(10,10,10,.08);
    --v10:rgba(10,10,10,.10);
    --v12:rgba(10,10,10,.12);
    --v14:rgba(10,10,10,.14);
    --v24:rgba(10,10,10,.22);
    --v25:rgba(10,10,10,.24);
    --gray-bg:rgba(10,10,10,.06);
    --marca:#0A0A0A;
  }
  html[data-tema="claro"] .mod-card .mc-slot{background:#0A0A0A; color:var(--f9-yellow);}
  html[data-tema="claro"] .kpi,
  html[data-tema="claro"] .mod-card,
  html[data-tema="claro"] .orc-card{box-shadow:0 1px 2px rgba(10,10,10,.06);}
  .tema-btn{
    display:inline-flex; align-items:center; gap:6px;
    min-height:34px; padding:0 12px; border-radius:999px;
    border:1px solid var(--v14); background:var(--v06);
    color:var(--ink); font:600 11.5px/1 'Inter',sans-serif;
    letter-spacing:.06em; text-transform:uppercase; cursor:pointer;
  }
  .tema-btn:hover{border-color:var(--f9-yellow); color:var(--f9-yellow);}
  .tema-btn svg{width:15px; height:15px; stroke:currentColor; fill:none; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round;}
  *{box-sizing:border-box;}
  body{margin:0; background:var(--bg);}
  #app{
    font-family:'Inter', sans-serif;
    color:var(--ink);
    background:var(--bg);
    padding:0 0 48px;
    min-height:100vh;
  }
  .hero{
    background:var(--bg);
    border-bottom:1px solid var(--line-soft);
    padding:26px 32px 22px;
    margin:0 0 26px;
    position:relative;
  }
  .brandmark{
    display:flex;
    align-items:center;
    gap:6px;
    margin:0 0 14px;
  }
  .brandmark span{
    font-family:'Poppins', 'Inter', sans-serif;
    font-weight:700;
    font-size:15px;
    color:var(--ink);
    text-transform:none;
  }
  .mero-hero-title{
    font-family:'Poppins', sans-serif;
    font-weight:800;
    font-size:56px;
    line-height:0.95;
    letter-spacing:0.5px;
    color:var(--ink);
    margin:0 0 6px;
    -webkit-text-stroke:1.5px var(--ink);
  }
  .mero-hero-sub{
    font-family:'Inter', sans-serif;
    font-weight:600;
    font-size:13px;
    color:var(--ink);
    opacity:0.75;
    margin:0 0 16px;
  }
  .doodle{
    position:absolute;
    pointer-events:none;
  }
  .doodle-lampada{
    top:14px;
    right:36px;
    width:56px;
    transform:rotate(8deg);
  }
  .doodle-sorriso{
    bottom:10px;
    right:110px;
    width:64px;
    transform:rotate(-6deg);
  }
  .doodle-seta{
    bottom:-6px;
    left:150px;
    width:40px;
    transform:rotate(12deg);
  }
  .eyebrow{display:none;}
  .sub{
    display:inline-block;
    font-family:'Inter', sans-serif;
    font-size:13px;
    font-weight:700;
    color:var(--ink);
    background:var(--surface);
    margin:0;
    padding:10px 16px;
    border:2px solid var(--ink);
    box-shadow:5px 5px 0 var(--ink);
    text-transform:uppercase;
    letter-spacing:0.5px;
  }
  #app > .cards, #app > .toolbar, #app > div > table, #app > .manage, #app > .footnote{
    margin-left:24px;
    margin-right:24px;
  }
  .cards, .toolbar, .actions-bar, #tabela-principal-wrap, .manage, .manage-header,
  #diretoria-view, #historico-view, #aprovados-view, .footnote{
    margin-left:32px;
    margin-right:32px;
  }
  .cards{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
    gap:14px;
    margin-bottom:26px;
  }
  .card{
    background:var(--surface);
    border:2px solid var(--ink);
    border-radius:8px;
    padding:12px 14px;
    box-shadow:4px 4px 0 var(--ink);
  }
  .card.card-click{
    cursor:pointer;
    background:var(--f9-yellow);
    transition:transform 0.06s, box-shadow 0.06s;
  }
  .card.card-click:hover{
    transform:translate(-1px,-1px);
    box-shadow:6px 6px 0 var(--ink);
  }
  .card.card-click:active{
    transform:translate(2px,2px);
    box-shadow:2px 2px 0 var(--ink);
  }
  .card.card-aprovados{
    background:var(--green);
    color:#fff;
  }
  .card.card-aprovados .n, .card.card-aprovados .l{
    color:#fff;
  }
  .card .n{
    font-family:'Poppins', sans-serif;
    font-size:22px;
    font-weight:700;
  }
  .card .l{
    font-size:11px;
    color:var(--ink-soft);
    text-transform:uppercase;
    letter-spacing:1px;
    font-weight:600;
    font-family:'Inter', sans-serif;
  }
  .toolbar{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    align-items:center;
    margin-bottom:14px;
    padding:10px 12px;
    background:var(--paper-2);
    border:2px solid var(--ink);
    border-radius:8px;
  }
  .actions-bar{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    align-items:center;
    justify-content:center;
    margin-bottom:14px;
  }
  .actions-bar button{
    padding:7px 16px;
    font-size:12.5px;
  }
  button.pill{
    border-radius:999px;
  }
  select, input[type=text], input[type=number], input[type=date]{
    font-family:'Inter', sans-serif;
    font-size:13px;
    padding:6px 8px;
    border:1.5px solid var(--line);
    border-radius:5px;
    background:var(--surface);
    color:var(--ink);
  }
  .toolbar select{min-width:130px;}
  .toolbar input[type=text]{width:170px;}
  button{
    font-family:'Inter', sans-serif;
    font-weight:600;
    font-size:13px;
    padding:8px 16px;
    border-radius:5px;
    border:2px solid var(--ink);
    background:var(--f9-yellow);
    color:var(--ink);
    cursor:pointer;
    box-shadow:3px 3px 0 var(--ink);
    transition:transform 0.06s, box-shadow 0.06s;
  }
  button:hover{background:var(--f9-yellow-deep);}
  button:active{transform:translate(2px,2px);box-shadow:1px 1px 0 var(--ink);}
  button.ghost{
    background:transparent;
    color:var(--ink);
    border:1.5px solid var(--line);
    font-weight:500;
    box-shadow:none;
  }
  button.ghost:hover{background:var(--surface);}
  button.small{
    padding:3px 8px;
    font-size:12px;
    box-shadow:none;
  }
  button.danger{
    border-color:var(--coral);
    color:var(--coral);
    background:transparent;
    font-weight:500;
    box-shadow:none;
  }
  .spacer{flex:1;}
  div > table{
    width:100%;
    border-collapse:collapse;
    background:var(--surface);
    border:2px solid var(--ink);
    border-radius:8px;
    overflow:hidden;
    font-size:13px;
    box-shadow:5px 5px 0 var(--ink);
  }
  thead th{
    text-align:left;
    background:var(--ink);
    color:var(--f9-yellow);
    padding:10px 8px;
    font-weight:700;
    font-family:'Inter', sans-serif;
    font-size:11px;
    text-transform:uppercase;
    letter-spacing:0.5px;
  }
  tbody td{
    padding:6px 8px;
    border-bottom:1px solid var(--line-soft);
    vertical-align:middle;
  }
  tbody tr:hover{background:var(--paper-2);}
  tbody td select, tbody td input{
    width:100%;
    padding:5px 6px;
    font-size:12.5px;
  }
  .status-pill{
    display:inline-block;
    padding:3px 9px;
    border-radius:20px;
    font-size:11px;
    font-weight:600;
    text-transform:uppercase;
    letter-spacing:0.5px;
  }
  .st-EM-COTAO{background:var(--amber-bg);color:var(--amber);}
  .st-APROVADO{background:var(--green-bg);color:var(--green);}
  .st-PAGO{background:var(--green-bg);color:var(--green);}
  .st-REPROVADO{background:var(--coral-bg);color:var(--coral);}
  .st-DESCARTADO{background:var(--gray-bg);color:var(--ink-soft);}
  .st-CANCELADO{background:var(--coral-bg);color:var(--coral);}
  select.ap-PENDENTE{background:var(--gray-bg);}

  .approve-group{display:flex;gap:5px;}
  .approve-btn{
    width:28px;height:28px;padding:0;
    display:inline-flex;align-items:center;justify-content:center;
    font-size:14px;font-weight:700;
    border-radius:50%;
    background:var(--surface);
    box-shadow:none;
  }
  .approve-btn.yes{border-color:var(--green);color:var(--green);}
  .approve-btn.yes.active{background:var(--green);color:#fff;box-shadow:2px 2px 0 var(--ink);}
  .approve-btn.no{border-color:var(--coral);color:var(--coral);}
  .approve-btn.no.active{background:var(--coral);color:#fff;box-shadow:2px 2px 0 var(--ink);}
  .stamp{
    font-family:'Poppins', sans-serif;
    font-size:10px;
    font-weight:700;
    letter-spacing:0.5px;
    padding:2px 7px;
    border:2px solid currentColor;
    border-radius:4px;
    display:inline-block;
    transform:rotate(-5deg);
    text-transform:uppercase;
  }
  .stamp.st-aprovado{color:var(--green);}
  .stamp.st-reprovado{color:var(--coral);}
  #diretoria-view{
    margin-bottom:22px;
    display:grid;
    /* cada card precisa caber a tabela de budget (5 colunas) sem espremer */
    grid-template-columns:repeat(auto-fit,minmax(min(100%, 520px),1fr));
    gap:14px;
    align-items:start;
  }
  #historico-view{
    margin-bottom:22px;
    background:var(--surface);
    border:2px solid var(--ink);
    border-radius:8px;
    box-shadow:4px 4px 0 var(--ink);
    max-height:420px;
    overflow-y:auto;
  }
  #historico-view table{
    width:100%;
    border-collapse:collapse;
    font-size:12.5px;
  }
  #historico-view th{
    position:sticky;
    top:0;
    text-align:left;
    background:var(--ink);
    color:var(--f9-yellow);
    padding:8px 10px;
    font-size:10.5px;
    text-transform:uppercase;
    letter-spacing:0.5px;
  }
  #historico-view td{
    padding:6px 10px;
    border-bottom:1px solid var(--line-soft);
    vertical-align:top;
  }
  .hist-acao{
    font-weight:700;
    text-transform:uppercase;
    font-size:10.5px;
  }
  .hist-criou{color:var(--ink-soft);}
  .hist-editou{color:var(--amber);}
  .hist-aprovou{color:var(--green);}
  .hist-reprovou, .hist-excluiu{color:var(--coral);}
  #aprovados-view{
    margin-bottom:22px;
  }
  .aprovados-header{
    display:flex;
    align-items:center;
    gap:14px;
    margin-bottom:12px;
  }
  .aprovados-titulo{
    font-family:'Poppins', sans-serif;
    font-weight:700;
    font-size:14px;
    margin:0;
  }
  #aprovados-view table{
    background:var(--surface);
  }
  #aprovados-view th{
    background:var(--green);
    color:#fff;
  }
  .contrato-nome{
    font-size:11.5px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    max-width:80px;
    display:inline-block;
  }
  .dest-card{
    background:var(--surface);
    border:2px solid var(--ink);
    border-radius:8px;
    padding:14px 16px;
    box-shadow:4px 4px 0 var(--ink);
  }
  .dest-card h4{
    margin:0 0 2px;
    font-family:'Poppins', sans-serif;
    font-weight:700;
    font-size:15px;
  }
  .dest-card .dest-total{
    font-family:'Poppins', sans-serif;
    font-weight:700;
    font-size:18px;
    margin:2px 0 8px;
  }
  .dest-card .dest-sub{
    font-size:11px;
    color:var(--ink-soft);
    margin:0 0 10px;
  }
  .dest-card table{
    width:100%;
    border-collapse:collapse;
    font-size:12px;
  }
  .dest-card th{
    text-align:left;
    font-size:10px;
    text-transform:uppercase;
    letter-spacing:0.5px;
    color:var(--ink-soft);
    border-bottom:1.5px solid var(--ink);
    padding:3px 4px;
  }
  .dest-card td{
    padding:3px 4px;
    border-bottom:1px solid var(--line-soft);
  }
  /* Cabeçalho do card: nome à esquerda, total aprovado à direita */
  .dest-head{
    display:flex;
    align-items:baseline;
    justify-content:space-between;
    gap:10px;
    flex-wrap:wrap;
  }
  .dest-head h4{margin:0;}
  .dest-head .dest-total{margin:0;}
  .dest-total-rot{
    font-size:10px;
    font-weight:600;
    color:var(--ink-soft);
    text-transform:uppercase;
  }
  /* Itens e datas lado a lado quando o card tem largura para isso */
  .dest-cols{
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(min(100%, 210px), 1fr));
    gap:8px 18px;
    margin-top:12px;
  }
  .dest-sub-titulo{
    margin:0 0 4px !important;
    font-weight:700;
    letter-spacing:0.5px;
    text-transform:uppercase;
  }

  /* Budget por destino no painel da diretoria */
  .bg-titulo{
    margin:14px 0 6px !important;
    padding-top:10px;
    border-top:1px solid var(--line-soft);
    font-weight:700;
    letter-spacing:0.5px;
    text-transform:uppercase;
  }
  .dest-card .bg-tabela{
    table-layout:fixed;
    font-size:11px;
    font-variant-numeric:tabular-nums;
  }
  .dest-card .bg-tabela th,
  .dest-card .bg-tabela td{padding:3px 5px;}
  .dest-card .bg-tabela th:nth-child(1){width:23%;}
  .dest-card .bg-tabela th:nth-child(2),
  .dest-card .bg-tabela th:nth-child(3),
  .dest-card .bg-tabela th:nth-child(4){width:20%;text-align:right;}
  .dest-card .bg-tabela th:nth-child(5){width:17%;text-align:center;}
  .dest-card .bg-tabela .bg-cat{
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  .dest-card .bg-tabela .bg-num{text-align:right;white-space:nowrap;}
  .bg-subtotal td{
    font-weight:700;
    border-top:1.5px solid var(--ink);
    border-bottom:1.5px solid var(--ink);
  }
  .bg-barra-cel{
    display:flex;
    align-items:center;
    gap:5px;
  }
  .bg-barra{
    display:block;
    flex:1 1 auto;
    min-width:20px;
    height:5px;
    background:var(--line-soft);
    border-radius:3px;
    overflow:hidden;
  }
  .bg-barra i{display:block;height:100%;}
  .bg-barra-cel em{
    flex:0 0 auto;
    font-style:normal;
    font-size:9.5px;
    color:var(--ink-soft);
  }
  /* Telas estreitas: cada categoria vira um bloco em vez de linha de tabela */
  @media (max-width:700px){
    .dest-card .bg-tabela thead{display:none;}
    .dest-card .bg-tabela,
    .dest-card .bg-tabela tbody{display:block;}
    /* sem separate, a borda da linha vaza para dentro de cada célula */
    .dest-card .bg-tabela{border-collapse:separate;border-spacing:0;}
    .dest-card .bg-tabela tr{
      display:flex;
      flex-wrap:wrap;
      align-items:baseline;
      gap:1px 14px;
      padding:7px 0;
      border-bottom:1px solid var(--line-soft);
    }
    .dest-card .bg-tabela td{
      display:block;
      padding:0;
      width:auto !important;
      /* a regra global "tbody td" usa !important, então precisa de outro */
      border:0 !important;
    }
    /* célula da barra do subtotal vem vazia: não ocupa linha à toa */
    .dest-card .bg-tabela .bg-barra-cel:empty{display:none;}
    .dest-card .bg-tabela .bg-cat{
      flex:1 0 100%;
      font-size:12px;
      font-weight:700;
    }
    .dest-card .bg-tabela .bg-num{text-align:left;}
    .dest-card .bg-tabela .bg-num::before{
      content:attr(data-rot) ' ';
      color:var(--ink-soft);
      font-size:9.5px;
      text-transform:uppercase;
      letter-spacing:0.5px;
    }
    .dest-card .bg-tabela .bg-barra-cel{display:flex;flex:1 0 100%;margin-top:3px;}
    .dest-card .bg-tabela tr.bg-subtotal{
      background:var(--surface-2);
      border-top:1.5px solid var(--ink);
      border-bottom:1.5px solid var(--ink);
      padding:7px 8px;
      border-radius:4px;
    }
  }
  .bg-ok{background:var(--green);}
  .bg-atencao{background:var(--amber);}
  .bg-estourado{background:var(--coral);}
  .bg-txt-ok{color:var(--ink);}
  .bg-txt-atencao{color:var(--amber);}
  .bg-txt-estourado{color:var(--coral);font-weight:700;}
  .bg-aviso{
    font-size:11px;
    color:var(--amber);
    background:var(--amber-bg);
    border-radius:5px;
    padding:6px 8px;
    margin:10px 0 0;
  }
  /* Mapa item → categoria de budget (Configurações) */
  .cat-grade{
    display:grid;
    grid-template-columns:repeat(auto-fill, minmax(min(100%, 185px), 1fr));
    gap:8px;
  }
  /* nome em cima, categoria embaixo: nome de item nenhum fica cortado */
  .cat-linha{
    display:flex;
    flex-direction:column;
    gap:5px;
    background:var(--paper-2);
    border:1.5px solid var(--ink);
    border-radius:6px;
    padding:8px 10px;
  }
  .cat-linha.cat-pendente{border-color:var(--amber);}
  .cat-item{
    font-size:11.5px;
    font-weight:700;
    line-height:1.3;
  }
  .cat-linha select{width:100%;min-width:0;font-size:11.5px;}
  .manage{
    margin-top:26px;
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(240px, 1fr));
    gap:16px;
  }
  .manage .card2{
    background:var(--surface);
    border:2px solid var(--ink);
    border-radius:8px;
    padding:14px 16px;
    box-shadow:4px 4px 0 var(--ink);
  }
  .manage h3{
    font-size:13px;
    margin:0 0 10px;
    font-family:'Inter', sans-serif;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:1px;
    color:var(--ink);
  }
  .chip-list{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px;}
  .chip{
    background:var(--paper-2);
    border:1.5px solid var(--ink);
    border-radius:20px;
    padding:4px 10px 4px 12px;
    font-size:12px;
    font-weight:500;
    display:flex;
    align-items:center;
    gap:6px;
  }
  .chip button{
    all:unset;
    cursor:pointer;
    color:var(--coral);
    font-family:sans-serif;
    font-size:13px;
    line-height:1;
  }
  .add-row{display:flex;gap:6px;}
  .add-row input{flex:1;}
  .footnote{
    margin-top:18px;
    font-size:11.5px;
    color:var(--ink-soft);
    font-weight:500;
  }
  @media (max-width:700px){
    .manage{grid-template-columns:1fr;}
  }
  #login-overlay{
    position:fixed;
    inset:0;
    background:var(--brand-black);
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    z-index:1000;
    font-family:'Inter', sans-serif;
  }
  .login-box{
    background:transparent;
    border:none;
    box-shadow:none;
    padding:0;
    width:400px;
    max-width:88vw;
    text-align:left;
    position:relative;
  }
  .mero-wordmark{
    font-family:'Poppins', sans-serif;
    font-weight:800;
    font-size:76px;
    line-height:1;
    letter-spacing:1px;
    color:var(--f9-yellow);
    margin:0 0 24px;
  }
  .login-h1{
    font-family:'Poppins', sans-serif;
    font-weight:700;
    font-size:22px;
    line-height:1.2;
    color:#fff;
    margin:0 0 8px;
  }
  .login-sub{
    font-family:'Inter', sans-serif;
    font-size:13px;
    line-height:1.5;
    color:#9a9a9a;
    margin:0 0 26px;
  }
  .google-wrap{
    width:100%;
    min-height:44px;
    display:flex;
    justify-content:center;
    overflow:visible;
  }
  #google-signin-button{
    width:100%;
    display:flex;
    justify-content:center;
  }
  #google-signin-button iframe{
    margin:0 !important;
  }
  /* ---- melhorias de interface ---- */
  .status-salvando{opacity:0.75;}
  .status-erro{
    background:var(--coral) !important;
    color:#fff !important;
    border-color:var(--coral) !important;
  }
  .vazio{
    text-align:center;
    padding:34px 20px;
  }
  .vazio-titulo{
    font-family:'Poppins', sans-serif;
    font-weight:700;
    font-size:15px;
    margin:0 0 6px;
  }
  .vazio-texto{
    font-size:13px;
    color:var(--ink-soft);
    margin:0 0 12px;
  }
  .linha-vazia td{background:var(--surface);}
  .manage-header{
    display:flex;
    justify-content:center;
    margin-top:26px;
  }
  .login-erro{
    color:#ff6b6b;
    font-size:12px;
    font-weight:600;
    min-height:14px;
  }
  #usuarios-lista{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
    gap:0 20px;
  }
  .usuario-linha{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    padding:8px 0;
    border-bottom:1px solid var(--line-soft);
  }
  .usuario-info{display:flex;flex-direction:column;min-width:0;}
  .usuario-nome{font-weight:700;font-size:12.5px;}
  .usuario-email{
    font-size:11px;
    color:var(--ink-soft);
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  .usuario-linha select{font-size:12px;padding:4px 6px;}
  /* "nunca entrou" e o contador de tentativas: informação de canto de olho,
     então ficam do tamanho do e-mail, não do nome. */
  .usuario-marca{
    font-size:10.5px;
    font-weight:700;
    letter-spacing:.04em;
    text-transform:uppercase;
    padding:2px 6px;
    border-radius:99px;
    background:var(--gray-bg);
    color:var(--ink-soft);
    white-space:nowrap;
  }
  .usuario-marca.alerta{background:var(--amber-bg);color:var(--amber);}
  .usuario-marca.grave{background:var(--coral-bg);color:var(--coral);}
  .login-footer{
    margin-top:18px;
    text-align:center;
  }
  .login-footer-crumb{
    font-family:'Inter', sans-serif;
    font-size:12px;
    font-weight:700;
    color:#8a8a8a;
    margin:0 0 4px;
  }
  .user-badge{
    display:flex;
    align-items:center;
    gap:8px;
    position:absolute;
    top:20px;
    right:24px;
  }
  .user-badge span{
    font-family:'Inter', sans-serif;
    font-weight:700;
    font-size:12px;
    background:var(--surface);
    border:2px solid var(--ink);
    border-radius:20px;
    padding:5px 12px;
  }
  [disabled]{opacity:0.55; cursor:not-allowed;}
  #modal-overlay, #senha-modal-overlay, #novo-item-overlay, #detalhe-overlay{
    position:fixed;
    inset:0;
    background:rgba(17,17,17,0.55);
    display:flex;
    align-items:center;
    justify-content:center;
    z-index:900;
    padding:20px;
  }
  .modal-box{
    background:var(--paper);
    border:2px solid var(--ink);
    box-shadow:6px 6px 0 var(--ink);
    border-radius:10px;
    padding:24px 26px;
    width:420px;
    max-width:100%;
    max-height:90vh;
    overflow-y:auto;
  }
  .modal-box h3{
    font-family:'Poppins', sans-serif;
    font-weight:700;
    font-size:18px;
    margin:0 0 16px;
  }
  .modal-field{
    margin-bottom:12px;
    text-align:left;
  }
  .modal-field label{
    display:block;
    font-size:11px;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:0.5px;
    color:var(--ink-soft);
    margin-bottom:4px;
  }
  .modal-field select, .modal-field input{
    width:100%;
    padding:8px 9px;
    font-size:13.5px;
  }
  .modal-erro{
    color:var(--coral);
    font-size:12px;
    font-weight:600;
    min-height:14px;
    margin:4px 0 0;
  }
  .modal-actions{
    display:flex;
    justify-content:flex-end;
    gap:8px;
    margin-top:12px;
  }
  .grupo-destino td{
    background:var(--paper-2);
    border-top:2px solid var(--ink);
    border-bottom:1px solid var(--line);
    padding:9px 12px;
  }
  .grupo-nome{
    font-family:'Poppins', sans-serif;
    font-weight:700;
    font-size:13px;
    letter-spacing:0.3px;
    margin-right:8px;
  }
  .grupo-hotel{
    font-size:11.5px;
    color:var(--ink-soft);
    margin-right:10px;
  }
  .grupo-info{
    font-size:11.5px;
    color:var(--ink-soft);
  }
  /* =========================================================
     PASSE DE DESIGN
     A "sombra de adesivo" era usada em tudo — cards, tabela,
     filtros, modais — então nada se destacava. Agora ela fica
     só nos cards e no botão principal; o resto fica quieto
     para a tabela (que é o coração do sistema) poder respirar.
     ========================================================= */

  /* 1. Tabela silenciosa: sem moldura pesada, com cabeçalho fixo */
  table{
    border:1px solid var(--line-soft) !important;
    box-shadow:none !important;
    border-radius:10px !important;
  }
  thead th{
    position:sticky;
    top:0;
    z-index:3;
  }
  #tabela-principal-wrap{
    border-radius:10px;
  }

  /* 2. Campos da tabela sem caixa: viram texto, e a borda só
        aparece quando a pessoa passa o mouse ou vai editar */
  #rows-body select,
  #rows-body input[type=text],
  #rows-body input[type=number],
  #aprovados-body select,
  #aprovados-body input[type=text],
  #aprovados-body input[type=number]{
    border:1.5px solid transparent;
    background:transparent;
    border-radius:6px;
    width:100%;
    transition:border-color 0.12s, background 0.12s;
  }
  #rows-body select:hover:not(:disabled),
  #rows-body input:hover:not(:disabled),
  #aprovados-body select:hover:not(:disabled),
  #aprovados-body input:hover:not(:disabled){
    border-color:var(--line-soft);
    background:var(--surface);
  }
  #rows-body select:focus,
  #rows-body input:focus,
  #aprovados-body select:focus,
  #aprovados-body input:focus{
    border-color:var(--ink);
    background:var(--surface);
    outline:none;
  }
  #rows-body input:disabled,
  #rows-body select:disabled{
    opacity:1;
    color:var(--ink-soft);
  }

  /* 3. Números alinhados na vertical — facilita comparar valores */
  #rows-body input[type=number],
  #aprovados-body input[type=number],
  .dest-total,
  .dest-table td:last-child,
  .card .n{
    font-variant-numeric:tabular-nums;
  }
  #rows-body input[type=number],
  #aprovados-body input[type=number]{
    text-align:center;
    font-weight:600;
  }

  /* 4. Status como etiqueta colorida, não como caixa neutra */
  .sel-status{
    font-weight:700 !important;
    font-size:10.5px !important;
    text-transform:uppercase;
    letter-spacing:0.2px;
    border-radius:999px !important;
    padding:5px 4px !important;
    text-align:center;
  }

  /* 5. Filtros e painéis: recuam para o segundo plano */
  .toolbar{
    background:var(--surface);
    border:1px solid var(--line-soft);
    box-shadow:none;
  }
  .card2{
    box-shadow:none !important;
    border:1px solid var(--line-soft) !important;
  }
  #historico-view{
    box-shadow:none !important;
    border:1px solid var(--line-soft) !important;
  }
  .dest-card{
    box-shadow:none !important;
    border:1px solid var(--line-soft) !important;
  }

  /* 6. Linhas: o destaque de aprovado/reprovado fica na borda
        lateral, mais discreto que pintar a linha inteira */
  #rows-body tr.row-aprovado td:first-child{box-shadow:inset 3px 0 0 var(--green);}
  #rows-body tr.row-reprovado td:first-child{box-shadow:inset 3px 0 0 var(--coral);}
  #rows-body tr:hover td{background:var(--paper);}

  /* 7. Acessibilidade: foco visível pra quem navega por teclado */
  :focus-visible{
    outline:3px solid var(--ink);
    outline-offset:2px;
  }
  @media (prefers-reduced-motion: reduce){
    *{transition:none !important; animation:none !important;}
  }

  /* =========================================================
     TEMA ESCURO — identidade da Produção, não mais o KV do F9.
     Os desenhos e as sombras de adesivo saíram; o amarelo virou
     acento pontual (título, botão principal, números que importam).
     ========================================================= */
  .doodle{display:none !important;}

  /* cabeçalho */
  .mero-hero-title{
    color:var(--marca) !important;
    -webkit-text-stroke:0 !important;
    font-size:54px !important;
    margin:0 0 4px !important;
  }
  .mero-hero-sub{color:var(--ink-soft) !important; opacity:1 !important;}
  .brandmark span{color:var(--ink) !important;}
  .sub{
    display:inline-block;
    background:transparent !important;
    border:1px solid var(--line-soft) !important;
    box-shadow:none !important;
    color:var(--ink-soft) !important;
    border-radius:999px;
    padding:5px 12px !important;
    font-size:11px !important;
  }
  .status-erro{
    background:var(--coral-bg) !important;
    border-color:var(--coral) !important;
    color:var(--coral) !important;
  }
  .user-badge{
    background:transparent !important;
    padding:0 !important;
  }
  .user-badge span{
    background:var(--surface-2) !important;
    border:1px solid var(--line-soft) !important;
    color:var(--ink) !important;
    box-shadow:none !important;
  }

  /* cards: sem sombra dura; o destaque vem da cor e do peso do número */
  .card{
    background:var(--surface) !important;
    border:1px solid var(--line-soft) !important;
    box-shadow:none !important;
    border-radius:12px !important;
    padding:16px 18px !important;
  }
  .card .n{color:var(--ink);}
  .card .l{color:var(--ink-soft);}
  .card.card-click{
    background:var(--surface) !important;
    border-color:var(--f9-yellow) !important;
  }
  .card.card-click .n{color:var(--f9-yellow);}
  .card.card-click:hover{
    transform:none !important;
    box-shadow:none !important;
    background:var(--surface-2) !important;
  }
  .card.card-aprovados{
    background:var(--surface) !important;
    border-color:var(--green) !important;
  }
  .card.card-aprovados .n{color:var(--green) !important;}
  .card.card-aprovados .l{color:var(--ink-soft) !important;}

  /* tabela */
  table{
    background:var(--surface) !important;
    border:1px solid var(--line-soft) !important;
  }
  thead th{
    background:var(--surface-2) !important;
    color:var(--ink-soft) !important;
    border-bottom:1px solid var(--line-soft);
  }
  tbody td{
    border-bottom:1px solid var(--line-soft) !important;
    color:var(--ink);
  }
  #rows-body tr:hover td{background:var(--surface-2) !important;}
  tr.row-aprovado{background:transparent !important;}
  tr.row-reprovado{background:transparent !important;}
  .grupo-destino td{
    background:var(--surface-2) !important;
    border-top:1px solid var(--line) !important;
  }
  .grupo-nome{color:var(--f9-yellow);}
  .linha-vazia td{background:var(--surface) !important;}

  /* campos */
  select, input[type=text], input[type=number], input[type=date], input[type=password]{
    background:var(--surface-2);
    border-color:var(--line);
    color:var(--ink);
  }
  select option{background:#1e1e1e; color:#f2f2f2;}
  input::placeholder{color:#6d6d6d;}
  #rows-body select:hover:not(:disabled),
  #rows-body input:hover:not(:disabled),
  #aprovados-body select:hover:not(:disabled),
  #aprovados-body input:hover:not(:disabled){
    border-color:var(--line) !important;
    background:var(--surface-2) !important;
  }
  #rows-body select:focus, #rows-body input:focus,
  #aprovados-body select:focus, #aprovados-body input:focus{
    border-color:var(--f9-yellow) !important;
    background:var(--surface-2) !important;
  }

  /* botões */
  button{
    background:var(--surface-2);
    border:1px solid var(--line);
    color:var(--ink);
    box-shadow:none !important;
  }
  button:hover{background:#2a2a2a;}
  button.ghost{background:transparent; border-color:var(--line);}
  button.ghost:hover{background:var(--surface-2);}
  #btn-add-row{
    margin-left:auto;
    background:var(--f9-yellow);
    border-color:var(--f9-yellow);
    color:#111;
    font-weight:700;
  }
  #btn-add-row:hover{background:var(--f9-yellow-deep);}
  .danger{color:var(--coral); border-color:rgba(255,107,107,0.45);}
  .approve-btn.yes{color:var(--green); border-color:rgba(62,207,142,0.45);}
  .approve-btn.no{color:var(--coral); border-color:rgba(255,107,107,0.45);}
  .approve-btn.yes.active{background:var(--green); color:#08210f; border-color:var(--green);}
  .approve-btn.no.active{background:var(--coral); color:#2b0b0b; border-color:var(--coral);}

  /* filtros e painéis */
  .toolbar{
    background:var(--surface) !important;
    border:1px solid var(--line-soft) !important;
  }
  .card2{
    background:var(--surface) !important;
    border:1px solid var(--line-soft) !important;
  }
  .card2 h3{color:var(--ink);}
  .chip{
    background:var(--surface-2);
    border:1px solid var(--line);
    color:var(--ink);
  }
  #historico-view, .dest-card{background:var(--surface) !important;}
  #historico-view th{background:var(--surface-2) !important; color:var(--ink-soft) !important;}
  #historico-view td{border-bottom:1px solid var(--line-soft);}
  #aprovados-view th{background:var(--surface-2) !important; color:var(--green) !important;}
  .footnote{color:var(--ink-soft);}
  .modal-box{
    background:var(--surface) !important;
    border:1px solid var(--line) !important;
    box-shadow:none !important;
    color:var(--ink);
  }
  .modal-field label{color:var(--ink-soft) !important;}
  #btn-modal-salvar, #btn-senha-salvar{
    background:var(--f9-yellow); border-color:var(--f9-yellow); color:#111; font-weight:700;
  }
  .vazio-titulo{color:var(--ink);}
  .vazio-texto{color:var(--ink-soft);}
  .usuario-nome{color:var(--ink);}
  .usuario-email{color:var(--ink-soft);}
  .dest-total{color:var(--f9-yellow);}
  :focus-visible{outline-color:var(--f9-yellow) !important;}

  /* o modal de novo item abre por cima do modal de orçamento */
  #novo-item-overlay{z-index:1200 !important;}
  #filtro-ativo{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:10px;
    margin:0 32px 10px;
    padding:9px 14px;
    background:rgba(255,222,0,0.08);
    border:1px solid rgba(255,222,0,0.35);
    border-radius:10px;
    font-size:12.5px;
  }
  .filtro-info{color:var(--ink);}
  .filtro-chips{display:flex; flex-wrap:wrap; gap:6px;}
  .filtro-chip{
    background:var(--surface-2);
    border:1px solid var(--line);
    border-radius:999px;
    padding:3px 10px;
    font-size:11.5px;
    color:var(--ink-soft);
  }
  #btn-ver-todos{margin-left:auto;}
  /* ---- lista somente leitura ---- */
  tr.linha-clicavel{cursor:pointer;}
  tr.linha-clicavel td{
    font-size:13px;
    padding:11px 10px;
  }
  .celula-fraca{color:var(--ink-soft); font-size:12.5px;}
  .celula-valor{
    text-align:center;
    font-weight:700;
    font-variant-numeric:tabular-nums;
  }
  .celula-abrir{
    text-align:center;
    color:var(--ink-soft);
    font-size:18px;
  }
  tr.linha-clicavel:hover .celula-abrir{color:var(--f9-yellow);}
  .chip-status{
    display:inline-block;
    font-weight:700;
    font-size:10.5px;
    text-transform:uppercase;
    letter-spacing:0.2px;
    border-radius:999px;
    padding:4px 9px;
  }
  .badge-aprov{
    display:inline-block;
    font-size:11px;
    font-weight:700;
    border-radius:999px;
    padding:3px 9px;
    border:1px solid;
  }
  .badge-aprov.aprovado{color:var(--green); border-color:rgba(62,207,142,0.5); background:var(--green-bg);}
  .badge-aprov.reprovado{color:var(--coral); border-color:rgba(255,107,107,0.5); background:var(--coral-bg);}
  .badge-aprov.pendente{color:var(--ink-soft); border-color:var(--line); background:transparent;}
  .tem-pdf{
    color:var(--ink);
    border:1px solid var(--line);
    border-radius:5px;
    padding:2px 7px;
    font-size:11px;
  }

  /* ---- tela de detalhe ---- */
  .detalhe-box{
    width:720px !important;
    max-width:94vw;
    max-height:92vh;
    overflow-y:auto;
  }
  .detalhe-topo{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:16px;
    margin-bottom:18px;
  }
  .detalhe-titulo{
    font-family:'Poppins', sans-serif;
    font-weight:700;
    font-size:19px;
    margin:0 0 3px;
    color:var(--ink);
  }
  .detalhe-sub{font-size:12.5px; color:var(--ink-soft); margin:0;}
  .detalhe-grade{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:0 18px;
  }
  .detalhe-bloco{
    margin-top:16px;
    padding-top:14px;
    border-top:1px solid var(--line-soft);
  }
  .detalhe-rotulo{
    display:block;
    font-size:11px;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:0.5px;
    color:var(--ink-soft);
    margin-bottom:8px;
  }
  .detalhe-linha-pdf{display:flex; align-items:center; gap:8px; flex-wrap:wrap;}
  .detalhe-pdf-nome{
    font-size:12.5px;
    overflow:hidden; text-overflow:ellipsis; white-space:nowrap; max-width:280px;
  }
  .detalhe-aprov{display:flex; align-items:center; gap:10px; flex-wrap:wrap;}
  .detalhe-aprov .approve-btn{
    width:auto;
    height:auto;
    border-radius:8px;
    padding:8px 14px;
    font-size:13px;
  }
  .detalhe-estado{margin-left:4px;}
  .detalhe-aviso{
    background:var(--amber-bg);
    border:1px solid rgba(255,192,70,0.4);
    color:var(--amber);
    border-radius:8px;
    padding:9px 12px;
    font-size:12.5px;
    margin:0 0 16px;
  }
  .detalhe-aviso-min{font-size:11.5px; color:var(--ink-soft); margin:8px 0 0;}
  .detalhe-rodape{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:10px;
    margin-top:20px;
    padding-top:14px;
    border-top:1px solid var(--line-soft);
  }
  #det-ok, #btn-modal-salvar{
    background:var(--f9-yellow);
    border-color:var(--f9-yellow);
    color:#111;
    font-weight:700;
    padding:9px 20px;
  }
  @media (max-width:700px){
    .detalhe-grade{grid-template-columns:1fr;}
  }
  .card.card-inicio{
    border-color:var(--line) !important;
  }
  .card.card-inicio:hover{
    border-color:var(--ink-soft) !important;
  }
  .card.card-inicio .n{color:var(--ink) !important;}
  .th-valor{text-align:center !important;}
  /* campos de texto do orçamento aparecem em caixa alta ao digitar */
  #modal-fornecedor, #modal-obs,
  [data-det="fornecedor"], [data-det="obs"],
  [data-field-aprovado="obs"]{
    text-transform:uppercase;
  }
  .grupo-produto{
    display:inline-block;
    background:rgba(255,222,0,0.12);
    border:1px solid rgba(255,222,0,0.35);
    color:var(--f9-yellow);
    border-radius:5px;
    padding:2px 8px;
    font-size:10px;
    font-weight:700;
    letter-spacing:0.4px;
    margin-right:9px;
  }
  .grupo-chips{margin-bottom:12px;}
  .grupo-chips-titulo{
    display:block;
    font-size:10.5px;
    font-weight:700;
    letter-spacing:0.5px;
    color:var(--f9-yellow);
    margin-bottom:6px;
  }
  .tag-produto{
    display:inline-block;
    background:rgba(255,222,0,0.10);
    border:1px solid rgba(255,222,0,0.30);
    color:var(--f9-yellow);
    border-radius:5px;
    padding:2px 7px;
    font-size:10px;
    font-weight:700;
    letter-spacing:0.3px;
    white-space:nowrap;
  }
  .celula-destaque{
    color:var(--f9-yellow);
    font-weight:700;
    letter-spacing:0.3px;
  }
  .cor-forma9{color:var(--f9-yellow) !important;}
  .cor-porto{color:#b98cff !important;}
  .cor-institucional{color:#5fb2ff !important;}
  /* Cada linha da lista tem altura fixa: o texto que não cabe é cortado
     com reticências e aparece inteiro ao passar o mouse. */
  #rows-body tr.linha-clicavel td{
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
    max-width:0;
  }
  #rows-body tr.linha-clicavel td.celula-valor{overflow:visible;}
  .celula-obs{cursor:help;}
  .campo-obs-detalhe{margin-top:14px;}
  .campo-obs-detalhe textarea{
    width:100%;
    background:var(--surface-2);
    border:1px solid var(--line);
    border-radius:8px;
    color:var(--ink);
    font-family:'Inter', sans-serif;
    font-size:13.5px;
    line-height:1.5;
    padding:10px 12px;
    resize:vertical;
    min-height:88px;
    text-transform:uppercase;
  }
  .campo-obs-detalhe textarea:focus{
    border-color:var(--f9-yellow);
    outline:none;
  }
  .campo-obs-detalhe textarea:disabled{color:var(--ink-soft);}
  /* ---- comentários ---- */
  .sem-comentarios{
    font-size:12.5px;
    color:var(--ink-soft);
    margin:0 0 10px;
  }
  .comentario{
    background:var(--surface-2);
    border:1px solid var(--line-soft);
    border-radius:8px;
    padding:9px 12px;
    margin-bottom:8px;
  }
  .comentario-topo{
    display:flex;
    align-items:baseline;
    gap:8px;
    flex-wrap:wrap;
    margin-bottom:4px;
  }
  .comentario-autor{
    font-weight:700;
    font-size:12.5px;
    color:var(--f9-yellow);
  }
  .comentario-papel{
    font-size:10.5px;
    color:var(--ink-soft);
    text-transform:uppercase;
    letter-spacing:0.3px;
  }
  .comentario-data{
    font-size:11px;
    color:var(--ink-soft);
    margin-left:auto;
  }
  .comentario-texto{
    margin:0;
    font-size:13px;
    line-height:1.5;
    color:var(--ink);
    white-space:pre-wrap;
  }
  .comentario-novo{
    display:flex;
    gap:8px;
    align-items:flex-start;
    margin-top:10px;
  }
  .comentario-novo textarea{
    flex:1;
    background:var(--surface-2);
    border:1px solid var(--line);
    border-radius:8px;
    color:var(--ink);
    font-family:'Inter', sans-serif;
    font-size:13px;
    padding:9px 11px;
    resize:vertical;
  }
  .comentario-novo textarea:focus{border-color:var(--f9-yellow); outline:none;}
  #btn-comentar{white-space:nowrap;}
  .marca-comentario{
    color:var(--f9-yellow);
    font-size:11px;
    margin-left:5px;
  }
  /* ---- configurações: formulários que não estouram a caixa ---- */
  .config-linha{
    display:flex;
    align-items:center;
    gap:10px;
    margin-bottom:12px;
  }
  .config-rotulo{
    font-size:11px;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:0.5px;
    color:var(--ink-soft);
  }
  #ver-produto{flex:1; min-width:0;}
  .config-vazio{
    font-size:12.5px;
    color:var(--ink-soft);
    margin:0 0 4px;
  }
  .add-form{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    align-items:center;
    margin-top:14px;
    padding-top:12px;
    border-top:1px solid var(--line-soft);
  }
  .add-form-titulo{
    width:100%;
    font-size:11px;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:0.5px;
    color:var(--ink-soft);
  }
  .add-form input{
    flex:1 1 140px;
    min-width:0;
  }
  .add-form button{flex:0 0 auto;}
  /* ---- cadastro em lote ---- */
  .add-lote{margin-top:12px;}
  .lote-dica{font-size:12px;color:var(--ink-soft);margin:10px 0 8px;}
  #lote-lista{
    width:100%;
    min-height:110px;
    resize:vertical;
    font-family:inherit;
    font-size:13px;
    line-height:1.5;
    padding:10px 12px;
    border-radius:12px;
    border:1px solid var(--line-soft);
    background:var(--surface, transparent);
    color:var(--ink);
  }
  #lote-lista:focus{outline:2px solid var(--f9-yellow);outline-offset:1px;}
  .lote-acoes{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:8px;}
  .lote-ok{font-size:12px;color:var(--ink);margin:10px 0 0;font-weight:600;}
  .lote-falha{font-size:12px;color:var(--coral);margin:10px 0 4px;font-weight:600;}
  .lote-falha-lista{margin:0;padding-left:18px;font-size:12px;color:var(--ink-soft);}

  .card2{overflow:hidden;}
  #destinos-chips, #itens-chips{
    max-height:260px;
    overflow-y:auto;
  }
  /* ---- usuários: papel + remover acesso ---- */
  .usuario-acoes{
    display:flex;
    align-items:center;
    gap:6px;
    flex:0 0 auto;
  }
  .usuario-edicao{
    grid-column:1/-1;
    display:flex;
    align-items:center;
    gap:6px;
    flex-wrap:wrap;
    margin-top:8px;
    padding:8px 10px;
    border:1px solid var(--line-soft);
    border-radius:10px;
    background:var(--panel-soft, rgba(0,0,0,.03));
  }
  .usuario-edicao input{
    font-size:12px;
    padding:6px 8px;
    min-width:180px;
    flex:1 1 180px;
  }
  .usuario-edicao-erro{
    font-size:11px;
    color:var(--coral);
    flex-basis:100%;
  }
  .bloqueados-bloco{
    grid-column:1/-1;
    margin-top:14px;
    padding-top:12px;
    border-top:1px solid var(--line-soft);
  }
  .bloqueados-titulo{
    display:block;
    font-size:11px;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:0.5px;
    color:var(--coral);
    margin-bottom:8px;
  }
  .chip-bloqueado{
    border-color:rgba(255,107,107,0.4) !important;
    color:var(--ink-soft) !important;
  }
  .card-gerais{
    grid-column:1/-1;
    border-color:var(--f9-yellow) !important;
  }
  .card-gerais h4{
    color:var(--ink);
    text-transform:uppercase;
  }
  #aviso-flutuante{
    position:fixed;
    right:24px;
    bottom:24px;
    z-index:1500;
    background:var(--f9-yellow);
    color:#111;
    font-family:'Inter', sans-serif;
    font-size:13px;
    font-weight:700;
    padding:11px 16px;
    border-radius:10px;
    box-shadow:0 6px 20px rgba(0,0,0,0.45);
    opacity:0;
    transform:translateY(10px);
    pointer-events:none;
    transition:opacity 0.25s, transform 0.25s;
  }
  #aviso-flutuante.visivel{
    opacity:1;
    transform:translateY(0);
  }
  /* ---- cotações para aprovar ---- */
  #cotacoes-view{
    margin:0 32px 26px;
  }
  .cotacoes-vazio{
    background:var(--surface);
    border:1px solid var(--line-soft);
    border-radius:12px;
    padding:28px;
    text-align:center;
  }
  .cotacao-card{
    background:var(--surface);
    border:1px solid var(--line-soft);
    border-radius:12px;
    padding:16px 18px;
    margin-bottom:14px;
  }
  .cotacao-topo{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:16px;
    margin-bottom:12px;
  }
  .cotacao-titulo{
    font-family:'Poppins', sans-serif;
    font-weight:700;
    font-size:15px;
    margin:0 0 3px;
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    align-items:baseline;
  }
  .cotacao-item{color:var(--ink);}
  .cotacao-sub{font-size:11.5px; color:var(--ink-soft); margin:0;}
  .cotacao-tabela{width:100%; border:none !important;}
  .cotacao-tabela th{
    background:transparent !important;
    border-bottom:1px solid var(--line-soft);
  }
  .cotacao-tabela td{padding:10px 8px;}
  .proposta-reprovada{opacity:0.45;}
  .marca-menor{
    display:inline-block;
    margin-left:8px;
    background:var(--green-bg);
    color:var(--green);
    border-radius:999px;
    padding:2px 8px;
    font-size:10px;
    font-weight:700;
    text-transform:uppercase;
  }
  .marca-enviada{margin-left:6px; font-size:11px;}
  #btn-toggle-cotacoes.tem-pendencia{
    background:var(--f9-yellow);
    border-color:var(--f9-yellow);
    color:#111;
    font-weight:700;
  }
  .cotacao-info{font-size:12.5px; margin:0 0 10px; color:var(--ink-soft);}
  .cotacao-status{display:block; margin-top:4px; font-weight:700;}
  .cotacao-status.enviada{color:var(--green);}
  .cotacao-status.pendente{color:var(--amber);}
  /* Cores da lista: verde aprovado, vermelho reprovado, amarelo na
     mesa do diretor. Bem suaves, para não cansar a leitura. */
  #rows-body tr.row-aprovado td{background:rgba(62,207,142,0.09) !important;}
  #rows-body tr.row-reprovado td{background:rgba(255,107,107,0.09) !important;}
  #rows-body tr.row-aguardando td{background:rgba(255,222,0,0.07) !important;}
  #rows-body tr.row-aprovado:hover td{background:rgba(62,207,142,0.16) !important;}
  #rows-body tr.row-reprovado:hover td{background:rgba(255,107,107,0.16) !important;}
  #rows-body tr.row-aguardando:hover td{background:rgba(255,222,0,0.13) !important;}
  #rows-body tr.row-aguardando td:first-child{box-shadow:inset 3px 0 0 var(--f9-yellow);}
  /* ---- sininho de avisos ---- */
  .sino-area{position:relative; display:inline-block;}
  #btn-sino{position:relative; padding:5px 9px; font-size:14px; line-height:1;}
  #btn-sino.tem-aviso{border-color:var(--f9-yellow); background:rgba(255,222,0,0.12);}
  #sino-contador{
    position:absolute; top:-6px; right:-6px;
    min-width:17px; height:17px; padding:0 4px;
    background:var(--coral); color:var(--ink);
    border-radius:999px; font-size:10px; font-weight:800;
    display:flex; align-items:center; justify-content:center;
  }
  #sino-painel{
    position:absolute; right:0; top:calc(100% + 8px);
    width:330px; max-height:380px; overflow-y:auto;
    background:var(--surface); border:1px solid var(--line);
    border-radius:10px; box-shadow:0 10px 28px rgba(0,0,0,0.5);
    z-index:1600; text-align:left;
  }
  .sino-topo{
    display:flex; align-items:center; justify-content:space-between;
    padding:10px 12px; border-bottom:1px solid var(--line-soft);
    font-size:11px; font-weight:700; text-transform:uppercase;
    letter-spacing:0.5px; color:var(--ink-soft);
  }
  .aviso-item{
    padding:10px 12px; border-bottom:1px solid var(--line-soft); cursor:pointer;
  }
  .aviso-item:hover{background:var(--surface-2);}
  .aviso-item.novo{border-left:3px solid var(--f9-yellow);}
  .aviso-texto{margin:0 0 3px; font-size:12.5px; line-height:1.45; color:var(--ink);}
  .aviso-data{font-size:10.5px; color:var(--ink-soft);}
  .aviso-vazio{padding:18px 12px; text-align:center; font-size:12.5px; color:var(--ink-soft); margin:0;}
  /* ---- minhas cotações (lado de quem cota) ---- */
  #minhas-view{margin:0 32px 26px;}
  .minhas-titulo{
    font-size:11px; font-weight:700; text-transform:uppercase;
    letter-spacing:0.6px; color:var(--ink-soft); margin:0 0 10px;
  }
  .minhas-grade{
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(280px,1fr));
    gap:12px;
    margin-bottom:22px;
  }
  .minha-card{
    background:var(--surface);
    border:1px solid var(--line-soft);
    border-radius:12px;
    padding:14px 16px;
    display:flex;
    flex-direction:column;
    gap:6px;
  }
  .minha-card.enviada{opacity:0.75; border-style:dashed;}
  .minha-cab{margin:0; font-size:11px; font-weight:700; letter-spacing:0.3px;}
  .minha-item{
    margin:0; font-family:'Poppins', sans-serif; font-weight:700;
    font-size:15px; color:var(--ink);
  }
  .minha-info{margin:0; font-size:12px; color:var(--ink-soft);}
  .minha-alerta{
    margin-left:6px; background:var(--amber-bg); color:var(--amber);
    border-radius:4px; padding:1px 6px; font-size:10.5px; font-weight:700;
  }
  .minha-fornecedores{display:flex; flex-wrap:wrap; gap:5px; margin:2px 0 4px;}
  .minha-fornecedores .chip{font-size:11px; padding:3px 8px;}
  .minha-enviar{
    background:var(--f9-yellow) !important;
    border-color:var(--f9-yellow) !important;
    color:#111 !important;
    font-weight:700;
    padding:9px 14px;
    margin-top:auto;
  }
  .minha-enviar:hover{background:var(--f9-yellow-deep) !important;}
  /* ---- fornecedores ---- */
  #fornecedores-view{margin:0 32px 26px;}
  .forn-topo{
    display:flex; justify-content:space-between; align-items:flex-end;
    gap:16px; flex-wrap:wrap; margin-bottom:14px;
  }
  .forn-titulo{
    font-family:'Poppins', sans-serif; font-weight:700; font-size:17px;
    margin:0 0 2px; color:var(--ink);
  }
  .forn-sub{font-size:12px; color:var(--ink-soft); margin:0;}
  #busca-fornecedor{min-width:260px;}
  .forn-grade{display:flex; flex-direction:column; gap:8px;}
  .forn-card{
    background:var(--surface); border:1px solid var(--line-soft);
    border-radius:10px; overflow:hidden;
  }
  .forn-card.aberto{border-color:var(--f9-yellow);}
  .forn-cab{
    display:flex; justify-content:space-between; align-items:center;
    gap:12px; padding:12px 16px; cursor:pointer;
  }
  .forn-cab:hover{background:var(--surface-2);}
  .forn-nome{
    margin:0 0 2px; font-family:'Poppins', sans-serif;
    font-weight:700; font-size:14.5px; color:var(--ink);
  }
  .forn-info{margin:0; font-size:12px; color:var(--ink-soft);}
  .forn-aprov{color:var(--green);}
  .forn-seta{color:var(--ink-soft); font-size:13px;}
  .forn-corpo{padding:0 16px 16px; border-top:1px solid var(--line-soft);}
  .forn-campos{display:grid; grid-template-columns:1fr 1fr; gap:0 16px; margin-top:12px;}
  .forn-corpo textarea{
    width:100%; background:var(--surface-2); border:1px solid var(--line);
    border-radius:8px; color:var(--ink); font-family:'Inter',sans-serif;
    font-size:13px; padding:9px 11px; resize:vertical;
  }
  .forn-corpo textarea:focus{border-color:var(--f9-yellow); outline:none;}
  .forn-rotulo{
    font-size:10.5px; font-weight:700; text-transform:uppercase;
    letter-spacing:0.5px; color:var(--ink-soft); margin:16px 0 7px;
  }
  .forn-chips{display:flex; flex-wrap:wrap; gap:5px;}
  .forn-tabela{width:100%; border:none !important;}
  .forn-tabela th{background:transparent !important; border-bottom:1px solid var(--line-soft);}
  .forn-tabela tbody tr{cursor:pointer;}
  .forn-tabela tbody tr:hover td{background:var(--surface-2);}
  .forn-resumo{font-size:12px; color:var(--ink-soft); margin:10px 0 0;}
  .forn-vazio{font-size:13px; color:var(--ink-soft); text-align:center; padding:22px;}
  @media (max-width:700px){ .forn-campos{grid-template-columns:1fr;} }
  /* card "minhas cotações": neutro, e amarelo quando há o que enviar */
  .card.card-minhas{border-color:var(--line) !important;}
  .card.card-minhas .n{color:var(--ink) !important;}
  .card.card-minhas:hover{border-color:var(--ink-soft) !important;}
  .card.card-minhas.tem-pendencia{
    border-color:var(--f9-yellow) !important;
    background:rgba(255,222,0,0.06) !important;
  }
  .card.card-minhas.tem-pendencia .n{color:var(--f9-yellow) !important;}
  .minhas-alternador{display:flex; gap:6px; margin-bottom:14px;}
  .minhas-alternador .ativo{
    background:var(--f9-yellow) !important;
    border-color:var(--f9-yellow) !important;
    color:#111 !important;
    font-weight:700;
  }
  /* alerta de falha ao salvar: impossível não ver */
  #falha-salvar{
    position:fixed; left:50%; bottom:26px; transform:translateX(-50%);
    z-index:3000; display:flex; align-items:flex-start; gap:14px;
    width:min(620px, 92vw);
    background:#2b0f0f; border:2px solid var(--coral);
    border-radius:12px; padding:16px 18px;
    box-shadow:0 12px 34px rgba(0,0,0,0.6);
    font-family:'Inter', sans-serif;
  }
  .falha-icone{font-size:22px; line-height:1;}
  .falha-texto{flex:1;}
  .falha-titulo{
    margin:0 0 4px; font-family:'Poppins',sans-serif; font-weight:700;
    font-size:15px; color:var(--coral);
  }
  .falha-sub{margin:0; font-size:13px; line-height:1.5; color:#f2f2f2;}
  .falha-detalhe{margin:6px 0 0; font-size:11px; color:#c9a0a0; word-break:break-word;}
  .falha-acoes{display:flex; flex-direction:column; gap:6px;}
  #btn-tentar-salvar{
    background:var(--coral); border-color:var(--coral); color:var(--ink);
    font-weight:700; white-space:nowrap;
  }
  /* ---- negociação ---- */
  .marca-negociada{
    margin-left:6px; font-size:10px; font-weight:800;
    border-radius:4px; padding:1px 5px;
  }
  .marca-negociada.baixou{background:var(--green-bg); color:var(--green);}
  .marca-negociada.subiu{background:var(--coral-bg); color:var(--coral);}
  .negoc-linha{
    display:flex; align-items:baseline; gap:10px; flex-wrap:wrap;
    font-family:'Poppins',sans-serif; margin-bottom:10px;
  }
  .negoc-original{
    font-size:15px; color:var(--ink-soft); text-decoration:line-through;
  }
  .negoc-seta{color:var(--ink-soft);}
  .negoc-atual{font-size:19px; font-weight:700; color:var(--ink);}
  .negoc-saldo{
    font-family:'Inter',sans-serif; font-size:11.5px; font-weight:700;
    border-radius:999px; padding:3px 10px;
  }
  .negoc-saldo.baixou{background:var(--green-bg); color:var(--green);}
  .negoc-saldo.subiu{background:var(--coral-bg); color:var(--coral);}
  .negoc-passos{display:flex; flex-direction:column; gap:4px;}
  .negoc-passo{font-size:12.5px; color:var(--ink);}
  .negoc-quem{color:var(--ink-soft); font-size:11px; margin-left:8px;}
  .valor-antigo{
    display:block;
    font-size:11px;
    color:var(--ink-soft);
    text-decoration:line-through;
    font-weight:500;
    line-height:1.2;
  }
  .valor-novo{white-space:nowrap;}
  .seta-desconto{color:var(--green); font-size:10.5px; font-weight:700; margin-left:4px;}
  .seta-aumento{color:var(--coral); font-size:10.5px; font-weight:700; margin-left:4px;}
  /* ---- alternador da lista: meus x todos ---- */
  .escopo-lista{
    display:flex; gap:8px; margin:0 32px 12px;
  }
  .escopo-lista button{
    display:flex; align-items:center; gap:8px;
    background:transparent; border:1px solid var(--line);
    color:var(--ink-soft); font-size:13px; font-weight:600;
    padding:9px 16px; border-radius:999px;
  }
  .escopo-lista button:hover{background:var(--surface-2);}
  .escopo-lista button.ativo{
    background:var(--f9-yellow); border-color:var(--f9-yellow);
    color:#111; font-weight:700;
  }
  .escopo-num{
    background:var(--v08); border-radius:999px;
    padding:1px 8px; font-size:11.5px;
  }
  .escopo-lista button.ativo .escopo-num{background:rgba(0,0,0,0.15);}
  /* ---- menções ---- */
  .comentario-campo{position:relative; flex:1;}
  .comentario-campo textarea{width:100%;}
  #mencoes-lista{
    position:absolute; left:0; bottom:calc(100% + 6px);
    display:flex; flex-direction:column; min-width:200px; z-index:1400;
    background:var(--surface); border:1px solid var(--line);
    border-radius:8px; overflow:hidden;
    box-shadow:0 8px 22px rgba(0,0,0,0.5);
  }
  #mencoes-lista button{
    background:transparent; border:none; border-radius:0;
    text-align:left; padding:9px 12px; font-size:13px; color:var(--ink);
  }
  #mencoes-lista button:hover{background:var(--f9-yellow); color:#111;}
  .mencao{
    color:var(--f9-yellow); font-weight:700;
    background:rgba(255,222,0,0.10); border-radius:4px; padding:0 3px;
  }
  .card.card-decidir{
    border-color:var(--f9-yellow) !important;
    background:rgba(255,222,0,0.06) !important;
  }
  .card.card-decidir .n{color:var(--f9-yellow) !important;}
  .card.card-decidir:hover{background:rgba(255,222,0,0.12) !important;}
  .marca-descartada{
    display:inline-block; margin-left:8px;
    background:var(--gray-bg); color:var(--ink-soft);
    border-radius:999px; padding:2px 8px;
    font-size:10px; font-weight:700; text-transform:uppercase;
  }
  .forn-descarte{color:var(--ink-soft);}
  .chip-descarte{border-style:dashed !important; color:var(--ink-soft) !important;}
  .reabrir-bloco{
    margin-top:12px; padding-top:12px;
    border-top:1px dashed var(--line-soft);
  }
  .reabrir-texto{
    font-size:12.5px; color:var(--ink-soft); margin:0 0 8px; line-height:1.5;
  }
  .reabrir-btn{
    background:var(--f9-yellow); border-color:var(--f9-yellow);
    color:#111; font-weight:700; padding:9px 16px;
  }
  /* ---- ajustes finais (precisam vir por último) ---- */
  .user-badge{
    z-index:5;
    background:rgba(255,222,0,0.92);
    padding:4px 4px 4px 10px;
    border-radius:999px;
  }
  @media (max-width:820px){
    .hero{padding-top:16px;}
    .mero-hero-title{font-size:40px;}
    .user-badge{
      position:static;
      margin:0 0 14px;
      justify-content:flex-start;
      background:transparent;
      padding:0;
    }
    .doodle{display:none;}
    .cards{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));}
    .toolbar select, .toolbar input[type=text]{flex:1 1 140px; min-width:0;}
    .actions-bar{flex-direction:column;}
    .actions-bar button{width:100%;}
  }
  /* ===== Hub de módulos + Home executiva ===== */
  .modbar{
    display:flex;
    gap:8px;
    overflow-x:auto;
    padding:0 32px 14px;
    margin:-14px 0 22px;
    border-bottom:1px solid var(--line-soft);
    scrollbar-width:none;
  }
  .modbar::-webkit-scrollbar{display:none;}
  .modbar button{
    flex:0 0 auto;
    font-family:'Inter',sans-serif;
    font-size:13px;
    font-weight:600;
    color:var(--ink-soft);
    background:transparent;
    border:1px solid var(--line-soft);
    border-radius:999px;
    box-shadow:none;
    padding:8px 15px;
    cursor:pointer;
    transition:background .16s ease, color .16s ease, border-color .16s ease;
  }
  .modbar button:hover{color:var(--ink); border-color:var(--line); background:var(--surface);}
  .modbar button.ativo{
    background:var(--f9-yellow);
    border-color:var(--f9-yellow);
    color:var(--brand-black);
  }
  .mod-panel{display:none; animation:modFade .18s ease;}
  .mod-panel.ativo{display:block;}
  @keyframes modFade{from{opacity:0; transform:translateY(4px);} to{opacity:1; transform:none;}}

  /* ---------- Administração: hub por tópicos ---------- */
  /* A antiga barra "Configurações" some: tudo vive no painel de Admin. */
  .manage-header{display:none !important;}
  .adm-wrap{padding:0 32px 40px;}
  .adm-head h2{font-family:'Poppins',sans-serif; font-size:26px; margin:0 0 4px;}
  .adm-head p{margin:0 0 18px; color:var(--ink-soft); font-size:13px;}
  .adm-hub{display:grid; grid-template-columns:repeat(auto-fill,minmax(230px,1fr)); gap:14px;}
  .adm-tile{
    text-align:left; background:var(--card); border:1px solid var(--v10);
    border-radius:16px; padding:16px; cursor:pointer; color:var(--ink);
    transition:transform .16s ease, border-color .16s ease;
  }
  .adm-tile:hover{transform:translate3d(0,-2px,0); border-color:rgba(255,222,0,.5);}
  .adm-tile-ic{display:block; color:var(--brand-yellow);}
  .adm-tile-ic svg{width:22px; height:22px; display:block;}
  .adm-tile.risco .adm-tile-ic{color:var(--coral);}
  .adm-tile b{display:block; font-family:'Poppins',sans-serif; font-size:15px; margin:10px 0 4px;}
  .adm-tile span{display:block; font-size:12px; color:var(--ink-soft); line-height:1.45;}
  .adm-tile-badge{
    display:inline-block; margin-top:9px; font:700 10.5px/1 'Inter',sans-serif;
    background:rgba(255,222,0,.16); color:var(--brand-yellow); border-radius:99px; padding:5px 9px;
  }
  .adm-tile.risco{border-color:rgba(255,107,107,.35);}
  .adm-tile.risco b{color:var(--coral);}
  .adm-topico-top{display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin-bottom:14px;}
  .adm-voltar{
    background:var(--v06); border:1px solid var(--v12); color:var(--ink);
    border-radius:99px; padding:9px 14px; font-size:12.5px; cursor:pointer; min-height:40px;
  }
  .adm-voltar:hover{border-color:rgba(255,222,0,.5);}
  .adm-pills{display:flex; gap:8px; overflow-x:auto; padding-bottom:2px;}
  .adm-pills button{
    white-space:nowrap; background:transparent; border:1px solid var(--v12);
    color:var(--ink-soft); border-radius:99px; padding:9px 13px; font-size:12.5px;
    cursor:pointer; min-height:40px;
  }
  .adm-pills button.ativo{background:var(--brand-yellow); border-color:var(--brand-yellow); color:var(--brand-black); font-weight:700;}
  .adm-conteudo .manage{display:grid !important; grid-template-columns:1fr; gap:14px;}
  .adm-conteudo .card2{grid-column:1/-1 !important;}
  .adm-conteudo .card2[data-adm-oculto="1"]{display:none !important;}
  @media (max-width:820px){
    .adm-wrap{padding:0 16px 40px;}
    .adm-hub{grid-template-columns:1fr;}
    .adm-conteudo .add-form input,
    .adm-conteudo .add-form select,
    .adm-conteudo .add-form button{flex:1 1 100%; width:100%; min-height:44px;}
  }

  .home-wrap{padding:0 32px;}
  .home-boas{margin:0 0 20px;}
  .home-ola{
    font-family:'Poppins',sans-serif;
    font-weight:800;
    font-size:26px;
    line-height:1.1;
    color:var(--ink);
    margin:0 0 4px;
  }
  .home-pergunta{font-size:13.5px; color:var(--ink-soft); margin:0;}
  .mod-card-adm{border-color:rgba(255,222,0,.35);}

  .home-kpis{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(170px,1fr));
    gap:14px;
    margin:0 0 28px;
  }
  .kpi{
    background:var(--surface);
    border:1px solid var(--line-soft);
    border-radius:14px;
    padding:16px 18px;
  }
  .kpi-num{
    font-family:'Poppins',sans-serif;
    font-weight:800;
    font-size:30px;
    line-height:1;
    color:var(--f9-yellow);
    font-variant-numeric:tabular-nums;
  }
  .kpi-label{font-size:12px; color:var(--ink-soft); margin-top:7px; letter-spacing:.2px;}
  .home-sec-titulo{
    font-family:'Poppins',sans-serif;
    font-weight:700;
    font-size:15px;
    color:var(--ink);
    margin:0 0 4px;
  }
  .home-sec-sub{font-size:12.5px; color:var(--ink-soft); margin:0 0 16px;}
  .home-mods{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(230px,1fr));
    gap:14px;
    margin-bottom:34px;
  }
  .mod-card{
    text-align:left;
    background:var(--surface);
    border:1px solid var(--line-soft);
    border-radius:14px;
    padding:18px;
    cursor:pointer;
    color:var(--ink);
    font-family:'Inter',sans-serif;
    box-shadow:none;
    transition:border-color .16s ease, transform .16s ease, background .16s ease;
  }
  .mod-card:hover{border-color:var(--f9-yellow); transform:translateY(-2px); background:var(--surface-2);}
  .mod-card .mc-ico{font-size:20px; display:block; margin-bottom:10px;}
  .mod-card .mc-nome{font-weight:700; font-size:14px; display:block; margin-bottom:5px;}
  .mod-card .mc-desc{display:block; font-size:12px; color:var(--ink-soft); line-height:1.45;}
  .mc-tag{
    display:inline-block;
    margin-top:11px;
    font-size:10.5px;
    font-weight:700;
    letter-spacing:.5px;
    text-transform:uppercase;
    padding:3px 8px;
    border-radius:999px;
  }
  .mc-tag.ativo{background:var(--green-bg); color:var(--green);}
  .mc-tag.breve{background:var(--gray-bg); color:var(--ink-soft);}
  .em-breve{
    padding:0 32px 40px;
  }
  .em-breve-box{
    background:var(--surface);
    border:1px dashed var(--line);
    border-radius:16px;
    padding:36px 28px;
    text-align:center;
  }
  .em-breve-box h2{
    font-family:'Poppins',sans-serif;
    font-size:20px;
    margin:0 0 8px;
    color:var(--ink);
  }
  .em-breve-box p{font-size:13px; color:var(--ink-soft); margin:0 auto 6px; max-width:520px; line-height:1.6;}
  .em-breve-lista{
    list-style:none;
    padding:0;
    margin:20px auto 0;
    max-width:520px;
    text-align:left;
    display:grid;
    gap:8px;
  }
  .em-breve-lista li{
    font-size:12.5px;
    color:var(--ink-soft);
    background:var(--surface-2);
    border-radius:10px;
    padding:10px 14px;
  }
  @media (max-width:820px){
    .modbar{padding:0 16px 12px;}
    .home-wrap, .em-breve{padding-left:16px; padding-right:16px;}
  }

  /* ===================== Eventos & Calendário ===================== */
  .ev-wrap{padding:0 32px 48px;}
  .ev-head{display:flex; align-items:flex-end; justify-content:space-between; gap:16px; flex-wrap:wrap; margin-bottom:18px;}
  .ev-head h2{font-family:'Poppins',sans-serif; font-size:22px; margin:0 0 4px; color:var(--ink);}
  .ev-head p{margin:0; font-size:13px; color:var(--ink-soft);}
  .ev-stats{display:flex; gap:10px; flex-wrap:wrap;}
  .ev-stat{background:var(--surface-2); border:1px solid var(--line); border-radius:12px; padding:8px 14px; min-width:92px;}
  .ev-stat b{display:block; font-size:19px; font-family:'Poppins',sans-serif; color:var(--mero-yellow,var(--brand-yellow));}
  .ev-stat span{font-size:10.5px; text-transform:uppercase; letter-spacing:.5px; color:var(--ink-soft);}
  .ev-filtros{display:flex; gap:10px; flex-wrap:wrap; align-items:center; margin-bottom:18px;}
  .ev-filtros select, .ev-filtros input{min-height:44px; background:var(--surface-2); border:1px solid var(--line); color:var(--ink); border-radius:10px; padding:9px 12px; font-size:13px; font-family:inherit;}
  .ev-filtros input{min-width:210px; flex:1 1 210px;}
  .ev-grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(285px,1fr)); gap:14px;}
  .ev-views{display:flex; align-items:center; gap:4px; width:max-content; margin:0 0 14px; padding:4px; border:1px solid var(--line); border-radius:12px; background:var(--surface-2);}
  .ev-view-btn{height:36px; padding:0 14px; border:0; border-radius:9px; background:transparent; color:var(--ink-soft); font:700 12px/1 'Inter',sans-serif; cursor:pointer;}
  .ev-view-btn.ativo{background:var(--brand-yellow); color:var(--brand-black);}
  .ev-view{display:none;}
  .ev-view.ativo{display:block;}
  .ev-cal-toolbar{display:grid; grid-template-columns:40px minmax(0,1fr) 40px; align-items:center; gap:8px; margin-bottom:10px;}
  .ev-cal-toolbar strong{text-align:center; font:700 14px/1.2 'Poppins',sans-serif; text-transform:capitalize;}
  .ev-cal-nav{width:40px; height:40px; border:1px solid var(--line); border-radius:10px; background:var(--surface-2); color:var(--ink); cursor:pointer; font-size:18px;}
   .ev-year-scroll{position:relative; isolation:isolate; overflow-x:auto; overflow-y:hidden; touch-action:pan-x pan-y; border:1px solid var(--line); border-radius:12px; background:var(--surface); cursor:grab; -webkit-overflow-scrolling:touch; scrollbar-color:var(--brand-yellow) var(--surface-2); scrollbar-width:thin; overscroll-behavior-x:contain;}
   /* Barra de rolagem sempre visível (Chrome/Safari/Edge escondem por padrão no Mac) */
   .ev-year-scroll::-webkit-scrollbar{height:12px; -webkit-appearance:none; appearance:none;}
   .ev-year-scroll::-webkit-scrollbar-track{background:var(--surface-2); border-radius:0 0 10px 10px;}
   .ev-year-scroll::-webkit-scrollbar-thumb{background:var(--brand-yellow); border-radius:8px; border:3px solid var(--surface-2);}
   .ev-year-scroll::-webkit-scrollbar-thumb:hover{background:var(--brand-yellow);}
  .ev-year-scroll.arrastando{cursor:grabbing; user-select:none;}
  .ev-year-table{border-collapse:separate; border-spacing:0; width:max-content; min-width:100%; overflow:visible !important; border-radius:0 !important; font-size:11px;}
  .ev-year-table th,.ev-year-table td{height:38px; padding:0; border-right:1px solid var(--v06); border-bottom:1px solid var(--v06); text-align:center;}
  .ev-year-table thead th{position:sticky; z-index:5; color:var(--ink-soft); font-weight:600;}
  .ev-cor-campo{margin-top:12px;}
  .ev-cor-titulo{display:block; margin-bottom:8px; font:700 10px/1 'Inter',sans-serif; text-transform:uppercase; letter-spacing:.08em; color:var(--ink-label);}
  .ev-cor-pills{display:flex; flex-wrap:wrap; gap:8px;}
  .ev-cor-pills button{width:30px; height:30px; padding:0; border:2px solid transparent; border-radius:50%; background:var(--cor); cursor:pointer; box-shadow:0 0 0 1px var(--v12);}
  .ev-cor-pills button.ativa{border-color:var(--brand-yellow); box-shadow:0 0 0 2px var(--brand-black);}
  .ev-cor-livre{display:flex; align-items:center; gap:10px; margin-top:10px; font-size:12px; color:var(--ink-soft);}
  .ev-cor-livre input{width:52px; height:34px; padding:2px; border:1px solid var(--line); border-radius:8px; background:var(--surface-2); cursor:pointer;}
  .ev-jump{display:flex; gap:6px; overflow-x:auto; padding-bottom:6px; margin-bottom:8px; -webkit-overflow-scrolling:touch; scrollbar-width:none;}
  .ev-jump::-webkit-scrollbar{display:none;}
  .ev-jump button{flex:0 0 auto; min-height:34px; padding:0 13px; border:1px solid var(--line); border-radius:999px; background:var(--surface-2); color:var(--ink-soft); font:700 11px/1 'Inter',sans-serif; text-transform:uppercase; letter-spacing:.06em; cursor:pointer;}
  .ev-jump button:hover{border-color:var(--v24); color:var(--ink);}
  .ev-jump button.atual{background:var(--brand-yellow); border-color:var(--brand-yellow); color:var(--brand-black);}
  .ev-year-months th{top:0; height:34px; background:var(--card-opaque);}
  .ev-year-months .ev-year-month{border-bottom:1px solid color-mix(in oklab,var(--brand-yellow) 20%,transparent); border-right:2px solid color-mix(in oklab,var(--brand-yellow) 28%,transparent); color:var(--ink); font:800 10px/1 'Poppins',sans-serif; text-transform:uppercase; letter-spacing:.08em;}
  .ev-year-month span,.ev-year-month small{display:inline;}
  .ev-year-month small{margin-left:6px; color:var(--ink-label); font:600 8px/1 'Inter',sans-serif; letter-spacing:0;}
  .ev-year-days th{top:34px; height:30px; background:var(--card-opaque);}
  .ev-year-days .ev-year-cell span{display:grid; place-items:center; width:22px; height:22px; margin:auto; border-radius:5px; font-variant-numeric:tabular-nums;}
  .ev-year-days .ev-year-cell.hoje span{background:var(--brand-yellow); color:var(--brand-black); font-weight:800;}
  .ev-year-table .ev-year-name{position:sticky; left:0; z-index:30; width:164px; min-width:164px; max-width:164px; padding:0 12px; background:var(--card-opaque) !important; text-align:left; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; border-right:1px solid color-mix(in oklab,var(--brand-yellow) 22%,var(--line)); box-shadow:14px 0 18px -14px rgba(0,0,0,.55); background-clip:padding-box;}
  .ev-year-table thead .ev-year-name{top:0; z-index:50; height:64px; color:var(--ink); text-transform:uppercase; font:800 9px/1.2 'Inter',sans-serif; letter-spacing:.1em;}
  .ev-year-table thead .ev-year-name small{display:block; margin-top:4px; color:var(--ink-label); font-size:8px; letter-spacing:.02em; text-transform:none;}
  .ev-year-table tbody tr:nth-child(even) td:not(.ocupado){background:var(--v02);}
  .ev-year-table tbody tr:hover td:not(.ocupado){background:var(--v06);}
  .ev-year-cell{min-width:28px; width:28px;}
  .ev-year-cell.fds{background:var(--v02);}
  .ev-year-cell.mes-inicio{border-left:2px solid rgba(255,222,0,.22);}
  .ev-year-cell.ocupado{position:relative; background:transparent; border-right-color:transparent; border-left-color:transparent;}
  .ev-faixas{position:absolute; inset:7px -1px; display:flex; flex-direction:column; gap:2px;}
  .ev-faixa{flex:1 1 0; min-height:5px; background:var(--ev-cor); cursor:pointer;}
  .ev-faixa.inicio{margin-left:3px; border-radius:6px 0 0 6px; box-shadow:inset 3px 0 0 rgba(255,255,255,.55);}
  .ev-faixa.fim{margin-right:3px; border-radius:0 6px 6px 0;}
  .ev-faixa.inicio.fim{border-radius:6px;}
  .ev-year-cell.desloc{opacity:.42;}
  .ev-year-dest{display:block; font-size:10px; font-weight:800; color:var(--ink); overflow:hidden; text-overflow:ellipsis; text-transform:uppercase;}
  .ev-year-periodo{display:block; margin-top:2px; color:var(--ink-label); font-size:8px;}
  .ev-month-grid{display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:1px; padding:1px; border:1px solid var(--line); border-radius:14px; overflow:hidden; background:var(--line);}
  .ev-month-dow{min-height:30px; display:grid; place-items:center; background:#171717; color:var(--ink-soft); font-size:10px; font-weight:700; text-transform:uppercase;}
  .ev-month-day{min-width:0; min-height:112px; padding:7px; border:0; background:var(--surface); color:var(--ink); text-align:left; font:inherit; overflow:hidden;}
  button.ev-month-day{cursor:pointer;}
  .ev-month-day.fora{background:#0e0e0e; color:#555;}
  .ev-month-num{display:block; margin-bottom:6px; font-size:11px; color:var(--ink-soft);}
  .ev-month-event{display:block; width:100%; margin:3px 0; padding:4px 6px; border:0; border-left:3px solid var(--ev-cor); border-radius:5px; background:var(--v06); color:var(--ink); font:600 9.5px/1.25 'Inter',sans-serif; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; cursor:pointer; text-align:left;}
  .ev-month-event.conflito{background:var(--v06); border-left-color:var(--ev-cor);}
  .ev-day-agenda{display:none; margin-top:10px; gap:7px;}
  .ev-day-agenda.aberto{display:grid;}
  .ev-day-item{display:grid; grid-template-columns:5px minmax(0,1fr) auto; align-items:center; gap:10px; padding:11px 12px; border:1px solid var(--line); border-radius:10px; background:var(--surface); color:var(--ink); text-align:left; cursor:pointer;}
  .ev-day-item i{width:5px; height:32px; border-radius:5px; background:var(--ev-cor);}
  .ev-day-item b,.ev-day-item span{display:block; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
  .ev-day-item span{margin-top:2px; color:var(--ink-soft); font-size:10.5px;}
  .ev-status-row{display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin:12px 0 4px;}
  .ev-progress{flex:1 1 170px; height:7px; overflow:hidden; border-radius:99px; background:var(--surface-2);}
  .ev-progress i{display:block; height:100%; border-radius:inherit; background:var(--brand-yellow);}
  .ev-pendencias{display:grid; gap:7px;}
  .ev-pendencia{display:flex; align-items:center; gap:9px; min-height:38px; padding:8px 10px; border:1px solid var(--line); border-radius:9px; background:var(--surface-2); font-size:12px;}
  .ev-pendencia i{width:8px; height:8px; flex:0 0 auto; border-radius:50%; background:#ff5c5c;}
  .ev-check{display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:8px; padding:8px 10px; border:1px solid var(--line); border-radius:9px; background:var(--surface-2); font-size:12px;}
  .ev-check-status{height:30px; padding:0 10px; border:1px solid var(--line); border-radius:999px; background:transparent; color:var(--ink-soft); font:700 10px/1 'Inter',sans-serif; cursor:pointer;}
  .ev-check-status.andamento{color:var(--brand-yellow); border-color:rgba(255,222,0,.4);}
  .ev-check-status.fechado{color:#63d79d; border-color:rgba(99,215,157,.4);}
  .ev-conflict{padding:10px 12px; border:1px solid rgba(255,92,92,.35); border-radius:10px; background:rgba(255,92,92,.08); color:#ff9b9b; font-size:12px; line-height:1.45;}
  .adm-eventos-lista{display:grid; gap:8px; margin-top:14px;}
  .adm-evento-row{display:grid; grid-template-columns:minmax(0,1fr) auto auto; align-items:center; gap:10px; padding:10px 12px; border:1px solid var(--line); border-radius:10px; background:var(--surface-2);}
  .adm-evento-row b,.adm-evento-row span{display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
  .adm-evento-row span{font-size:11px; color:var(--ink-soft); margin-top:2px;}
  .adm-evento-pend{font-size:10px; color:#ff9b9b; white-space:nowrap;}
  .adm-evento-actions{display:flex; gap:5px;}
  .adm-evento-actions button{height:34px; padding:0 10px; border:1px solid var(--line); border-radius:8px; background:var(--surface); color:var(--ink); font:600 11px/1 'Inter',sans-serif; cursor:pointer;}
  .ev-card{
    background:var(--surface); border:1px solid var(--line); border-radius:16px; padding:16px;
    border-left:4px solid var(--ev-cor,var(--brand-yellow));
    text-align:left; cursor:pointer; color:inherit; font:inherit;
    transition:transform .18s ease, border-color .18s ease;
    will-change:transform;
  }
  .ev-card:hover{transform:translate3d(0,-3px,0); border-color:rgba(255,222,0,.45); border-left-color:var(--ev-cor,var(--brand-yellow));}
  .ev-card:active{transform:scale(.985);}
  .ev-data{font-size:11px; font-weight:700; letter-spacing:.6px; color:var(--brand-yellow); text-transform:uppercase;}
  .ev-card h3{font-family:'Poppins',sans-serif; font-size:17px; margin:6px 0 2px; color:var(--ink);}
  .ev-hotel{font-size:12.5px; color:var(--ink-soft); margin:0 0 10px;}
  .ev-meta{display:flex; gap:6px; flex-wrap:wrap; margin-bottom:10px;}
  .ev-pill{font-size:11px; padding:3px 9px; border-radius:999px; background:var(--surface-2); color:var(--ink-soft); border:1px solid var(--line);}
  .ev-linha{font-size:12px; color:var(--ink-soft); margin:3px 0; display:flex; gap:6px;}
  .ev-linha b{color:var(--ink); font-weight:600;}
  .ev-vazio{text-align:center; padding:40px; color:var(--ink-soft); font-size:13px;}

  /* Ficha do evento */
  .ev-modal{position:fixed; inset:0; z-index:1200; display:none; align-items:flex-end; justify-content:center; background:rgba(0,0,0,.72);}
  .ev-modal.aberto{display:flex;}
  .ev-ficha{
    background:var(--surface); width:min(720px,100%); max-height:90vh; overflow-y:auto;
    border-radius:20px 20px 0 0; border:1px solid var(--line); padding:22px;
    animation:evSobe .26s cubic-bezier(.16,1,.3,1);
    -webkit-overflow-scrolling:touch;
  }
  @keyframes evSobe{from{transform:translate3d(0,26px,0); opacity:0;} to{transform:none; opacity:1;}}
  .ev-ficha-top{display:flex; justify-content:space-between; gap:12px; align-items:flex-start; margin-bottom:14px;}
  .ev-ficha h3{font-family:'Poppins',sans-serif; font-size:21px; margin:4px 0 2px;}
  .ev-fechar{background:var(--surface-2); border:1px solid var(--line); color:var(--ink); border-radius:999px; width:34px; height:34px; cursor:pointer; font-size:16px; line-height:1; flex:0 0 auto;}
  .ev-bloco{margin-top:18px;}
  .ev-bloco h4{font-size:11px; text-transform:uppercase; letter-spacing:.8px; color:var(--ink-soft); margin:0 0 10px;}
  .ev-time{display:grid; gap:8px;}
  .ev-time-item{display:flex; gap:10px; align-items:center; background:var(--surface-2); border-radius:10px; padding:9px 12px; font-size:12.5px;}
  .ev-time-item i{width:8px; height:8px; border-radius:50%; background:var(--brand-yellow); flex:0 0 auto; font-style:normal;}
  .ev-time-item span{color:var(--ink-soft);}
  .ev-time-item b{margin-left:auto; color:var(--ink); font-variant-numeric:tabular-nums;}
  .ev-tabela{display:grid; grid-template-columns:1fr 1fr; gap:8px;}
  .ev-kv{background:var(--surface-2); border-radius:10px; padding:9px 12px; font-size:12.5px;}
  .ev-kv span{display:block; color:var(--ink-soft); font-size:10.5px; text-transform:uppercase; letter-spacing:.4px;}
  .ev-kv b{color:var(--ink); font-weight:600;}
  /* ---- Cadastro e edição de eventos ---- */
  .ev-btn-nova{
    background:var(--brand-yellow); color:var(--brand-black); border:0; border-radius:999px;
    font:700 12.5px/1 'Inter',sans-serif; padding:0 18px; height:40px;
    cursor:pointer; flex:0 0 auto; letter-spacing:.2px;
  }
  .ev-btn-nova:hover{filter:brightness(1.08);}
  .ev-btn-ghost{
    background:var(--surface-2); color:var(--ink); border:1px solid var(--line);
    border-radius:999px; font:600 12.5px/1 'Inter',sans-serif; padding:0 16px; height:40px; cursor:pointer;
  }
  .ev-btn-apagar{
    background:transparent; color:var(--coral,#ff6b6b); border:1px solid var(--coral,#ff6b6b);
    border-radius:999px; font:600 12.5px/1 'Inter',sans-serif; padding:0 14px; height:40px; cursor:pointer;
  }
  .ev-form-espaco{flex:1 1 auto;}
  .ev-form-grid{display:grid; grid-template-columns:1fr 1fr; gap:10px;}
  .ev-form-grid label{
    display:flex; flex-direction:column; gap:5px;
    font:600 10.5px/1.2 'Inter',sans-serif; color:var(--ink-soft);
    text-transform:uppercase; letter-spacing:.4px;
  }
  .ev-form-grid input, #ev-form textarea{
    background:var(--surface-2); border:1px solid var(--line); color:var(--ink);
    border-radius:10px; height:42px; padding:0 12px;
    font:400 13.5px/1 'Inter',sans-serif; width:100%;
  }
  #ev-form textarea{height:auto; padding:10px 12px; line-height:1.5; resize:vertical;}
  .ev-form-grid input:focus, #ev-form textarea:focus{outline:2px solid rgba(255,222,0,.5); outline-offset:1px;}
  .ev-form-dica{font-size:11.5px; color:var(--ink-soft); margin:0 0 8px;}
  .ev-form-erro{color:var(--coral,#ff6b6b); font-size:12px; min-height:16px; margin:12px 0 0;}
  .ev-form-erro:empty{display:none;}
  .ev-form-acoes{display:flex; gap:8px; align-items:center; margin-top:14px; flex-wrap:wrap;}
  .ev-acoes-ficha{display:flex; gap:8px; margin-top:18px; flex-wrap:wrap;}
  @media (max-width:820px){
    .ev-wrap{padding-left:16px; padding-right:16px;}
    .ev-grid{grid-template-columns:1fr;}
    .ev-tabela{grid-template-columns:1fr;}
    .ev-filtros{overflow-x:auto; flex-wrap:nowrap; padding-bottom:4px; -webkit-overflow-scrolling:touch;}
    .ev-filtros select, .ev-filtros input{flex:0 0 auto;}
    .ev-views{width:100%;}
    .ev-view-btn{flex:1; padding:0 8px;}
    .ev-year-scroll{margin-left:0; margin-right:-16px; border-left:0; border-right:0; border-radius:0;}
    .ev-year-table .ev-year-name{width:136px; min-width:136px; max-width:136px; padding:0 9px;}
    .ev-year-cell{min-width:27px; width:27px;}
    .ev-month-day{min-height:58px; padding:5px;}
    .ev-month-event{width:7px; height:7px; display:inline-block; margin:2px; padding:0; border:0; border-radius:50%; background:var(--ev-cor); font-size:0;}
    .ev-month-num{margin-bottom:3px;}
    .ev-day-agenda{display:grid;}
    .adm-evento-row{grid-template-columns:minmax(0,1fr) auto;}
    .adm-evento-pend{grid-column:1;}
    .adm-evento-actions{grid-column:2; grid-row:1/3; flex-direction:column;}
    .ev-ficha{max-height:94vh;}
    .ev-form-grid{grid-template-columns:1fr;}
    .ev-form-acoes button{flex:1 1 auto;}
  }
  @media (prefers-reduced-motion:reduce){
    .ev-card, .ev-ficha{transition:none; animation:none;}
  }


  /* =====================================================================
     v2 — repaginada visual (login + home). Tudo em CSS puro e animado
     por transform/opacity para rodar liso no celular.
     ===================================================================== */

  /* ---------- Splash de entrada ---------- */
  .lg-splash{
    position:fixed; inset:0; z-index:2000; pointer-events:none; overflow:hidden;
    animation:lgSplashHide .35s ease forwards; animation-delay:1.25s;
  }
  .lg-splash-row{display:flex; width:100%; height:50%;}
  .lg-splash-row i{display:block; width:20%; height:100%; background:var(--brand-yellow);}
  .lg-splash-row.top i{animation:lgUp .85s cubic-bezier(.86,0,.07,1) forwards;}
  .lg-splash-row.bot i{animation:lgDown .85s cubic-bezier(.86,0,.07,1) forwards;}
  .lg-splash-row i:nth-child(2){animation-delay:.06s;}
  .lg-splash-row i:nth-child(3){animation-delay:.12s;}
  .lg-splash-row i:nth-child(4){animation-delay:.18s;}
  .lg-splash-row i:nth-child(5){animation-delay:.24s;}
  @keyframes lgUp{to{transform:translate3d(0,-101%,0);}}
  @keyframes lgDown{to{transform:translate3d(0,101%,0);}}
  @keyframes lgSplashHide{to{opacity:0; visibility:hidden;}}

  @keyframes lgWord{
    from{opacity:0; transform:translate3d(0,14px,0); filter:blur(8px);}
    to{opacity:1; transform:none; filter:blur(0);}
  }
  @keyframes lgRise{
    from{opacity:0; transform:translate3d(0,26px,0);}
    to{opacity:1; transform:none;}
  }
  @keyframes lgCharIn{
    from{opacity:0; transform:translate3d(0,60px,0) scale(1.12) rotate(4deg);}
    to{opacity:1; transform:translate3d(0,0,0) scale(1) rotate(0);}
  }
  @keyframes lgFloat{
    0%,100%{transform:translate3d(0,0,0) rotate(-1deg);}
    50%{transform:translate3d(0,-14px,0) rotate(1.5deg);}
  }
  @keyframes lgGlow{
    0%,100%{opacity:.5; transform:translate3d(-50%,0,0) scale(1);}
    50%{opacity:.85; transform:translate3d(-50%,0,0) scale(1.08);}
  }

  /* ---------- Login ---------- */
  #login-overlay{
    flex-direction:column;
    justify-content:center;
    padding:0;
    overflow:hidden;
    background:
      radial-gradient(85% 60% at 50% 105%, rgba(255,222,0,.10) 0%, rgba(255,222,0,0) 60%),
      var(--brand-black);
  }
  .lg-shell{
    position:relative; z-index:3;
    flex:1 1 auto;
    width:100%;
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    align-items:center;
    gap:20px;
    max-width:1340px;
    margin:0 auto;
    padding:56px 40px 40px;
  }
  .lg-grid{
    position:absolute; inset:0; z-index:1; pointer-events:none;
    background-image:
      linear-gradient(rgba(255,255,255,.05) 1px, transparent 1px),
      linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px);
    background-size:64px 64px;
    mask-image:radial-gradient(70% 60% at 50% 40%, #000 0%, transparent 78%);
    -webkit-mask-image:radial-gradient(70% 60% at 50% 40%, #000 0%, transparent 78%);
  }
  .lg-word{
    position:absolute; left:0; right:0; bottom:-3vw; z-index:2;
    text-align:center; pointer-events:none;
    font-family:'Poppins',sans-serif; font-weight:800;
    font-size:clamp(150px,26vw,460px);
    line-height:.8; letter-spacing:-.045em;
    color:transparent;
    -webkit-text-stroke:1.5px rgba(255,255,255,.07);
    opacity:0; animation:lgRise 1s ease forwards; animation-delay:1.05s;
  }
  .lg-copy{position:relative; z-index:6; max-width:520px;}
  .lg-mark{
    font-family:'Poppins',sans-serif; font-weight:800;
    font-size:clamp(54px,7vw,84px); line-height:.9; letter-spacing:-.03em;
    color:var(--brand-yellow); margin:0 0 10px;
    text-shadow:0 0 40px rgba(255,222,0,.25);
    opacity:0; animation:lgRise .8s ease forwards; animation-delay:.95s;
  }
  .lg-eyebrow{
    display:inline-flex; align-items:center; gap:8px;
    font-size:11px; font-weight:700; letter-spacing:.16em; text-transform:uppercase;
    color:rgba(255,255,255,.72); background:rgba(255,255,255,.05);
    border:1px solid rgba(255,255,255,.14); border-radius:999px;
    padding:6px 12px; margin:0 0 18px;
    opacity:0; animation:lgRise .7s ease forwards; animation-delay:.85s;
  }
  .lg-eyebrow b{color:var(--brand-yellow); font-weight:700;}
  .lg-h1{
    font-family:'Poppins',sans-serif; font-weight:700;
    font-size:clamp(24px,3.1vw,38px); line-height:1.1; letter-spacing:-.02em;
    color:#fff; margin:0 0 14px;
  }
  .lg-h1 span{display:inline-block; margin-right:.26em; opacity:0; animation:lgWord .5s ease forwards;}
  .lg-sub{
    font-size:14px; line-height:1.6; color:rgba(255,255,255,.62); margin:0 0 22px; max-width:430px;
    opacity:0; animation:lgRise .7s ease forwards; animation-delay:1.25s;
  }
  .lg-cta{
    opacity:0; animation:lgRise .7s ease forwards; animation-delay:1.35s;
    display:inline-flex; flex-direction:column; gap:8px; width:100%; max-width:286px;
  }
  .lg-cta-box{
    background:rgba(255,255,255,.04);
    border:1px solid rgba(255,255,255,.1);
    border-radius:14px; padding:10px 12px 11px;
    backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px);
  }
  .lg-cta-label{
    font-size:9.5px; font-weight:700; letter-spacing:.1em; text-transform:uppercase;
    color:rgba(255,255,255,.5); margin:0 0 8px;
  }
  .lg-cta-box .google-wrap{display:flex; justify-content:center;}
  .lg-cta-box .login-erro{margin:0;}
  .lg-cta-box .login-erro:empty{display:none;}
  .lg-visual{position:relative; z-index:5; display:flex; justify-content:center; align-items:center; min-height:52vh;}
  .lg-visual .lg-halo{
    position:absolute; left:50%; bottom:6%; width:min(74%,440px); aspect-ratio:1/1;
    background:radial-gradient(circle, rgba(255,90,0,.3) 0%, rgba(255,222,0,0) 68%);
    filter:blur(6px); animation:lgGlow 5s ease-in-out infinite;
  }
  .lg-char{
    position:relative; width:min(86%,520px); height:auto;
    filter:drop-shadow(0 40px 60px rgba(0,0,0,.65));
    opacity:0; animation:lgCharIn 1.1s cubic-bezier(.22,1,.36,1) forwards, lgFloat 6s ease-in-out 2.1s infinite;
    animation-delay:.9s, 2.1s;
    will-change:transform;
  }
  .login-erro{margin-top:6px;}

  /* Fogo / fagulhas no personagem (hover & toque) */
  .lg-fire{
    position:absolute; z-index:4; pointer-events:none;
    width:var(--fs,10px); height:var(--fs,10px); border-radius:50%;
    background:radial-gradient(circle, #fff9 0%, var(--fc,#FF4D00) 40%, rgba(255,60,0,0) 74%);
    filter:blur(1px);
    animation:lgFireRise var(--fd,.9s) ease-out forwards;
    will-change:transform,opacity;
  }
  @keyframes lgFireRise{
    0%{transform:translate3d(0,0,0) scale(1); opacity:1;}
    60%{opacity:.9;}
    100%{transform:translate3d(var(--fx,0px), var(--fy,-140px), 0) scale(.15); opacity:0;}
  }
  .lg-visual.lg-burning .lg-halo{
    background:radial-gradient(circle, rgba(255,40,0,.55) 0%, rgba(255,120,0,.32) 45%, rgba(255,222,0,0) 72%);
  }
  .lg-visual.lg-burning .lg-char{
    filter:drop-shadow(0 40px 60px rgba(0,0,0,.55)) drop-shadow(0 0 32px rgba(255,50,0,.6)) drop-shadow(0 0 12px rgba(255,90,0,.5));
  }
  #login-overlay .login-footer{
    position:relative; z-index:6; text-align:center; padding:0 20px 24px; margin:0;
  }
  #login-overlay .login-footer-crumb,

  @media (max-width:900px){
    #login-overlay{
      overflow-y:auto;
      overflow-x:hidden;
      justify-content:flex-start;
      -webkit-overflow-scrolling:touch;
    }
    .lg-shell{
      grid-template-columns:1fr;
      padding:max(26px, env(safe-area-inset-top)) 20px 26px;
      gap:0;
      align-content:start;
      text-align:left;
    }
    .lg-visual{
      order:-1;
      min-height:auto;
      margin-bottom:6px;
      overflow:visible;
      padding-top:8px;
    }
    .lg-char{
      width:min(62%,250px);
      max-height:34vh;
      object-fit:contain;
      object-position:center top;
    }
    .lg-word{display:none;}
    .lg-cta{max-width:320px;}
    .lg-sub{margin-bottom:20px;}
  }

  @media (max-width:900px) and (max-height:700px){
    .lg-char{width:min(50%,190px); max-height:26vh;}
  }

  /* ---------- Home / app repaginada ---------- */
  #app{padding-bottom:110px;}
  .hero{
    border-bottom:1px solid var(--v08);
    padding:22px 32px 20px;
    margin-bottom:18px;
    background:
      radial-gradient(120% 140% at 0% 0%, rgba(255,222,0,.09) 0%, rgba(10,10,10,0) 55%),
      var(--bg);
  }
  .doodle{display:none !important;}
  .mero-hero-title{
    font-size:34px; letter-spacing:-.02em; -webkit-text-stroke:0;
    color:var(--marca); margin-bottom:2px;
  }
  .mero-hero-sub{font-size:12.5px; letter-spacing:.02em; opacity:.6; margin-bottom:0;}

  .home-kpis{gap:12px;}
  .kpi{
    background:linear-gradient(180deg, var(--v06), var(--v02));
    border:1px solid var(--v09);
    border-radius:18px;
    padding:18px 16px;
    position:relative; overflow:hidden;
  }
  .kpi::after{
    content:""; position:absolute; top:0; left:16px; right:16px; height:1px;
    background:linear-gradient(90deg, transparent, rgba(255,222,0,.5), transparent);
  }
  .kpi-num{font-size:34px; letter-spacing:-.02em;}
  .mod-card{
    border-radius:20px; padding:20px;
    background:linear-gradient(180deg, var(--v04), var(--v02));
    border:1px solid var(--v09);
    transition:transform .18s cubic-bezier(.22,1,.36,1), border-color .18s ease, box-shadow .18s ease;
    will-change:transform;
  }
  .mod-card:hover{
    transform:translate3d(0,-4px,0);
    border-color:rgba(255,222,0,.55);
    box-shadow:0 18px 40px -22px rgba(255,222,0,.55);
    background:linear-gradient(180deg, var(--v08), var(--v02));
  }
  .mod-card:active{transform:scale(.985);}
  .mod-card .mc-ico{
    width:40px; height:40px; border-radius:12px;
    background:rgba(255,222,0,.12); border:1px solid rgba(255,222,0,.22);
    display:flex; align-items:center; justify-content:center;
    font-size:19px; margin-bottom:14px;
  }
  .mod-card .mc-nome{font-size:15px; letter-spacing:-.01em;}
  .modbar button{border-radius:999px; transition:transform .16s ease, background .16s ease, color .16s ease;}
  .modbar button:active{transform:scale(.96);}

  @media (max-width:820px){
    .hero{padding:16px 16px 14px; margin-bottom:14px;}
    .mero-hero-title{font-size:28px;}
    .home-kpis{grid-template-columns:1fr 1fr; gap:10px;}
    .kpi{padding:14px 13px; border-radius:16px;}
    .kpi-num{font-size:26px;}
    .home-mods{grid-template-columns:1fr; gap:10px;}
  }

  /* ===== HOME — KV /Forma · técnico alto contraste ===== */
  .home-eyebrow{margin:0 0 8px; font:700 10px/1.2 'Inter',sans-serif; letter-spacing:.22em; text-transform:uppercase; color:var(--ink-label);}
  .home-ola{font-weight:700; color:var(--ink);}
  .home-pergunta{color:var(--ink-mid);}
  .home-sec-titulo{font:700 10px/1.2 'Inter',sans-serif; letter-spacing:.22em; text-transform:uppercase; color:var(--ink-label); margin:0 0 5px;}
  .home-sec-sub{color:var(--ink-mid);}

  .home-kpis{gap:12px;}
  .kpi{background:var(--card); border:1px solid var(--v10); border-radius:16px; padding:16px; position:relative;}
  .kpi::after{display:none;}
  .kpi-ico{width:20px; height:20px; color:var(--ink-label); display:block; margin-bottom:16px;}
  .kpi-num{font-family:'Space Grotesk','Poppins',sans-serif; font-weight:700; font-size:28px; color:var(--ink); font-variant-numeric:tabular-nums; letter-spacing:-.01em;}
  .kpi-label{font:600 10px/1.3 'Inter',sans-serif; text-transform:uppercase; letter-spacing:.14em; color:var(--ink-label); margin-top:6px;}
  .kpi-prox{background:var(--brand-yellow); border-color:var(--brand-yellow);}
  .kpi-prox .kpi-ico{color:var(--brand-black);}
  .kpi-prox .kpi-num{color:var(--brand-black); font-size:19px; line-height:1.15;}
  .kpi-prox .kpi-label{color:rgba(10,10,10,.65);}

  .home-mods{gap:12px; grid-template-columns:repeat(auto-fill,minmax(330px,1fr));}
  .mod-card{
    display:flex; align-items:center; gap:14px;
    background:var(--card); border:1px solid var(--v10);
    border-radius:16px; padding:14px 16px; min-height:68px;
    box-shadow:none;
  }
  .mod-card:hover{transform:translate3d(0,-2px,0); border-color:var(--v24); background:var(--card-2); box-shadow:none;}
  .mod-card .mc-slot{flex:0 0 40px; width:40px; height:40px; border-radius:12px; background:var(--slot); border:1px solid var(--v10); display:flex; align-items:center; justify-content:center; color:var(--ink-mid);}
  .mod-card .mc-slot svg{width:20px; height:20px; display:block;}
  .mod-card.on .mc-slot{color:var(--brand-yellow);}
  .mod-card .mc-corpo{flex:1 1 auto; min-width:0;}
  .mod-card .mc-nome{font-weight:600; font-size:14px; color:var(--ink); display:block; margin-bottom:3px;}
  .mod-card .mc-desc{display:block; font-size:12px; color:var(--ink-mid); line-height:1.4;}
  .mod-card .mc-status{flex:0 0 auto; display:flex; align-items:center; gap:6px; font:700 10px/1 'Inter',sans-serif; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-label); white-space:nowrap;}
  .pip{width:7px; height:7px; border-radius:50%; background:var(--v25); display:inline-block;}
  .pip.on{background:var(--brand-yellow);}
  .mod-card.on .pip.on{animation:pipPulse 2.2s ease-in-out infinite;}
  .mod-card-adm{border-color:rgba(255,222,0,.30);}
  @keyframes pipPulse{0%,100%{opacity:1;}50%{opacity:.45;}}
  @keyframes kvHomeIn{from{opacity:0; transform:translate3d(0,10px,0);} to{opacity:1; transform:translate3d(0,0,0);}}
  .home-kpis .kpi, .home-mods .mod-card{animation:kvHomeIn .5s cubic-bezier(.22,1,.36,1) both;}
  .home-mods .mod-card:nth-child(1){animation-delay:.06s;}
  .home-mods .mod-card:nth-child(2){animation-delay:.11s;}
  .home-mods .mod-card:nth-child(3){animation-delay:.16s;}
  .home-mods .mod-card:nth-child(4){animation-delay:.21s;}
  .home-mods .mod-card:nth-child(5){animation-delay:.26s;}
  .home-mods .mod-card:nth-child(6){animation-delay:.31s;}
  @media (prefers-reduced-motion:reduce){
    .home-kpis .kpi, .home-mods .mod-card{animation:none;}
    .mod-card.on .pip.on{animation:none;}
  }
  @media (max-width:820px){
    .kpi-num{font-size:24px;}
    .kpi-prox .kpi-num{font-size:16px;}
    .mod-card{padding:12px 13px; gap:11px; min-height:64px;}
    .mod-card .mc-desc{display:-webkit-box; -webkit-line-clamp:1; -webkit-box-orient:vertical; overflow:hidden;}
    .mod-card .mc-status span{display:none;}
  }

  /* ===== Menu do app (celular): botão no topo + lista suspensa ===== */
  .mero-menu{display:none; position:relative; margin:-6px 16px 16px; z-index:70;}
  .mero-menu-btn{
    display:flex; align-items:center; gap:10px; width:100%;
    background:var(--card); border:1px solid var(--v12);
    border-radius:14px; padding:11px 14px; box-shadow:none;
    color:var(--ink); font:600 13.5px/1.2 'Inter',sans-serif; cursor:pointer;
  }
  .mero-menu-btn .mm-ic{display:grid; gap:3px; flex:0 0 auto;}
  .mero-menu-btn .mm-ic i{display:block; width:16px; height:2px; border-radius:2px; background:var(--brand-yellow);}
  .mero-menu-btn .mm-atual{flex:1 1 auto; min-width:0; text-align:left; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
  .mero-menu-btn .mm-seta{flex:0 0 auto; color:var(--ink-soft); font-size:11px; transition:transform .16s ease;}
  .mero-menu.aberto .mm-seta{transform:rotate(180deg);}
  .mero-menu-lista{
    display:none; position:absolute; left:0; right:0; top:calc(100% + 6px);
    background:var(--card-solid); border:1px solid var(--v12);
    border-radius:14px; padding:6px; margin:0; list-style:none;
    box-shadow:0 22px 44px -20px rgba(0,0,0,.95);
    backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px);
  }
  .mero-menu.aberto .mero-menu-lista{display:block; animation:modFade .16s ease;}
  .mero-menu-lista button{
    width:100%; text-align:left; background:transparent; border:0; box-shadow:none;
    color:#d7d7d7; font:600 13.5px/1.2 'Inter',sans-serif;
    padding:12px 12px; border-radius:10px; cursor:pointer;
  }
  .mero-menu-lista button.ativo{background:rgba(255,222,0,.14); color:var(--brand-yellow);}
  @media (prefers-reduced-motion:reduce){
    .lg-splash{animation:lgSplashHide .01s linear forwards;}
    .lg-splash-row i, .lg-char, .lg-word, .lg-mark, .lg-eyebrow, .lg-h1 span,
    .lg-sub, .lg-cta, .lg-visual .lg-halo{
      animation:none !important; opacity:1 !important; transform:none !important; filter:none !important;
    }
  }

  /* ===== Orçamentos & Fornecedores repaginado ===== */
  .orc-tabs{
    display:flex; gap:8px; overflow-x:auto; scrollbar-width:none;
    margin:0 32px 18px; padding-bottom:4px;
  }
  .orc-tabs::-webkit-scrollbar{display:none;}
  .orc-tabs button{
    flex:0 0 auto; min-height:44px; padding:10px 18px; border-radius:999px;
    border:1px solid var(--v12); background:var(--v04);
    color:#c8c8c8; font:600 13px/1 'Inter',sans-serif; cursor:pointer;
    box-shadow:none; white-space:nowrap; text-transform:none; letter-spacing:.2px;
    transition:background .16s ease, color .16s ease, transform .16s ease;
  }
  .orc-tabs button:hover{color:var(--ink); background:var(--v09);}
  .orc-tabs button:active{transform:scale(.97);}
  .orc-tabs button.ativo{background:var(--brand-yellow); color:var(--brand-black); border-color:var(--brand-yellow);}
  .orc-tabs .orc-badge{
    display:inline-block; margin-left:6px; min-width:18px; padding:1px 6px;
    border-radius:999px; background:#ff6b6b; color:var(--ink); font-size:11px; font-weight:700;
  }
  .orc-tabs button.ativo .orc-badge{background:rgba(0,0,0,.2); color:var(--brand-black);}

  .orc-secao{margin:0 32px 12px;}
  .orc-secao h3{margin:0 0 2px; font:700 16px/1.3 'Poppins','Inter',sans-serif; color:#f2f2f2;}
  .orc-secao p{margin:0; font:400 12px/1.5 'Inter',sans-serif; color:var(--ink-soft);}

  .toolbar-campos{display:flex; flex-wrap:wrap; gap:8px; align-items:center;}
  .orc-filtros-btn{display:none;}
  .orc-filtros-num{
    display:inline-block; margin-left:6px; padding:1px 7px; border-radius:999px;
    background:var(--brand-yellow); color:var(--brand-black); font-size:11px; font-weight:700;
  }

  /* lista em cartões (celular) */
  .orc-cards{display:none; margin:0 16px 20px;}
  .orc-card{
    background:var(--card); border:1px solid var(--v10); border-radius:14px;
    padding:11px 12px; margin-bottom:8px; cursor:pointer;
    transition:transform .14s ease, border-color .14s ease;
  }
  .orc-card:active{transform:scale(.99);}
  .orc-card.aprovado{border-left:3px solid #3ecf8e;}
  .orc-card.reprovado{border-left:3px solid #ff6b6b;}
  .orc-card.aguardando{border-left:3px solid var(--brand-yellow);}
  .orc-card-topo{display:grid; grid-template-columns:minmax(0,1fr) auto; gap:10px; align-items:start;}
  .orc-card-dir{display:flex; flex-direction:column; align-items:flex-end; gap:6px;}
  .orc-card-item{margin:0; font:700 14px/1.3 'Inter',sans-serif; color:var(--ink); overflow-wrap:anywhere;}
  .orc-card-forn{margin:1px 0 0; font:400 12px/1.35 'Inter',sans-serif; color:#9a9a9a; overflow-wrap:anywhere;}
  .orc-card-valor{font:700 14px/1.2 'Inter',sans-serif; color:var(--brand-yellow); white-space:nowrap;}
  .orc-card-meta{display:flex; flex-wrap:wrap; gap:5px; margin-top:8px;}
  .orc-tag{
    display:inline-flex; align-items:center; gap:4px; padding:3px 8px; border-radius:999px;
    background:var(--v06); color:var(--ink-soft); font:600 10.5px/1.3 'Inter',sans-serif;
  }
  .orc-tag.dest{background:rgba(255,222,0,.13); color:var(--brand-yellow);}
  .orc-tag.ok{background:rgba(62,207,142,.15); color:#3ecf8e;}
  .orc-tag.no{background:rgba(255,107,107,.15); color:#ff6b6b;}
  .orc-card-acoes{display:flex; gap:6px;}
  .orc-card-acoes button{
    width:32px; height:32px; padding:0; border-radius:10px;
    border:1px solid var(--v14);
    background:var(--v04); color:var(--ink);
    font:700 13px/1 'Inter',sans-serif; box-shadow:none;
    display:inline-flex; align-items:center; justify-content:center;
  }
  .orc-card-acoes button.sim.on{background:#3ecf8e; color:#06231a; border-color:#3ecf8e;}
  .orc-card-acoes button.nao.on{background:#ff6b6b; color:#2a0b0b; border-color:#ff6b6b;}
  .orc-cards-vazio{
    padding:26px 16px; text-align:center; color:var(--ink-soft); border:1px dashed var(--v14);
    border-radius:16px; font:400 13px/1.5 'Inter',sans-serif;
  }

  @media (max-width:820px){
    .orc-tabs{margin:0 16px 14px;}
    .orc-secao{margin:0 16px 10px;}
    .cards{grid-template-columns:1fr 1fr !important; gap:10px; margin-left:16px !important; margin-right:16px !important; margin-bottom:18px;}
    .toolbar, .escopo-lista, #filtro-ativo, .manage, .manage-header, .footnote,
    #diretoria-view, #historico-view, #aprovados-view, #fornecedores-view, #cotacoes-view, #minhas-view{
      margin-left:16px !important; margin-right:16px !important;
    }
    .toolbar{flex-wrap:wrap; gap:8px;}
    .toolbar #filter-busca{flex:1 1 100%; min-height:44px;}
    .toolbar #btn-add-row, .orc-filtros-btn{flex:1 1 45%; min-height:44px;}
    .orc-filtros-btn{display:inline-flex; align-items:center; justify-content:center;}
    #toolbar-campos{display:none; flex:1 1 100%; flex-direction:column; align-items:stretch;}
    #toolbar-campos.aberto{display:flex;}
    #toolbar-campos select, #toolbar-campos button{
      width:100%; height:48px; min-height:48px; max-height:48px;
      padding:0 12px; line-height:1.2;
    }
    #tabela-principal-wrap{display:none !important;}
    .orc-cards{display:block;}
    #app{padding-bottom:40px;}

    /* Cotações e Aprovados: as tabelas viram cartões empilhados */
    #aprovados-view > div[style*="overflow-x"]{overflow-x:visible !important;}
    #aprovados-view table, .cotacao-tabela,
    #aprovados-view tbody, .cotacao-tabela tbody{display:block; width:100%;}
    #aprovados-view thead, .cotacao-tabela thead{display:none;}
    #aprovados-view tbody tr, .cotacao-tabela tbody tr{
      display:block; background:var(--card); border:1px solid var(--v10);
      border-radius:14px; padding:10px 12px; margin-bottom:10px;
    }
    #aprovados-view tbody td, .cotacao-tabela tbody td{
      display:grid; grid-template-columns:92px minmax(0,1fr); gap:10px;
      align-items:center; width:auto !important; border:0 !important;
      padding:5px 0 !important; white-space:normal !important; overflow:visible;
      text-overflow:clip; max-width:none !important;
    }
    #aprovados-view tbody td::before, .cotacao-tabela tbody td::before{
      content:attr(data-label);
      font:600 10.5px/1.3 'Inter',sans-serif; color:var(--ink-soft);
      text-transform:uppercase; letter-spacing:.04em;
    }
    #aprovados-view tbody td:empty, .cotacao-tabela tbody td:empty{display:none;}
    #aprovados-view tbody td input, #aprovados-view tbody td select{
      width:100%; min-height:38px; height:38px; padding:0 10px;
    }
    #aprovados-view tbody td, .cotacao-tabela tbody td{text-align:left !important;}
    #aprovados-view tbody td::before, .cotacao-tabela tbody td::before{text-align:left;}
    #aprovados-view tbody td[data-label="Item"], .cotacao-tabela tbody td[data-label="Fornecedor"]{
      font-weight:700; color:var(--ink);
    }
    .cotacao-tabela tbody td[data-label="Valor"]{font-size:15px;}
    .cotacao-tabela tbody td .approve-group{display:flex; gap:8px;}
    .cotacao-tabela tbody td .approve-btn{min-width:44px; min-height:40px;}
    .cotacao-card{padding:12px !important;}
    .minhas-grade{grid-template-columns:1fr !important;}
    .celula-obs{white-space:normal !important;}

    /* Menu do app: botão no topo + lista suspensa */
    .modbar{display:none !important;}
    .mero-menu{display:block;}
  }

  /* ===== Correções mobile + contraste do tema claro ===== */
  html, body{max-width:100%; overflow-x:hidden;}

  html[data-tema="claro"]{
    --accent-text:#6B5900;
  }
  :root:not([data-tema="claro"]){
    --accent-text:var(--brand-yellow);
  }

  /* O amarelo puro segue nos fundos e indicadores; em texto sobre papel,
     usamos a versão escura para manter leitura e contraste. */
  html[data-tema="claro"] .tema-btn:hover,
  html[data-tema="claro"] .card.card-click .n,
  html[data-tema="claro"] .grupo-nome,
  html[data-tema="claro"] .dest-total,
  html[data-tema="claro"] .adm-tile-ic,
  html[data-tema="claro"] .adm-tile-badge,
  html[data-tema="claro"] .ev-stat b,
  html[data-tema="claro"] .ev-data,
  html[data-tema="claro"] .ev-check-status.andamento,
  html[data-tema="claro"] .orc-card-valor,
  html[data-tema="claro"] .orc-tag.dest,
  html[data-tema="claro"] .mencao,
  html[data-tema="claro"] .card.card-minhas.tem-pendencia .n,
  html[data-tema="claro"] .card.card-decidir .n{
    color:var(--accent-text) !important;
  }
  html[data-tema="claro"] .mero-menu-lista button{color:var(--ink);}
  html[data-tema="claro"] .mero-menu-lista button.ativo{
    color:var(--brand-black);
    background:color-mix(in oklab, var(--brand-yellow) 24%, var(--surface));
  }
  html[data-tema="claro"] .orc-tabs button{color:var(--ink-soft);}
  html[data-tema="claro"] .orc-secao h3{color:var(--ink);}
  html[data-tema="claro"] .orc-card-forn{color:var(--ink-soft);}
  html[data-tema="claro"] .ev-year-table thead th,
  html[data-tema="claro"] .ev-year-table thead .ev-year-name,
  html[data-tema="claro"] .ev-month-dow{
    background:var(--surface-2);
    color:var(--ink-soft);
  }
  html[data-tema="claro"] .ev-month-day.fora{
    background:var(--card-2);
    color:var(--ink-label);
  }
  html[data-tema="claro"] .cor-porto{color:#5D2A88 !important;}
  html[data-tema="claro"] .cor-institucional{color:#005A94 !important;}
  html[data-tema="claro"] .orc-tag.ok,
  html[data-tema="claro"] .ev-check-status.fechado{color:var(--green);}
  html[data-tema="claro"] .orc-tag.no,
  html[data-tema="claro"] .adm-evento-pend,
  html[data-tema="claro"] .ev-conflict{color:var(--coral);}
  html[data-tema="claro"] select option{background:var(--surface); color:var(--ink);}
  html[data-tema="claro"] input::placeholder,
  html[data-tema="claro"] textarea::placeholder{color:var(--ink-label); opacity:1;}
  html[data-tema="claro"] button:hover{background:var(--surface-2);}
  html[data-tema="claro"] .modbar button.ativo,
  html[data-tema="claro"] .orc-tabs button.ativo,
  html[data-tema="claro"] .ev-view-btn.ativo,
  html[data-tema="claro"] .adm-pills button.ativo,
  html[data-tema="claro"] .ev-btn-nova,
  html[data-tema="claro"] #btn-add-row,
  html[data-tema="claro"] #btn-modal-salvar,
  html[data-tema="claro"] #btn-senha-salvar{
    background:var(--brand-yellow);
    color:var(--brand-black);
  }

  @media (max-width:820px){
    #app{width:100%; min-width:0; padding-bottom:max(40px, env(safe-area-inset-bottom));}
    .hero{
      padding-top:max(14px, env(safe-area-inset-top));
      overflow:visible;
    }
    .user-badge{
      display:grid;
      grid-template-columns:minmax(0,1fr) auto auto auto;
      width:100%;
      min-width:0;
      gap:7px;
      align-items:center;
    }
    .user-badge > #user-badge-text{
      min-width:0;
      overflow:hidden;
      text-overflow:ellipsis;
      white-space:nowrap;
    }
    .user-badge > .sino-area,
    .user-badge > .tema-btn,
    .user-badge > #btn-trocar-usuario{min-width:0; flex:0 0 auto;}
    .tema-btn{padding:0 10px;}
    .home-wrap{width:100%; min-width:0; overflow:visible;}
    .home-kpis{grid-template-columns:repeat(2,minmax(0,1fr));}
    .kpi{min-width:0; overflow:hidden;}
    .kpi-num,.kpi-label{max-width:100%; overflow-wrap:anywhere;}
    .home-mods{grid-template-columns:minmax(0,1fr);}
    .mod-card{width:100%; min-width:0;}
    .mero-menu-lista{max-height:min(60vh,420px); overflow-y:auto;}
  }

  @media (max-width:360px){
    .tema-btn{width:38px; padding:0; justify-content:center;}
    .tema-btn #btn-tema-txt{display:none;}
    .home-kpis{grid-template-columns:1fr;}
  }

/* Contém a rolagem lateral dentro do calendário para a coluna Evento / Operação ficar fixa */
#mod-eventos, #mod-eventos .ev-view, #ev-view-ano{min-width:0; max-width:100%; overflow-x:clip;}
#ev-view-ano .ev-year-scroll{width:100%; max-width:100%; overflow:auto; max-height:min(76vh,820px);}
html, body{overflow-x:clip;}

/* Resumo do dia e da semana */
.ev-resumo{display:grid;grid-template-columns:1fr 1.4fr;gap:12px;margin-top:14px}
.ev-res-bloco{background:var(--card-opaque,var(--surface));border:1px solid var(--line,rgba(127,127,127,.2));border-radius:14px;padding:14px;min-width:0}
.ev-res-bloco header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:10px}
.ev-res-bloco header span{font:700 16px 'Space Grotesk',Poppins,sans-serif}
.ev-res-bloco header strong{font-size:12px;opacity:.65;font-variant-numeric:tabular-nums}
.ev-res-dia h4{margin:10px 0 6px;font-size:12px;text-transform:uppercase;letter-spacing:.08em;opacity:.7;font-variant-numeric:tabular-nums}
.ev-res-item{display:flex;gap:10px;align-items:center;width:100%;min-height:44px;padding:6px 8px;margin:0 0 6px;border:1px solid transparent;border-radius:10px;background:transparent;color:inherit;text-align:left;cursor:pointer}
.ev-res-item:hover{border-color:var(--ev-cor)}
.ev-res-item i{flex:0 0 6px;align-self:stretch;border-radius:3px;background:var(--ev-cor)}
.ev-res-item.log i{background:repeating-linear-gradient(0deg,var(--ev-cor) 0 4px,transparent 4px 7px)}
.ev-res-item span{display:flex;flex-direction:column;min-width:0}
.ev-res-item b{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ev-res-item small{font-size:12px;opacity:.7}
.ev-cor-replicar{display:flex!important;gap:8px;align-items:center;min-height:44px;font-size:14px;margin-top:6px}
.ev-cor-replicar input{width:18px;height:18px}
@media (max-width:820px){.ev-resumo{grid-template-columns:1fr}}

/* Consulta pública /calendario: calendário oficial, somente leitura */
body.mero-publico #modbar,body.mero-publico #mero-menu,body.mero-publico .sino-area,
body.mero-publico .doodle,body.mero-publico #ev-btn-nova,body.mero-publico .ev-btn-nova{display:none!important}
body.mero-publico #btn-trocar-usuario::after{content:""}
.ev-passados{min-height:44px;margin:0 0 10px;padding:0 16px;border-radius:999px;border:1px solid var(--line,rgba(127,127,127,.35));background:transparent;color:inherit;font:600 14px Inter,system-ui,sans-serif;cursor:pointer}
.ev-passados[aria-pressed="true"]{background:var(--brand-yellow,#FFED00);color:#0a0a0a;border-color:transparent}
/* Evita que arrastar para o lado faça o navegador voltar/avançar de página */
html,body{overscroll-behavior-x:none}
.ev-year-scroll{overscroll-behavior-x:contain;overscroll-behavior-y:auto}
.ev-card-kv{display:grid;grid-template-columns:1fr 1fr;gap:8px 12px;margin-top:10px}
.ev-card-kv .ev-kv{display:flex;flex-direction:column;gap:2px;min-width:0}
.ev-card-kv .ev-kv span{font-size:11px;text-transform:uppercase;letter-spacing:.08em;opacity:.6}
.ev-card-kv .ev-kv b{font-size:13px;font-variant-numeric:tabular-nums;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body.mero-publico .ev-card{cursor:default}

/* Login por e-mail e senha (consulta do calendário) */
#login-overlay .lg-cta{max-width:320px;}
#login-overlay .lg-ou{display:flex; align-items:center; gap:8px; margin:10px 0 8px; font-size:10px; letter-spacing:.08em; text-transform:uppercase; color:rgba(255,255,255,.45);}
#login-overlay .lg-ou::before, #login-overlay .lg-ou::after{content:""; flex:1; height:1px; background:rgba(255,255,255,.12);}
#login-overlay .lg-form{display:flex; flex-direction:column; gap:8px;}
#login-overlay .lg-field{display:flex; flex-direction:column; gap:4px;}
#login-overlay .lg-field span{font-size:10px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:rgba(255,255,255,.55);}
#login-overlay .lg-field input{height:44px; padding:0 12px; border-radius:10px; border:1px solid rgba(255,255,255,.14); background:rgba(0,0,0,.35); color:#fff; font:500 14px Inter,system-ui,sans-serif; outline:none; transition:border-color .15s, box-shadow .15s;}
#login-overlay .lg-field input::placeholder{color:rgba(255,255,255,.3);}
#login-overlay .lg-field input:focus{border-color:#FFED00; box-shadow:0 0 0 3px rgba(255,237,0,.18);}
#login-overlay .lg-btn{height:44px; border:0; border-radius:999px; background:#FFED00; color:#0A0A0A; font:700 14px Inter,system-ui,sans-serif; cursor:pointer; transition:transform .15s, filter .15s;}
#login-overlay .lg-btn:hover{filter:brightness(1.05); transform:translateY(-1px);}
#login-overlay .lg-btn:disabled{opacity:.6; cursor:wait; transform:none;}
#login-overlay .lg-links{display:flex; justify-content:space-between; gap:8px; flex-wrap:wrap;}
#login-overlay .lg-links button{background:none; border:0; padding:6px 0; min-height:32px; color:rgba(255,255,255,.6); font:500 12px Inter,system-ui,sans-serif; cursor:pointer; text-decoration:underline; text-underline-offset:3px;}
#login-overlay .lg-links button:hover{color:#FFED00;}
#login-overlay .lg-cta-box .login-erro{margin-top:8px;}
@media (prefers-reduced-motion: reduce){ #login-overlay .lg-btn{transition:none;} }

/* Entrada MERO — campo tipográfico reativo com login central */
#login-overlay{
  --login-yellow:#FFED00;
  isolation:isolate;
  display:flex;
  min-height:100dvh;
  overflow:hidden;
  touch-action:auto;
  background:var(--login-yellow);
  color:var(--brand-black);
}
#login-overlay .lg-canvas{
  position:absolute;
  inset:0;
  z-index:0;
  width:100%;
  height:100%;
  pointer-events:none;
}
#login-overlay::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:radial-gradient(circle at center,rgba(255,237,0,.18) 0 22%,transparent 62%);
}
#login-overlay .lg-login-card{
  position:absolute;
  z-index:5;
  left:50%;
  top:50%;
  width:min(390px,calc(100vw - 32px));
  max-height:calc(100dvh - 72px);
  overflow:auto;
  padding:22px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:16px;
  background:rgba(10,10,10,.96);
  box-shadow:0 22px 55px rgba(10,10,10,.24);
  color:var(--brand-white);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  scrollbar-width:thin;
  scrollbar-color:rgba(255,237,0,.45) transparent;
  opacity:1;
  pointer-events:auto;
  transform:translate3d(-50%,-50%,0);
  transform-origin:center;
  will-change:transform,opacity;
  touch-action:pan-y;
  overscroll-behavior:contain;
}
#login-overlay .lg-login-head{
  margin-bottom:16px;
  text-align:center;
}
#login-overlay .lg-login-kicker{
  margin:0 0 7px;
  color:rgba(255,255,255,.48);
  font:700 9px/1.2 'Inter',sans-serif;
  letter-spacing:.14em;
  text-transform:uppercase;
}
#login-overlay .lg-login-head h1{
  margin:0;
  color:var(--brand-white);
  font:800 34px/.95 'Poppins',sans-serif;
  letter-spacing:0;
}
#login-overlay .lg-login-head h1 span{color:var(--login-yellow);}
#login-overlay .lg-login-head>p:last-child{
  margin:8px 0 0;
  color:rgba(255,255,255,.56);
  font:500 12px/1.45 'Inter',sans-serif;
}
#login-overlay .lg-cta,
#login-overlay .lg-cta-box{
  display:block;
  width:100%;
  max-width:none;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  opacity:1;
  animation:none;
  backdrop-filter:none;
}
#login-overlay .lg-cta-label{text-align:left;}
#login-overlay .lg-btn{
  border-radius:10px;
  background:var(--login-yellow);
}
#login-overlay .login-footer{
  position:absolute;
  z-index:6;
  right:20px;
  bottom:16px;
  padding:0;
  text-align:right;
}
#login-overlay .login-footer-crumb,
@media (max-width:700px){
  #login-overlay{padding:18px 16px 58px;justify-content:center;overflow:hidden;}
  #login-overlay .lg-login-card{width:min(358px,calc(100vw - 32px));max-height:calc(100dvh - 92px);padding:19px 18px;}
  #login-overlay .lg-login-head{margin-bottom:13px;}
  #login-overlay .lg-login-head h1{font-size:30px;}
  #login-overlay .login-footer{right:16px;bottom:14px;}
  #login-overlay .login-footer-crumb{display:none;}
}
@media (max-height:720px){
  #login-overlay .lg-login-card{padding:16px 18px;}
  #login-overlay .lg-login-head{margin-bottom:10px;}
  #login-overlay .lg-login-head>p:last-child{display:none;}
  #login-overlay .lg-form{gap:6px;}
  #login-overlay .lg-links button{min-height:26px;padding:3px 0;}
}
@media (prefers-reduced-motion:reduce){
  #login-overlay .lg-evento{transition:none;}
}
body.mero-publico .ev-stats{display:none!important}
/* Identidade Forma — visão de consulta */
body.mero-publico .pub-brand{display:flex;align-items:center;gap:12px;min-height:48px;padding:6px 16px;margin:0 0 18px;border:1px solid rgba(255,255,255,.10);border-bottom:2px solid #FFED00;border-radius:14px;background:rgba(10,10,10,.72);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:#fff}
body.mero-publico .pub-brand i{width:1px;height:20px;background:rgba(255,255,255,.18)}
body.mero-publico .pub-logo-img{height:28px;width:auto;display:block;padding:2px 6px}
body.mero-publico .pub-sub{font:500 12px/1 Inter,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.72)}
body.mero-publico .ev-head h2{font-family:'Space Grotesk','Poppins',sans-serif;font-weight:700;letter-spacing:-.02em;line-height:1.1}
body.mero-publico .ev-head h2 em{font-style:normal;color:var(--accent,#FFDE00)}
[data-tema="claro"] body.mero-publico .ev-head h2 em{color:#1a1a1a;background:linear-gradient(transparent 60%,#FFED00 60%)}
body.mero-publico .ev-view-btn,body.mero-publico .ev-filtros select,body.mero-publico .ev-filtros input{border-radius:999px;min-height:40px}
body.mero-publico .ev-view-btn.ativo,body.mero-publico .ev-view-btn.active,body.mero-publico .ev-view-btn[aria-pressed="true"]{background:#FFED00;color:#0A0A0A;border-color:#FFED00}
body.mero-publico .ev-card{border-radius:14px;border-left:4px solid var(--ev-cor,#FFED00);font-variant-numeric:tabular-nums}
body.mero-publico .ev-ficha{border-radius:14px;font-variant-numeric:tabular-nums}
body.mero-publico .pub-foot{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;margin:28px 0 8px;padding:18px;border-top:1px solid rgba(127,127,127,.2);font:500 12px Inter,sans-serif;opacity:.8}
body.mero-publico .pub-foot .pub-logo-foot{height:22px;opacity:.9}
[data-tema="escuro"] body.mero-publico .pub-foot .pub-logo-foot,
body.mero-publico .pub-foot .pub-logo-foot.escuro{content:url('/brand/forma-horizontal-branco.png')}

/* Admin · Usuários com acesso: lista em uma coluna, linhas alinhadas e sem sobreposição */
#usuarios-lista{display:flex;flex-direction:column;gap:0;}
#usuarios-lista .usuario-linha{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px 16px;padding:10px 4px;border-bottom:1px solid var(--line-soft);flex-wrap:nowrap;}
#usuarios-lista .usuario-info{min-width:0;}
#usuarios-lista .usuario-nome{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
#usuarios-lista .usuario-acoes{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:nowrap;min-width:0;}
#usuarios-lista .usuario-acoes select{width:190px;max-width:100%;}
#usuarios-lista .usuario-acoes button{white-space:nowrap;flex-shrink:0;}
#usuarios-lista .usuario-marca{flex-shrink:0;}
#usuarios-lista .usuario-edicao{grid-column:1 / -1;}
#usuarios-lista .bloqueados-bloco{margin-top:14px;}
@media (max-width:720px){
  #usuarios-lista .usuario-linha{grid-template-columns:1fr;}
  #usuarios-lista .usuario-acoes{justify-content:flex-start;flex-wrap:wrap;}
  #usuarios-lista .usuario-acoes select{flex:1 1 160px;width:auto;}
}

/* Calendário anual: cabeçalho fixo + barra contínua com selo +N */
#ev-view-ano .ev-year-scroll{overscroll-behavior:contain; scrollbar-gutter:stable;}
.ev-year-table thead tr.ev-year-months th{position:sticky; top:0; z-index:40;}
.ev-year-table thead tr.ev-year-days th{position:sticky; top:34px; z-index:40;}
.ev-year-table thead th.ev-year-name{position:sticky; top:0; left:0; z-index:60;}
.ev-year-cell.ocupado > .ev-faixa{position:absolute; inset:9px -1px; display:block; min-height:0;}
.ev-year-cell.ocupado > .ev-faixa.inicio{left:3px;}
.ev-year-cell.ocupado > .ev-faixa.fim{right:3px;}
.ev-mais{position:absolute; z-index:3; top:50%; left:2px; transform:translateY(-50%); min-width:24px; height:20px; padding:0 5px; border:0; border-radius:999px; background:var(--brand-yellow); color:var(--brand-black); font:800 10px/1 Inter,sans-serif; font-variant-numeric:tabular-nums; cursor:pointer; box-shadow:0 0 0 2px var(--card-opaque); white-space:nowrap;}
.ev-mais:hover{filter:brightness(1.06);}
.ev-mais::before{content:""; position:absolute; inset:-12px -8px;}
.ev-mais:focus-visible{outline:2px solid var(--ink); outline-offset:2px;}
.ev-pop-dia{position:fixed; z-index:9000; width:min(300px,calc(100vw - 16px)); max-height:60vh; overflow:auto; padding:10px; border:1px solid rgba(255,255,255,.12); border-radius:14px; background:rgba(18,18,18,.92); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px); color:#f5f5f5; box-shadow:0 24px 48px -16px rgba(0,0,0,.6); animation:ev-pop .16s ease-out;}
.ev-pop-tit{margin:2px 6px 8px; color:#FFED00; font:800 10px/1.2 Inter,sans-serif; letter-spacing:.12em; text-transform:uppercase;}
.ev-pop-item{display:flex; gap:10px; width:100%; min-height:44px; padding:8px; border:0; border-radius:10px; background:transparent; color:inherit; text-align:left; cursor:pointer;}
.ev-pop-item:hover{background:rgba(255,255,255,.07);}
.ev-pop-item i{flex:0 0 4px; border-radius:4px; background:var(--ev-cor);}
.ev-pop-item b{display:block; font-size:13px;}
.ev-pop-item small{display:block; margin-top:2px; color:rgba(255,255,255,.62); font-size:11px;}
@keyframes ev-pop{from{opacity:0; transform:translateY(-4px)}to{opacity:1; transform:none}}
@media(prefers-reduced-motion:reduce){.ev-pop-dia{animation:none}}

/* Eventos: resumo em trilhos + expansão uma linha por evento */
.ev-faixas.ev-trilhos{inset:6px -1px; gap:2px;}
.ev-faixa-vazia{flex:1 1 0; min-height:4px;}
.ev-year-toggle{all:unset; display:flex; align-items:center; gap:8px; width:100%; cursor:pointer;}
.ev-year-toggle:focus-visible{outline:2px solid var(--brand-yellow); outline-offset:2px; border-radius:4px;}
.ev-year-txt{display:flex; flex-direction:column; min-width:0;}
.ev-year-seta{display:inline-grid; place-items:center; width:18px; height:18px; border-radius:999px; background:var(--brand-yellow); color:var(--brand-black); font-size:10px; flex:none; transition:transform .2s ease;}
.ev-year-grupo.aberto .ev-year-seta{transform:rotate(90deg);}
.ev-year-sub .ev-year-name{padding-left:34px;}
.ev-year-sub .ev-year-dest{font-size:11px; font-weight:600;}
.ev-year-sub .ev-faixas{inset:10px -1px;}
@media (prefers-reduced-motion:reduce){.ev-year-seta{transition:none;}}

/* Calendário anual — categorias, seções e barras contínuas de eventos */
.ev-cat-chips{display:flex; gap:8px; flex-wrap:wrap; margin:0 0 10px;}
.ev-cat-chips button{min-height:44px; padding:0 16px; border-radius:999px; border:1px solid var(--v10, rgba(255,255,255,.12)); background:transparent; color:inherit; font:600 14px/1 Inter,system-ui,sans-serif; cursor:pointer;}
.ev-cat-chips button small{opacity:.6; font-variant-numeric:tabular-nums; margin-left:4px;}
.ev-cat-chips button[aria-pressed="true"]{background:var(--brand-yellow); color:var(--brand-black); border-color:var(--brand-yellow);}
.ev-year-secao td{height:30px; background:var(--v04, rgba(255,255,255,.04));}
.ev-year-secao .ev-year-dest{text-transform:uppercase; letter-spacing:.12em; font-size:11px; color:var(--brand-yellow);}
.ev-barra-ini{position:relative; overflow:visible;}
.ev-barra{position:absolute; left:3px; z-index:1; height:22px; width:calc(var(--n) * (100% + 1px) - 6px); min-width:22px; padding:0 8px; border:0; border-radius:6px; background:var(--ev-cor); color:#fff; font:600 11px/22px Inter,system-ui,sans-serif; text-align:left; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; cursor:pointer; box-shadow:inset 3px 0 0 rgba(255,255,255,.45), 0 1px 2px rgba(0,0,0,.25); text-shadow:0 1px 1px rgba(0,0,0,.35); transition:transform .15s ease, filter .15s ease;}
.ev-barra span{display:block; overflow:hidden; text-overflow:ellipsis;}
.ev-barra:hover,.ev-barra:focus-visible{filter:brightness(1.1); transform:translateY(-1px); z-index:2; outline:none; box-shadow:0 0 0 2px var(--brand-yellow);}
@media (prefers-reduced-motion:reduce){.ev-barra{transition:none}.ev-barra:hover{transform:none}}
