/* KNSF Sistema v2.0.0-beta16 — estilos principais */

@media print {
  *{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;}
  body{margin:0;background:white;}

  /* Default: hide everything, show print-area (orçamento PDF) */
  .no-print{display:none!important;}
  #app,.tabs,header{display:none!important;}
  #print-area{display:block!important;}
  @page{margin:0;size:A4;}
  .pdf-page{page-break-after:avoid;box-shadow:none;}
  .pdf-table{page-break-inside:auto;}
  .pdf-table thead{display:table-header-group;}
  .pdf-table tbody tr{page-break-inside:avoid;}
  .pdf-bottom,.pdf-msg,.pdf-card{page-break-inside:avoid;}

  /* Relatórios PDF mode: body gets class rel-print */
  body.rel-print #print-area{display:none!important;}
  body.rel-print #app{display:block!important;}
  body.rel-print header{display:none!important;}
  body.rel-print .tabs{display:none!important;}
  body.rel-print .hd-right{display:none!important;}
  body.rel-print .page{display:none!important;}
  body.rel-print #pg-relatorios{display:block!important;}
  body.rel-print .rel-filters{display:none!important;}
  body.rel-print [onclick*="exportar"]{display:none!important;}
  body.rel-print .card{box-shadow:none!important;border:1px solid #eee!important;page-break-inside:avoid;}
  body.rel-print .rank-bar{background:var(--red)!important;}
  body.rel-print @page{margin:12mm 14mm;size:A4;}
  /* Contrato — A4 completo com margens adequadas */
  body.contrato-print #print-area{display:block!important;}
  body.contrato-print,
  body.contrato-print *{
    background:white!important;
  }
  body.contrato-print .pdf-page{
    font-family:Arial,sans-serif;
    width:auto!important;
    min-height:auto!important;
    background:white!important;
    padding:0!important;
  }
  body.contrato-print .pdf-page p{
    orphans:4;widows:4;
  }
  @page{
    margin:18mm 20mm;
    size:A4;
    /* Remove cabeçalho e rodapé automáticos do navegador */
    @top-left{content:none;}
    @top-center{content:none;}
    @top-right{content:none;}
    @bottom-left{content:none;}
    @bottom-center{content:none;}
    @bottom-right{content:none;}
  }
}
:root{
  --red:#cc1717;--red-d:#a81212;--red-light:#fdf0f0;
  --g50:#f7f7f7;--g100:#ebebeb;--g200:#d6d6d6;--g400:#999;--g600:#555;--g800:#2c2c2c;
  --r:10px;--sh:0 2px 14px rgba(0,0,0,.08);
}
*{box-sizing:border-box;margin:0;padding:0;}
body{font-family:'Segoe UI',system-ui,-apple-system,sans-serif;background:var(--g50);color:var(--g800);}
button{cursor:pointer;font-family:inherit;}
/* HEADER */
header{background:var(--red);color:white;display:flex;align-items:center;gap:12px;padding:11px 20px;position:sticky;top:0;z-index:100;box-shadow:0 2px 10px rgba(0,0,0,.25);}
header img{width:42px;height:42px;border-radius:8px;flex-shrink:0;object-fit:cover;}
.hd-title{font-size:16px;font-weight:700;}
.hd-sub{font-size:11px;opacity:.8;}
.hd-right{margin-left:auto;display:flex;gap:5px;flex-wrap:wrap;}
.hd-btn{background:rgba(255,255,255,.18);border:1.5px solid rgba(255,255,255,.4);color:white;border-radius:7px;padding:6px 10px;font-size:12px;font-weight:600;transition:background .15s;}
@media(max-width:600px){
  .hd-btn{font-size:11px;padding:5px 7px;}
  header{padding:9px 12px;gap:8px;}
  .hd-title{font-size:14px;}
  #sync-status{display:none;}
}
.hd-btn:hover{background:rgba(255,255,255,.3);}
.hd-btn.active{background:white;color:var(--red);border-color:white;}
/* TABS */
.tabs{display:flex;background:white;border-bottom:2px solid var(--g100);padding:0 12px;gap:2px;overflow-x:auto;-webkit-overflow-scrolling:touch;}
.tab{padding:10px 12px;font-size:13px;font-weight:600;color:var(--g400);border:none;background:none;border-bottom:2.5px solid transparent;margin-bottom:-2px;white-space:nowrap;transition:all .15s;}
.tab.active{color:var(--red);border-bottom-color:var(--red);}
.tab:hover:not(.active){color:var(--g800);}
/* PAGES */
.page{display:none;}.page.active{display:block;}
.container{max-width:820px;margin:0 auto;padding:20px 16px 80px;}
/* CARD */
.card{background:white;border-radius:var(--r);box-shadow:var(--sh);padding:20px 22px;margin-bottom:14px;}
.card-title{font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--red);border-bottom:1.5px solid var(--red-light);padding-bottom:10px;margin-bottom:16px;}
/* FORM */
.g2{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.g3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;}
@media(max-width:560px){.g2,.g3{grid-template-columns:1fr;}}
.full{grid-column:1/-1;}
.field{display:flex;flex-direction:column;gap:5px;}
.field label{font-size:11px;font-weight:700;color:var(--g400);letter-spacing:.04em;text-transform:uppercase;}
input,select,textarea{padding:9px 11px;border:1.5px solid var(--g100);border-radius:7px;font-size:14px;color:var(--g800);font-family:inherit;width:100%;background:white;transition:border-color .15s;}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--red);}
input[readonly]{background:var(--g50);color:var(--g400);cursor:default;}
textarea{min-height:56px;resize:none;}
/* ITENS */
.itens-hdr{display:grid;grid-template-columns:1fr 64px 70px 76px 30px;gap:5px;padding:0 4px 6px;font-size:10px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--g400);}
.item-row{display:grid;grid-template-columns:1fr 64px 70px 76px 30px;gap:5px;align-items:center;margin-bottom:7px;}
.item-row select,.item-row input{font-size:13px;}
.item-row input{text-align:center;}
@media(max-width:560px){
  /* Give sabor column more room — show full name */
  .item-row{grid-template-columns:2fr 48px 56px 64px 26px;gap:3px;}
  .item-row select{font-size:11px;padding:6px 4px;}
  .item-row input{font-size:12px;padding:6px 4px;}
  .itens-hdr{grid-template-columns:2fr 48px 56px 64px 26px;font-size:9px;gap:3px;}
  .itens-hdr span:first-child{font-size:9px;}
}
.itot{font-size:13px;font-weight:600;color:var(--g600);text-align:right;padding-right:2px;}
.rm-btn{background:none;border:none;color:var(--g200);font-size:18px;border-radius:5px;padding:3px 6px;transition:all .15s;}
.rm-btn:hover{color:var(--red);background:var(--red-light);}
.add-btn{margin-top:8px;padding:8px 14px;border:1.5px dashed var(--g200);border-radius:7px;background:none;font-size:13px;color:var(--g400);transition:all .15s;}
.add-btn:hover{border-color:var(--red);color:var(--red);background:var(--red-light);}
/* TOTAIS */
.totais{margin-top:14px;display:flex;flex-direction:column;align-items:flex-end;gap:7px;}
.trow{display:flex;gap:12px;align-items:center;}
.trow label{font-size:11px;font-weight:700;text-transform:uppercase;color:var(--g400);min-width:90px;text-align:right;}
.trow .tv{min-width:100px;text-align:right;font-size:14px;font-weight:600;color:var(--g600);}
.trow input{width:100px;text-align:right;font-size:14px;}
.trow.total{margin-top:4px;padding-top:10px;border-top:2px solid var(--red-light);}
.trow.total .tv{font-size:18px;font-weight:800;color:var(--red);}
.trow.total label{color:var(--red);font-weight:800;font-size:12px;}
/* CHIPS */
.chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:4px;}
.chip{display:flex;align-items:center;gap:6px;padding:7px 13px;border:1.5px solid var(--g100);border-radius:20px;font-size:13px;cursor:pointer;color:var(--g600);transition:all .15s;user-select:none;}
.chip input[type=checkbox]{display:none;}
.chip.on{border-color:var(--red);background:var(--red-light);color:var(--red);font-weight:700;}
/* BTNS */
.actions{display:flex;gap:8px;flex-wrap:wrap;}
@media(max-width:500px){
  .actions .btn-r{min-width:calc(50% - 4px);font-size:12px;padding:10px 10px;}
}
.btn-r{flex:1;min-width:140px;padding:12px 16px;background:var(--red);color:white;border:none;border-radius:var(--r);font-size:13px;font-weight:700;display:flex;align-items:center;justify-content:center;gap:7px;transition:opacity .15s;}
.btn-r:hover{opacity:.87;}
.btn-r.gray{background:var(--g100);color:var(--g600);}
.btn-r.outline{background:#fff;color:var(--red);border:1.5px solid var(--red);}
.btn-r.outline:hover{background:var(--red-light);opacity:1;}
.btn-r.gray:hover{background:var(--g200);opacity:1;}
/* LISTA */
.orc-item{display:flex;align-items:center;gap:12px;padding:13px 16px;border-bottom:1px solid var(--g100);cursor:pointer;transition:background .12s;}
.orc-item:last-child{border-bottom:none;}
.orc-item:hover{background:var(--g50);}
.orc-num{font-size:11px;font-weight:700;color:var(--red);min-width:46px;}
.orc-info{flex:1;}
.orc-nome{font-size:14px;font-weight:600;}
.orc-det{font-size:12px;color:var(--g400);margin-top:1px;}
.orc-val{font-size:15px;font-weight:700;text-align:right;}
.orc-data{font-size:11px;color:var(--g400);text-align:right;}
.orc-actions{display:flex;gap:5px;margin-left:6px;flex-wrap:wrap;justify-content:flex-end;}
.orc-btn{background:none;border:1.5px solid var(--g100);border-radius:6px;padding:5px 8px;font-size:12px;color:var(--g600);transition:all .15s;white-space:nowrap;}
.orc-btn:hover{border-color:var(--red);color:var(--red);background:var(--red-light);}
@media(max-width:560px){
  .orc-item{flex-wrap:wrap;gap:6px;}
  .orc-actions{width:100%;justify-content:flex-start;margin-left:0;}
  .orc-btn{font-size:11px;padding:4px 7px;}
  .orc-num{min-width:36px;}
}
/* DASHBOARD */
.dash-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:18px;}
@media(max-width:440px){.dash-grid{grid-template-columns:1fr;}}
.dash-card{background:white;border-radius:var(--r);box-shadow:var(--sh);padding:16px 18px;}
.dash-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--g400);margin-bottom:6px;}
.dash-val{font-size:26px;font-weight:800;color:var(--g800);}
.dash-val.red{color:var(--red);}
/* FILTROS */
.filtros{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px;align-items:flex-end;}
.filtros .field{flex:1;min-width:110px;}
.filtros select,.filtros input[type=date]{font-size:13px;padding:8px 10px;}
.btn-filtro{padding:8px 14px;background:var(--red);color:white;border:none;border-radius:7px;font-size:13px;font-weight:600;}
.btn-filtro.sec{background:var(--g100);color:var(--g600);}
/* PREÇOS */
.preco-row{display:flex;align-items:center;gap:10px;padding:8px 4px;border-bottom:1px solid var(--g100);font-size:13px;}
.preco-row:last-child{border-bottom:none;}
.preco-row.arquivado{opacity:.45;}
.preco-cat{font-size:10px;font-weight:700;text-transform:uppercase;color:var(--g400);margin:14px 0 6px;}
.preco-nome{flex:1;}
.preco-val input{width:80px;font-size:14px;font-weight:700;text-align:right;padding:6px 8px;}
.preco-badge{font-size:10px;padding:2px 7px;border-radius:10px;font-weight:700;background:var(--g100);color:var(--g400);}
.preco-badge.arq{background:#fff3cd;color:#856404;}
/* NOVO PRODUTO */
.novo-produto{display:flex;gap:8px;align-items:flex-end;margin-top:14px;padding-top:14px;border-top:1.5px dashed var(--g200);}
.novo-produto input,.novo-produto select{font-size:13px;}
/* COMBOS */
.combo-btns{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px;}
.combo-btn{
  padding:8px 16px;background:white;border:2px solid var(--red);
  border-radius:20px;font-size:13px;font-weight:700;color:var(--red);
  cursor:pointer;transition:all .15s;white-space:nowrap;
}
.combo-btn:hover{background:var(--red);color:white;}
/* COMBO EDITOR */
.combo-card{background:var(--g50);border:1px solid var(--g100);border-radius:var(--r);padding:14px 16px;margin-bottom:10px;}
.combo-card.inativo{opacity:.5;}
.combo-hdr{display:flex;align-items:center;gap:10px;margin-bottom:10px;}
.combo-hdr input[type=text]{font-size:14px;font-weight:700;flex:1;border:none;background:transparent;padding:0;color:var(--g800);}
.combo-hdr input[type=text]:focus{outline:none;border-bottom:1.5px solid var(--red);}
.combo-item-row{display:grid;grid-template-columns:1fr 70px 32px;gap:6px;align-items:center;margin-bottom:5px;}
.combo-item-row select{font-size:13px;}
.combo-item-row input{font-size:13px;text-align:center;}
.combo-desc-row{display:flex;align-items:center;gap:8px;margin-top:8px;padding-top:8px;border-top:1px dashed var(--g200);}
.combo-desc-row label{font-size:11px;font-weight:700;color:var(--g400);text-transform:uppercase;}
.combo-desc-row input{width:100px;font-size:14px;font-weight:700;color:var(--red);text-align:right;}
/* PRECOS SUB-TABS */
.sub-tabs{display:flex;gap:4px;margin-bottom:16px;border-bottom:2px solid var(--g100);padding-bottom:0;}
.sub-tab{padding:8px 14px;font-size:13px;font-weight:600;color:var(--g400);border:none;background:none;border-bottom:2.5px solid transparent;margin-bottom:-2px;cursor:pointer;transition:all .15s;}
.sub-tab.active{color:var(--red);border-bottom-color:var(--red);}

/* ── EVENTOS ── */
.ev-toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:14px;}
.ev-toolbar input,.ev-toolbar select{font-size:13px;padding:8px 10px;max-width:180px;}
.ev-table-wrap{overflow-x:auto;}
table.ev-table{width:100%;border-collapse:collapse;font-size:13px;min-width:800px;}
@media(max-width:600px){
  .ev-table-wrap{-webkit-overflow-scrolling:touch;}
  table.ev-table{font-size:11px;min-width:700px;}
  table.ev-table thead th{padding:7px 6px;font-size:9px;}
  table.ev-table tbody td{padding:7px 6px;}
}
table.ev-table thead tr{background:var(--red);color:white;}
table.ev-table thead th{padding:9px 10px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;cursor:pointer;user-select:none;}
table.ev-table thead th:hover{background:var(--red-d);}
table.ev-table tbody tr{border-bottom:1px solid var(--g100);transition:background .12s;cursor:pointer;}
table.ev-table tbody tr:hover{background:var(--red-light);}
table.ev-table tbody td{padding:9px 10px;white-space:nowrap;}
table.ev-table tbody td.wrap{white-space:normal;min-width:140px;}
.ev-id{font-size:11px;font-weight:700;color:var(--red);}
.ev-status{display:inline-block;padding:2px 9px;border-radius:12px;font-size:11px;font-weight:700;}
.ev-status.confirmado{background:#d4edda;color:#155724;}
.ev-status.realizado{background:#cce5ff;color:#004085;}
.ev-status.fechado{background:#d6d8d9;color:#383d41;}
.ev-status.cancelado{background:#f8d7da;color:#721c24;}
.ev-status.contrato{background:#fff3cd;color:#856404;}
.ev-status.pagamento{background:#d1ecf1;color:#0c5460;}
.ev-status.pendente{background:#eee;color:#555;}
/* DETALHE */
.det-back{display:flex;align-items:center;gap:8px;margin-bottom:16px;cursor:pointer;color:var(--red);font-weight:700;font-size:14px;background:none;border:none;padding:0;}
.det-back:hover{opacity:.75;}
.det-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px;}
@media(max-width:600px){.det-grid{grid-template-columns:1fr;}}
.det-card{background:white;border-radius:var(--r);box-shadow:var(--sh);padding:16px 18px;}
.det-card.full{grid-column:1/-1;}
.det-card-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--red);border-bottom:1.5px solid var(--red-light);padding-bottom:8px;margin-bottom:12px;}
.det-row{display:flex;gap:8px;margin-bottom:7px;font-size:13px;align-items:flex-start;}
.det-lbl{color:var(--g400);font-size:11px;font-weight:700;min-width:110px;text-transform:uppercase;letter-spacing:.03em;padding-top:1px;}
.det-val{flex:1;color:var(--g800);font-weight:500;}
.det-val input,.det-val select,.det-val textarea{font-size:13px;padding:5px 8px;width:100%;}
/* PEDIDO TABLE */
table.ped-table{width:100%;border-collapse:collapse;font-size:12px;}
table.ped-table th{background:var(--g50);color:var(--g400);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:6px 8px;text-align:left;border-bottom:2px solid var(--g100);}
table.ped-table th:nth-child(n+2){text-align:right;}
table.ped-table td{padding:6px 8px;border-bottom:1px solid var(--g100);font-size:13px;}
table.ped-table td:nth-child(n+2){text-align:right;}
table.ped-table tfoot td{font-weight:700;color:var(--red);border-top:2px solid var(--red-light);padding-top:8px;}
/* STATUS ACTIONS */
.status-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px;}
.etapa-btn{border:1.5px solid var(--g200);background:#fff;color:var(--g600);padding:7px 11px;border-radius:7px;font-size:12px;font-weight:700;cursor:pointer;transition:.15s;}
.etapa-btn:hover{border-color:var(--g400);}
.etapa-btn.active{background:#e8f5e9;border-color:#2e7d32;color:#1b5e20;box-shadow:inset 0 0 0 1px #2e7d32;}
.etapa-btn.cancelado.active{background:#f8d7da;border-color:#c62828;color:#721c24;}
/* MODAL */
.modal-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:200;align-items:center;justify-content:center;}
.modal-overlay.open{display:flex;}
.modal-overlay.visible{display:flex;}
.modal-box{background:white;border-radius:var(--r);padding:24px;max-width:480px;width:95%;max-height:90vh;overflow-y:auto;}
.modal-title{font-size:16px;font-weight:700;color:var(--g800);margin-bottom:16px;}
.modal-actions{display:flex;gap:8px;margin-top:20px;justify-content:flex-end;}
/* DASH EVENTOS */
.ev-dash{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:16px;}
@media(max-width:600px){.ev-dash{grid-template-columns:1fr 1fr;}}
.ev-dash-card{background:white;border-radius:var(--r);box-shadow:var(--sh);padding:14px 16px;}
.ev-dash-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--g400);margin-bottom:5px;}
.ev-dash-val{font-size:22px;font-weight:800;color:var(--g800);}
.ev-dash-val.red{color:var(--red);}

/* ── IMPORTAÇÃO ── */
.imp-sub-tabs{display:flex;gap:4px;margin-bottom:16px;border-bottom:2px solid var(--g100);}
.imp-sub-tab{padding:9px 16px;font-size:13px;font-weight:600;color:var(--g400);border:none;
  background:none;border-bottom:2.5px solid transparent;margin-bottom:-2px;cursor:pointer;transition:all .15s;}
.imp-sub-tab.active{color:var(--red);border-bottom-color:var(--red);}
.drop-zone{border:2.5px dashed var(--g200);border-radius:var(--r);padding:36px 20px;
  text-align:center;cursor:pointer;transition:all .2s;background:var(--g50);}
.drop-zone:hover,.drop-zone.dragover{border-color:var(--red);background:var(--red-light);}
.drop-zone p{font-size:14px;color:var(--g400);margin:8px 0 0;}
.drop-zone .drop-icon{font-size:36px;margin-bottom:8px;}
.drop-zone input[type=file]{display:none;}
.map-table{width:100%;border-collapse:collapse;font-size:13px;margin-top:14px;}
.map-table th{background:var(--g50);color:var(--g400);font-size:10px;font-weight:700;
  text-transform:uppercase;letter-spacing:.05em;padding:8px 10px;border-bottom:2px solid var(--g100);text-align:left;}
.map-table td{padding:8px 10px;border-bottom:1px solid var(--g100);vertical-align:middle;}
.map-table select{font-size:13px;padding:5px 8px;border:1.5px solid var(--g100);border-radius:6px;width:100%;}
.map-table .col-source{font-size:12px;color:var(--g600);font-weight:600;}
.map-table .col-sample{font-size:11px;color:var(--g400);max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
/* CRUZAMENTO */
.cross-row{display:flex;align-items:center;gap:10px;padding:10px 12px;
  border-bottom:1px solid var(--g100);font-size:13px;}
.cross-row:last-child{border-bottom:none;}
.cross-ev{flex:1;font-weight:600;}
.cross-form{flex:1;color:var(--g600);}
.cross-score{font-size:11px;padding:2px 8px;border-radius:10px;font-weight:700;flex-shrink:0;}
.cross-score.ok{background:#d4edda;color:#155724;}
.cross-score.warn{background:#fff3cd;color:#856404;}
.cross-score.none{background:#f8d7da;color:#721c24;}
.cross-select{width:100%;font-size:12px;padding:4px 6px;border:1.5px solid var(--g100);border-radius:5px;}
.imp-progress{background:var(--g100);border-radius:20px;height:8px;margin:12px 0;overflow:hidden;}
.imp-progress-bar{height:8px;background:var(--red);border-radius:20px;transition:width .3s;}
.imp-step{display:flex;align-items:center;gap:10px;padding:10px 0;font-size:13px;color:var(--g600);border-bottom:1px solid var(--g100);}
.imp-step:last-child{border-bottom:none;}
.imp-step-num{width:24px;height:24px;border-radius:50%;background:var(--g100);color:var(--g400);
  display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;flex-shrink:0;}
.imp-step-num.done{background:#d4edda;color:#155724;}
.imp-step-num.active{background:var(--red);color:white;}

/* ── ENDEREÇO AUTOCOMPLETE (Places API) ── */
.addr-suggestions{
  display:none;position:absolute;top:100%;left:0;right:0;z-index:50;
  background:white;border:1.5px solid var(--g100);border-radius:8px;
  box-shadow:0 6px 24px rgba(0,0,0,.12);margin-top:4px;
  max-height:260px;overflow-y:auto;
}
.addr-suggestions.show{display:block;}
.addr-suggestion-item{
  padding:10px 14px;font-size:13px;color:var(--g800);cursor:pointer;
  border-bottom:1px solid var(--g50);transition:background .12s;
  display:flex;align-items:flex-start;gap:8px;
}
.addr-suggestion-item:last-child{border-bottom:none;}
.addr-suggestion-item:hover,.addr-suggestion-item.active{background:var(--red-light);}
.addr-suggestion-icon{color:var(--g400);font-size:13px;margin-top:1px;flex-shrink:0;}
.addr-suggestion-main{font-weight:600;color:var(--g800);}
.addr-suggestion-sec{font-size:11px;color:var(--g400);margin-top:1px;}
.addr-loading{padding:10px 14px;font-size:12px;color:var(--g400);text-align:center;}

/* ── FRETE SUGERIDO ── */
.frete-badge{
  display:inline-flex;align-items:center;gap:6px;
  background:var(--red-light);color:var(--red);font-weight:700;
  padding:4px 10px;border-radius:14px;font-size:12px;cursor:pointer;
  border:1.5px solid transparent;transition:all .15s;
}
.frete-badge:hover{background:var(--red);color:white;}
.frete-badge .km{font-weight:400;opacity:.85;}

.ped-detalhes-wrap{margin-top:10px;padding-top:10px;border-top:1px solid var(--g100);}
.ped-toggle-btn{background:none;border:1.5px solid var(--g100);border-radius:7px;padding:7px 12px;font-size:12px;color:var(--g600);cursor:pointer;transition:all .15s;width:100%;text-align:left;}
.ped-toggle-btn:hover{border-color:var(--red);color:var(--red);background:var(--red-light);}
.ped-detalhes{margin-top:10px;}
.ped-origem{padding:10px;background:var(--g50);border-radius:7px;border:1px solid var(--g100);}
.ped-origem-title{font-size:12px;font-weight:700;color:var(--g600);margin-bottom:2px;}
.contrato-box{
  background:white;border-radius:var(--r);padding:20px;
  max-width:780px;width:96%;max-height:96vh;height:96vh;
  display:flex;flex-direction:column;
  box-shadow:0 8px 40px rgba(0,0,0,.25);
}
@media(max-width:600px){
  .contrato-box{width:100%;height:100%;max-height:100vh;border-radius:0;padding:12px;}
}
/* TOAST */
.preview-orc-box{
  background:white;border-radius:var(--r);padding:20px;
  max-width:900px;width:96%;
  max-height:96vh;height:96vh;
  display:flex;flex-direction:column;
  box-shadow:0 8px 40px rgba(0,0,0,.25);
}
/* Scale the PDF doc via zoom */
#modal-preview-orc-content .pdf-page{
  transform-origin:top center;
  width:210mm;
  flex-shrink:0;
  box-shadow:0 2px 16px rgba(0,0,0,.12);
}
.zoom-controls{
  display:flex;align-items:center;gap:4px;
  background:var(--g50);border-radius:8px;padding:4px;
  border:1.5px solid var(--g100);
}
.zoom-btn{
  width:30px;height:30px;border-radius:6px;border:none;background:white;
  color:var(--g600);font-size:16px;font-weight:700;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 1px 2px rgba(0,0,0,.08);transition:all .15s;
}
.zoom-btn:hover{background:var(--red-light);color:var(--red);}
.zoom-label{font-size:12px;font-weight:700;color:var(--g600);min-width:42px;text-align:center;}
@media(max-width:600px){
  .preview-orc-box{
    width:100%;height:100%;max-height:100vh;
    border-radius:0;padding:14px;
  }
  .zoom-controls{display:none;} /* mobile usa pinch-to-zoom nativo */
}
.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#1a8a3c;color:white;padding:12px 22px;border-radius:24px;font-size:14px;font-weight:600;box-shadow:0 4px 16px rgba(0,0,0,.2);opacity:0;transition:opacity .3s;pointer-events:none;z-index:999;white-space:nowrap;}
.toast.show{opacity:1;}
/* PRINT DOC */
/* ══ PDF / PRINT LAYOUT ══ */
#print-area{display:none;}
@media print{
  #print-area{display:block;}
  #app,.no-print{display:none!important;}
}

/* PDF page wrapper */
.pdf-page{
  width:210mm; min-height:297mm;
  margin:0 auto; padding:14mm 14mm 12mm;
  background:#fff; font-family:'Segoe UI',Arial,sans-serif;
  font-size:10pt; color:#222; position:relative;
  box-sizing:border-box;
}

/* ── HEADER (page 1) ── */
.pdf-hdr{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:10mm;padding-bottom:6mm;border-bottom:2px solid #cc1717;}
.pdf-hdr-left{display:flex;align-items:center;gap:10px;}
.pdf-hdr-logo{width:64px;height:64px;border-radius:8px;object-fit:cover;}
.pdf-hdr-brand{}
.pdf-hdr-brand h1{font-size:14pt;font-weight:800;color:#cc1717;margin:0 0 2px;line-height:1.1;}
.pdf-hdr-brand p{font-size:8.5pt;color:#666;margin:0 0 5px;font-style:italic;}
.pdf-hdr-brand .contacts{font-size:8pt;color:#555;display:flex;flex-wrap:wrap;gap:0 12px;}
.pdf-hdr-badge{background:#cc1717;color:white;border-radius:10px;padding:10px 16px;text-align:right;min-width:120px;flex-shrink:0;}
.pdf-hdr-badge .badge-label{font-size:7.5pt;text-transform:uppercase;letter-spacing:.06em;opacity:.85;margin-bottom:3px;}
.pdf-hdr-badge .badge-num{font-size:16pt;font-weight:800;line-height:1;}
.pdf-hdr-badge .badge-date{font-size:8pt;opacity:.9;margin-top:3px;}

/* ── COMPACT HEADER (page 2+) ── */
.pdf-hdr-compact{display:flex;justify-content:space-between;align-items:center;margin-bottom:7mm;padding-bottom:4mm;border-bottom:1.5px solid #cc1717;}
.pdf-hdr-compact-left{display:flex;align-items:center;gap:8px;}
.pdf-hdr-compact-logo{width:36px;height:36px;border-radius:6px;object-fit:cover;}
.pdf-hdr-compact-brand{font-size:10pt;font-weight:700;color:#cc1717;}
.pdf-hdr-compact-right{font-size:8.5pt;color:#666;text-align:right;}

/* ── CARDS ROW ── */
.pdf-cards{display:flex;gap:5mm;margin-bottom:7mm;}
.pdf-card{flex:1;border:1px solid #e8e0d8;border-radius:8px;padding:7px 10px;background:#fffdf9;page-break-inside:avoid;}
.pdf-card-title{font-size:7pt;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:#cc1717;margin-bottom:5px;padding-bottom:4px;border-bottom:1px solid #f0e8e0;}
.pdf-card-row{font-size:8.5pt;color:#333;margin-bottom:3px;display:flex;gap:4px;}
.pdf-card-lbl{color:#999;font-size:8pt;min-width:60px;}
.pdf-card-val{font-weight:600;flex:1;}

/* ── TABLE SECTION ── */
.pdf-section-title{font-size:11pt;font-weight:700;color:#cc1717;margin-bottom:4mm;margin-top:0;letter-spacing:-.2px;}
.pdf-table{width:100%;border-collapse:collapse;font-size:9pt;}
.pdf-table thead tr{background:#cc1717;}
.pdf-table thead th{color:white;padding:7px 9px;font-size:8.5pt;font-weight:700;text-transform:uppercase;letter-spacing:.04em;}
.pdf-table thead th:first-child{border-radius:6px 0 0 0;}
.pdf-table thead th:last-child{border-radius:0 6px 0 0;}
.pdf-table th:nth-child(2),.pdf-table td:nth-child(2){text-align:center;}
.pdf-table th:nth-child(3),.pdf-table td:nth-child(3),.pdf-table th:nth-child(4),.pdf-table td:nth-child(4){text-align:right;}
.pdf-table tbody td{padding:6px 9px;border-bottom:1px solid #f0ebe5;vertical-align:middle;}
.pdf-table tbody tr:nth-child(even) td{background:#fdfbf8;}
.pdf-table tbody tr:last-child td{border-bottom:2px solid #e8e0d8;}

/* ── BOTTOM BLOCKS ── */
.pdf-info-adicional{margin-top:5mm;padding:7px 11px;background:#fdfbf8;border:1px solid #e8e0d8;border-radius:8px;page-break-inside:avoid;}
.pdf-info-row{font-size:9.5pt;color:#444;margin-bottom:3px;}
.pdf-info-row:last-child{margin-bottom:0;}
.pdf-info-row strong{color:#cc1717;}
.pdf-bottom{display:flex;gap:5mm;margin-top:6mm;page-break-inside:avoid;}
.pdf-pgto-block{flex:1;border:1px solid #e8e0d8;border-radius:8px;padding:8px 11px;background:#fffdf9;}
.pdf-pgto-block .block-title{font-size:8pt;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#cc1717;margin-bottom:6px;padding-bottom:4px;border-bottom:1px solid #f0e8e0;}
.pdf-pgto-block ul{margin:0;padding-left:14px;}
.pdf-pgto-block li{font-size:8.5pt;color:#333;margin-bottom:3px;}
.pdf-resumo-block{flex:1;border:2px solid #cc1717;border-radius:8px;padding:8px 11px;background:#fff8f8;}
.pdf-resumo-block .block-title{font-size:8pt;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#cc1717;margin-bottom:6px;padding-bottom:4px;border-bottom:1px solid #f5d5d5;}
.pdf-resumo-row{display:flex;justify-content:space-between;font-size:8.5pt;color:#555;margin-bottom:4px;}
.pdf-resumo-row span:last-child{font-weight:600;color:#333;}
.pdf-resumo-total{display:flex;justify-content:space-between;margin-top:6px;padding-top:6px;border-top:1.5px solid #cc1717;}
.pdf-resumo-total span:first-child{font-size:10pt;font-weight:800;color:#cc1717;}
.pdf-resumo-total span:last-child{font-size:13pt;font-weight:800;color:#cc1717;}

/* ── MESSAGE ── */
.pdf-msg{margin-top:7mm;text-align:center;padding:8px 16px;border-top:1px solid #f0e8e0;page-break-inside:avoid;}
.pdf-msg p{font-size:9.5pt;color:#555;line-height:1.6;font-style:italic;margin:0;}
.pdf-msg p strong{color:#cc1717;font-style:normal;font-weight:700;}

/* ── FOOTER ── */
.pdf-footer{margin-top:8mm;padding-top:4mm;border-top:1px solid #e0d8d0;text-align:center;font-size:7.5pt;color:#aaa;}

/* ── RELATÓRIOS ── */
.rel-filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px;align-items:flex-end;}
.rel-filters select,.rel-filters input{font-size:13px;padding:8px 10px;}
.rel-filters .field{min-width:130px;}
.rel-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px;}
@media(max-width:700px){.rel-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:440px){.rel-grid{grid-template-columns:1fr;}}
.rel-kpi{background:white;border-radius:var(--r);box-shadow:var(--sh);padding:16px 18px;}
.rel-kpi-lbl{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--g400);margin-bottom:6px;}
.rel-kpi-val{font-size:24px;font-weight:800;color:var(--g800);}
.rel-kpi-val.red{color:var(--red);}
.rel-kpi-sub{font-size:11px;color:var(--g400);margin-top:3px;}
.rel-section{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--g400);margin:20px 0 10px;}
/* RANKING BARS */
.rank-row{display:flex;align-items:center;gap:10px;margin-bottom:8px;}
.rank-pos{font-size:11px;font-weight:700;color:var(--g400);min-width:20px;text-align:right;}
.rank-nome{font-size:13px;font-weight:600;flex:1;}
.rank-bar-wrap{flex:2;background:var(--g100);border-radius:4px;height:10px;overflow:hidden;}
.rank-bar{background:var(--red);height:10px;border-radius:4px;transition:width .4s;}
.rank-val{font-size:13px;font-weight:700;min-width:80px;text-align:right;}
.rank-sub{font-size:11px;color:var(--g400);min-width:60px;text-align:right;}
/* CROSS TABLE */
table.cross-table{width:100%;border-collapse:collapse;font-size:12px;}
table.cross-table th{background:var(--g50);color:var(--g400);font-size:10px;font-weight:700;text-transform:uppercase;padding:7px 10px;border-bottom:2px solid var(--g100);text-align:left;}
table.cross-table th:nth-child(n+2){text-align:right;}
table.cross-table td{padding:7px 10px;border-bottom:1px solid var(--g100);font-size:13px;}
table.cross-table td:nth-child(n+2){text-align:right;}
table.cross-table tfoot td{font-weight:700;border-top:2px solid var(--g200);}



/* ── BETA11: ESTADOS DE AÇÃO E SINCRONIZAÇÃO INTELIGENTE ── */
button:disabled{cursor:not-allowed;opacity:.62!important;}
.knsf-spinner{
  width:15px;height:15px;border:2px solid currentColor;border-right-color:transparent;
  border-radius:50%;display:inline-block;flex:0 0 auto;animation:knsf-spin .72s linear infinite;
}
@keyframes knsf-spin{to{transform:rotate(360deg)}}
.orc-action-status{
  min-height:22px;margin-top:7px;font-size:12px;font-weight:600;color:var(--g600);
  display:flex;align-items:center;justify-content:flex-start;gap:7px;
}
.orc-action-status:empty{min-height:0;margin-top:0;}
.orc-action-status.busy{color:#856404;}
.orc-action-status.ok{color:#1a8a3c;}
.orc-action-status.error{color:var(--red);}
.section-sync-row{
  display:flex;align-items:center;justify-content:flex-end;gap:9px;margin:-2px 2px 10px;
}
.section-sync-note{font-size:11px;color:var(--g400);line-height:1.25;}
.section-sync-note.syncing{color:#856404;}
.section-sync-note.ok{color:#1a8a3c;}
.section-sync-note.error{color:var(--red);}
.section-refresh-btn{
  min-height:34px;padding:7px 11px;border:1.5px solid var(--g200);border-radius:8px;
  background:#fff;color:var(--g600);font-size:12px;font-weight:700;display:inline-flex;
  align-items:center;justify-content:center;gap:6px;white-space:nowrap;
}
.section-refresh-btn:hover{border-color:var(--red);color:var(--red);background:var(--red-light);}
.ev-sync-note{margin-left:auto;}
.rel-action-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px;}
.rel-sync-row{margin:0;justify-content:flex-start;}
.rel-export-actions{display:flex;gap:8px;justify-content:flex-end;}


/* beta13 — quatro ações do orçamento, compactas e proporcionais */
#orc-main-actions .btn-r{flex:1 1 180px;}
@media(max-width:500px){#orc-main-actions .btn-r{flex:1 1 calc(50% - 4px);min-width:calc(50% - 4px);}}


/* ═══════════════════════════════════════════════════════════════
   KNSF Sistema beta13 — Etapa 4.4: modais, teclado e estabilidade
   ═══════════════════════════════════════════════════════════════ */
:root{
  --knsf-vv-height:100dvh;
  --knsf-vv-top:0px;
}
body.knsf-modal-open{overflow:hidden;overscroll-behavior:none;}
.modal-overlay{
  inset:auto 0 auto 0;
  top:var(--knsf-vv-top,0px);
  height:var(--knsf-vv-height,100dvh);
  max-height:var(--knsf-vv-height,100dvh);
  padding:max(10px,env(safe-area-inset-top)) max(10px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left));
  box-sizing:border-box;
  overflow:hidden;
}
.modal-box,.preview-orc-box,.contrato-box{
  max-height:calc(var(--knsf-vv-height,100dvh) - 20px);
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
}
.modal-box input:focus,.modal-box select:focus,.modal-box textarea:focus,
.contrato-box input:focus,.contrato-box select:focus,.contrato-box textarea:focus{
  scroll-margin-top:80px;
  scroll-margin-bottom:110px;
}

/* Preview do orçamento: escala real dentro de um palco estável.
   A página usa origem superior esquerda para nunca nascer deslocada. */
.preview-orc-toolbar{
  display:flex;justify-content:space-between;align-items:center;
  margin-bottom:12px;flex-wrap:wrap;gap:10px;flex:0 0 auto;
}
#preview-orc-title{font-size:15px;font-weight:700;color:var(--g800);min-width:0;overflow-wrap:anywhere;}
.preview-orc-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;}
.preview-orc-wrap{
  flex:1;min-height:0;overflow:auto;display:block;
  background:var(--g50);border-radius:8px;padding:16px;
  box-sizing:border-box;overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;touch-action:pan-x pan-y;
  scrollbar-gutter:stable both-edges;
}
.preview-orc-content{
  position:relative;display:block;flex:none;margin:0 auto;
  min-width:0;min-height:0;
}
#modal-preview-orc-content .pdf-page{
  position:absolute;top:0;left:0;margin:0!important;
  transform-origin:top left!important;
  transform:translateZ(0);
  will-change:transform;backface-visibility:hidden;
  flex:none;
}
.preview-orc-wrap.is-pinching{cursor:zoom-in;user-select:none;-webkit-user-select:none;}

/* Buscar Formulários: seleção explícita e segura. */
.forms-modal-box{
  max-width:760px;width:min(96%,760px);height:min(92vh,820px);
  display:flex;flex-direction:column;overflow:hidden;padding:0;
}
.forms-modal-head{
  display:flex;justify-content:space-between;align-items:center;
  gap:10px;flex-wrap:wrap;padding:18px 20px 14px;
  border-bottom:1px solid var(--g100);background:#fff;flex:0 0 auto;
}
.forms-modal-head-actions{display:flex;gap:8px;flex-wrap:wrap;}
.forms-loading{display:flex;align-items:center;justify-content:center;gap:8px;flex:1;padding:28px;color:var(--g400);font-size:14px;}
.forms-modal-content{flex:1;min-height:0;flex-direction:column;padding:14px 20px 0;overflow:hidden;}
.forms-filter-grid{display:grid;grid-template-columns:1fr auto;gap:8px;margin-bottom:10px;width:100%;}
.forms-filter-grid input,.forms-filter-grid select{font-size:13px;padding:8px 10px;border:1.5px solid var(--g100);border-radius:7px;box-sizing:border-box;}
.forms-filter-grid input{width:100%;}.forms-filter-grid select{white-space:nowrap;}
.forms-selection-toolbar{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;background:var(--g50);border:1px solid var(--g100);border-radius:8px;}
.forms-selection-toolbar strong{display:block;font-size:12px;color:var(--g800);}
.forms-selection-toolbar span{display:block;font-size:11px;color:var(--g400);margin-top:2px;}
.forms-selection-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end;}
.forms-mini-btn{border:1px solid var(--g200);background:#fff;color:var(--g600);border-radius:6px;padding:6px 8px;font-size:11px;font-weight:700;cursor:pointer;}
.forms-mini-btn:hover{border-color:var(--red);color:var(--red);}
.forms-help{font-size:12px;color:var(--g400);margin:9px 0 8px;}
.forms-lista{overflow-y:auto;flex:1;min-height:120px;padding-right:4px;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;}
.forms-card{border:1px solid var(--g100);border-radius:9px;padding:12px;margin-bottom:10px;background:#fff;transition:border-color .15s,background .15s,box-shadow .15s;}
.forms-card.selected{border-color:#2e7d32;background:#f5fbf6;box-shadow:0 0 0 1px rgba(46,125,50,.12);}
.forms-apply-toggle{display:flex;align-items:center;gap:8px;margin-bottom:10px;padding-bottom:9px;border-bottom:1px dashed var(--g100);cursor:pointer;font-size:12px;font-weight:800;color:var(--g600);}
.forms-apply-toggle input{accent-color:#2e7d32;}
.forms-link-row{display:flex;align-items:center;gap:8px;font-size:13px;}
.forms-link-row label{color:var(--g400);font-size:11px;font-weight:700;text-transform:uppercase;white-space:nowrap;}
.forms-link-row select{flex:1;min-width:0;font-size:13px;padding:7px 8px;border:1.5px solid var(--g100);border-radius:6px;background:#fff;}
.forms-error{color:var(--red);font-size:13px;padding:12px;margin:14px 20px;background:var(--red-light);border-radius:8px;}
.forms-modal-actions{margin:0;padding:12px 20px max(12px,env(safe-area-inset-bottom));border-top:1px solid var(--g100);background:#fff;flex:0 0 auto;}
.forms-apply-btn:disabled{opacity:.45;cursor:not-allowed;filter:grayscale(.2);}

@media(max-width:720px){
  .modal-overlay{padding:0;align-items:flex-end;}
  .modal-box{
    max-height:var(--knsf-vv-height,100dvh);
    border-radius:14px 14px 0 0;
    padding-bottom:max(16px,env(safe-area-inset-bottom));
  }
  body.knsf-keyboard-open .modal-overlay{align-items:flex-start;}
  body.knsf-keyboard-open .modal-box{border-radius:0;max-height:var(--knsf-vv-height,100dvh);}
  .preview-orc-box,.contrato-box{
    width:100%;height:var(--knsf-vv-height,100dvh);max-height:var(--knsf-vv-height,100dvh);
    border-radius:0;padding:12px max(10px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left));
  }
  .preview-orc-toolbar{align-items:flex-start;margin-bottom:10px;}
  #preview-orc-title{width:100%;font-size:15px;}
  .preview-orc-actions{width:100%;justify-content:flex-start;}
  .preview-orc-wrap{padding:10px;scrollbar-gutter:auto;}
  .forms-modal-box{width:100%;height:var(--knsf-vv-height,100dvh);max-height:var(--knsf-vv-height,100dvh);border-radius:0;}
  .forms-modal-head{padding:12px 14px 10px;align-items:center;min-height:0;}
  .forms-modal-head .modal-title{width:100%;font-size:18px;}
  /* As ações já ficam sempre acessíveis no rodapé. Remover a duplicação do topo
     libera área útil para visualizar mais respostas por vez. */
  .forms-modal-head-actions{display:none;}
  /* Busca, ordenação, resumo e cartões passam a participar do mesmo scroll. */
  .forms-modal-content{padding:10px 12px 0;overflow-y:auto!important;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;}
  .forms-modal-content.is-ready{display:block!important;}
  .forms-filter-grid{grid-template-columns:1fr;gap:7px;margin-bottom:8px;}
  .forms-filter-grid input,.forms-filter-grid select{min-height:44px!important;padding:8px 10px!important;}
  .forms-selection-toolbar{align-items:center;flex-direction:row;flex-wrap:wrap;padding:8px 10px;gap:7px;margin-bottom:6px;}
  .forms-selection-toolbar>div:first-child{flex:1 1 150px;}
  .forms-selection-actions{width:auto;justify-content:flex-start;gap:5px;}
  .forms-mini-btn{min-height:36px;padding:6px 8px;}
  .forms-help{margin:7px 0 8px;font-size:11px;line-height:1.35;}
  .forms-lista{overflow:visible;display:block;min-height:0;padding-right:0;}
  .forms-card{padding:10px;margin-bottom:8px;}
  .forms-apply-toggle{margin-bottom:8px;padding-bottom:8px;}
  .forms-link-row{align-items:stretch;flex-direction:column;gap:5px;}
  .forms-link-row label{white-space:normal;}
  .forms-modal-actions{padding:10px 12px max(10px,env(safe-area-inset-bottom));}
  .forms-modal-actions .btn-r{flex:1;max-width:none!important;}
}


/* ═══════════════════════════════════════════════════════════════
   KNSF Sistema beta15 — Etapa 4.5: Configurações como área principal
   ═══════════════════════════════════════════════════════════════ */
.ev-toolbar-actions{display:flex;align-items:stretch;gap:8px;margin-left:auto;}
.ev-toolbar-actions .ev-action-btn{
  flex:0 0 auto!important;max-width:none!important;min-width:0!important;min-height:38px;
  padding:8px 13px;border-radius:8px;font-size:12px;line-height:1.1;white-space:nowrap;margin:0;
}
.ev-toolbar-actions .ev-action-new{background:var(--red);}
.ev-toolbar-actions .ev-action-forms{background:#1a73e8;}
.ev-toolbar-actions .ev-action-refresh{background:#fff;}
.ev-toolbar>.ev-sync-note{flex-basis:100%;margin-left:0;text-align:right;}

.config-page-shell{max-width:980px;margin:0 auto;padding:22px 16px 92px;}
.config-page-head{
  display:flex;align-items:flex-start;justify-content:space-between;gap:18px;
  margin-bottom:14px;padding:2px 2px 0;
}
.config-page-title{font-size:22px;font-weight:800;color:var(--g800);margin:0 0 4px;}
.config-page-head p{font-size:12px;color:var(--g400);margin:0;line-height:1.45;}
.config-page-summary{
  flex:0 0 auto;max-width:46%;padding:7px 10px;border:1px solid var(--g100);border-radius:999px;
  background:#fff;color:var(--g500);font-size:10px;font-weight:700;line-height:1.25;text-align:right;
  box-shadow:0 2px 7px rgba(0,0,0,.025);overflow-wrap:anywhere;
}
.config-page-content{padding:16px 18px 20px;background:#f7f7f8;border:1px solid #ececef;border-radius:14px;}
.config-feedback{display:none;margin-bottom:12px;padding:10px 12px;border-radius:8px;font-size:12px;line-height:1.45;background:#fff;border:1px solid var(--g100);}
.config-feedback:not(:empty){display:block;}
.config-feedback.ok{background:#eef9f1;border-color:#bfe4c8;color:#176b32;}
.config-feedback.error{background:#fff0f0;border-color:#f3c1c1;color:#9f1717;}
.config-feedback.warn{background:#fff8e5;border-color:#eed79a;color:#785a00;}
.config-feedback.busy{background:#f4f6fa;border-color:#d7dce5;color:#46536a;}
.config-section,.config-details{background:#fff;border:1px solid #e8e8eb;border-radius:12px;margin-bottom:12px;box-shadow:0 2px 8px rgba(0,0,0,.025);}
.config-section{padding:16px;}
.config-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:13px;}
.config-section-head>div{display:flex;align-items:flex-start;gap:10px;}
.config-section-icon{width:34px;height:34px;border-radius:9px;background:var(--red-light);display:flex;align-items:center;justify-content:center;font-size:17px;flex:0 0 auto;}
.config-section-head h3{font-size:14px;margin:1px 0 2px;color:var(--g800);}
.config-section-head p{font-size:11px;color:var(--g400);margin:0;line-height:1.35;}
.config-health-pill,.config-env-pill,.config-service-status{border-radius:999px;padding:5px 9px;font-size:10px;font-weight:800;white-space:nowrap;background:var(--g100);color:var(--g600);}
.config-health-pill.ok,.config-service-status.ok{background:#e5f6e9;color:#176b32;}
.config-health-pill.warn,.config-service-status.warn{background:#fff3cd;color:#7a5b00;}
.config-health-pill.error,.config-service-status.error{background:#fde7e7;color:#a21b1b;}
.config-env-pill.prod{background:#e5f6e9;color:#176b32;}.config-env-pill.homolog{background:#fff0db;color:#a65b00;}
.config-system-hero{display:flex;align-items:center;gap:11px;padding:11px 12px;border-radius:10px;background:linear-gradient(135deg,#fff5f5,#fff);border:1px solid #f3dede;margin-bottom:12px;}
.config-system-hero img{width:42px;height:42px;border-radius:9px;}
.config-system-name{display:flex;flex-direction:column;min-width:0;flex:1;}.config-system-name strong{font-size:15px;color:var(--red);}.config-system-name span{font-size:11px;color:var(--g400);margin-top:2px;}
.config-status-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;}
.config-status-item{padding:9px 10px;border:1px solid var(--g100);border-radius:8px;background:#fff;min-width:0;}
.config-status-item span{display:block;font-size:9px;font-weight:800;color:var(--g400);text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px;}
.config-status-item strong{display:block;font-size:12px;color:var(--g800);overflow-wrap:anywhere;}
.config-action-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px;}
.config-btn{min-height:36px;padding:8px 11px;border:1.5px solid var(--g200);border-radius:8px;background:#fff;color:var(--g600);font-size:11px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap;}
.config-btn:hover{border-color:var(--red);color:var(--red);background:var(--red-light);}
.config-btn.primary{background:var(--red);border-color:var(--red);color:#fff;}.config-btn.primary:hover{color:#fff;opacity:.88;}
.config-btn.secondary{background:var(--g100);border-color:var(--g100);color:var(--g600);}
.config-service-list{border:1px solid var(--g100);border-radius:9px;overflow:hidden;}
.config-service-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 11px;border-bottom:1px solid var(--g100);}.config-service-row:last-child{border-bottom:0;}
.config-service-row>div{min-width:0;}.config-service-row strong{display:block;font-size:12px;color:var(--g800);}.config-service-row span:not(.config-service-status){display:block;font-size:10px;color:var(--g400);margin-top:2px;overflow-wrap:anywhere;}
.config-details{overflow:hidden;}
.config-details>summary{list-style:none;cursor:pointer;padding:13px 15px;display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:13px;font-weight:800;color:var(--g800);}
.config-details>summary::-webkit-details-marker{display:none;}.config-details>summary::after{content:'⌄';font-size:16px;color:var(--g400);transition:transform .15s;}.config-details[open]>summary::after{transform:rotate(180deg);}
.config-details>summary span{display:flex;align-items:center;gap:7px;}.config-details>summary small{font-size:10px;font-weight:500;color:var(--g400);margin-left:auto;}
.config-details-body{border-top:1px solid var(--g100);padding:14px 15px 16px;}
.config-api-field{margin:0;}.config-api-field input{font-family:monospace;font-size:11px;}.config-api-field p{font-size:10px;color:var(--g400);margin:5px 0 0;overflow-wrap:anywhere;}.config-api-field p span{font-family:monospace;color:var(--g600);}
.config-input-action{display:flex;gap:8px;align-items:stretch;}.config-input-action input{flex:1;min-width:0;}
.config-integration-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px;}
.config-integration-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;border:1px solid var(--g100);border-radius:8px;padding:10px;}.config-integration-card>span{font-size:18px;}.config-integration-card strong{display:block;font-size:11px;}.config-integration-card small{display:block;font-size:9px;color:var(--g400);margin-top:2px;}.config-integration-card b{font-size:9px;color:#176b32;background:#e5f6e9;padding:4px 6px;border-radius:999px;}
.config-guide{margin-top:10px;border:1px dashed var(--g200);border-radius:8px;padding:9px 10px;}.config-guide summary{cursor:pointer;font-size:10px;font-weight:800;color:var(--g600);}.config-guide>div{font-size:10px;line-height:1.55;color:var(--g400);padding-top:8px;}
.config-helper{font-size:10px;color:var(--g400);line-height:1.45;margin:0 0 9px;}
.config-number-row{display:flex;gap:9px;align-items:flex-end;}.config-number-row .field{flex:1;margin:0;}.config-number-row input{font-size:14px;font-weight:800;}
.config-maintenance-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;}.config-maintenance-btn{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;text-align:left;gap:1px 8px;padding:11px;border:1px solid var(--g100);border-radius:9px;background:#fff;color:var(--g800);}.config-maintenance-btn>span{grid-row:1/3;font-size:20px;align-self:center;}.config-maintenance-btn strong{font-size:11px;}.config-maintenance-btn small{font-size:9px;color:var(--g400);}.config-maintenance-btn:hover{border-color:var(--red);background:var(--red-light);}
.config-warning{font-size:9px;color:#856404;background:#fff8e5;border-radius:7px;padding:7px 9px;margin:10px 0 0;}
.config-about-section{margin-bottom:0;background:linear-gradient(135deg,#fff,#fff6f6);}.config-about-copy{font-size:11px;line-height:1.55;color:var(--g600);}.config-about-copy strong{color:var(--red);}.config-about-copy span{display:block;font-size:9px;color:var(--g400);margin-top:5px;}

@media(max-width:720px){
  .config-page-shell{padding:13px 10px calc(var(--knsf-mobile-nav-h,68px) + 18px);}
  .config-page-head{display:block;margin-bottom:10px;padding:0 2px;}
  .config-page-title{font-size:19px;margin-bottom:3px;}.config-page-head p{font-size:10px;}
  .config-page-summary{display:block;max-width:none;width:max-content;margin-top:8px;padding:5px 8px;text-align:left;font-size:9px;}
  .config-page-content{padding:10px;border-radius:12px;}.config-section{padding:12px;}.config-section-head{margin-bottom:10px;}
  .config-status-grid{grid-template-columns:1fr 1fr;}.config-action-row{display:grid;grid-template-columns:1fr 1fr;}.config-action-row .config-btn{white-space:normal;min-height:42px;}
  .config-input-action{flex-direction:column;}.config-input-action .config-btn{width:100%;min-height:42px;}
  .config-integration-grid,.config-maintenance-grid{grid-template-columns:1fr;}.config-number-row{align-items:stretch;flex-direction:column;}.config-number-row .config-btn{min-height:42px;}
  .config-details>summary{padding:12px;}.config-details>summary small{display:none;}.config-details-body{padding:12px;}
  .ev-toolbar-actions{width:100%;margin-left:0;display:grid;grid-template-columns:1fr 1.35fr 1fr;gap:8px;}
  .ev-toolbar-actions .ev-action-btn{width:100%;min-height:44px!important;padding:8px 6px;white-space:normal;font-size:11px;}
  .ev-toolbar>.ev-sync-note{text-align:right;}
}
@media(max-width:390px){
  .config-status-grid{grid-template-columns:1fr;}.config-action-row{grid-template-columns:1fr;}
  .ev-toolbar-actions{grid-template-columns:1fr 1fr;}.ev-toolbar-actions .ev-action-refresh{grid-column:1/-1;}
}
