:root{--bg:#f5f6fb;--surface:#fff;--text:#242631;--muted:#697082;--line:#e2e5ee;--purple:#6e5bc7;--purple-dark:#5544a9;--blue:#147df5;--green:#168a45;--green-soft:#e2f5e9;--red:#bd3743;--red-soft:#fde7e9;--yellow:#9a6b00;--yellow-soft:#fff4cc;--shadow:0 10px 30px rgba(35,39,58,.08);--radius:16px}
*{box-sizing:border-box}html{color-scheme:light}body{margin:0;background:linear-gradient(180deg,#f3f1ff 0,var(--bg) 260px);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:inherit}.container{width:min(1480px,calc(100% - 32px));margin:0 auto}.site-header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.94);backdrop-filter:blur(16px);border-top:5px solid var(--purple);border-bottom:1px solid var(--line)}.header-inner{min-height:74px;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{display:flex;align-items:center;gap:11px;text-decoration:none}.brand-mark{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,var(--purple),var(--blue));font-size:20px}.brand strong,.brand small{display:block}.brand strong{font-size:18px}.brand small{color:var(--muted);font-size:11px;margin-top:2px}.main-nav{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.main-nav a{text-decoration:none;padding:10px 12px;border-radius:10px;color:#3f4350;font-size:14px;font-weight:700}.main-nav a:hover{background:#f0eefb;color:var(--purple-dark)}.flash-stack{margin-top:16px}.flash{padding:13px 16px;border:1px solid #cfd7e5;background:#fff;border-radius:12px;margin-bottom:10px}.flash.sucesso{border-color:#a9d9ba;background:#eefaf2;color:#116d36}.flash.erro{border-color:#e6b6bb;background:#fff1f2;color:#992f39}.hero{padding:62px 0 36px}.hero-grid{display:grid;grid-template-columns:1fr auto;gap:32px;align-items:center}.eyebrow{display:inline-block;color:var(--purple-dark);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;margin-bottom:8px}h1,h2,p{margin-top:0}h1{font-size:clamp(32px,4vw,54px);line-height:1.05;margin-bottom:14px;max-width:880px}.page-head h1,.admin-top h1,.login-card h1{font-size:clamp(30px,3vw,42px)}h2{font-size:24px;margin-bottom:0}.hero p,.page-head p,.section-heading p{color:var(--muted);line-height:1.6;max-width:760px}.freshness-card{min-width:245px;display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px;box-shadow:var(--shadow)}.freshness-card strong,.freshness-card small{display:block}.freshness-card small{color:var(--muted);margin-top:4px}.freshness-dot,.status-dot{width:12px;height:12px;border-radius:50%;background:#b8bdc9;flex:0 0 auto}.freshness-card.ok .freshness-dot,.status-dot.online{background:#27ae60;box-shadow:0 0 0 6px rgba(39,174,96,.12)}.freshness-card.atencao .freshness-dot{background:#f0a500}.freshness-card.erro .freshness-dot{background:#d94c58}.search-panel,.filter-card,.panel,.admin-status-card,.login-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.search-panel{padding:18px;display:grid;grid-template-columns:1fr auto 1fr .8fr auto;gap:12px;align-items:end}.field{display:flex;flex-direction:column;gap:7px}.field label{font-size:13px;color:#4a4f5d;font-weight:800}.field input,.field select,.editable-row input,.table-input{width:100%;min-height:44px;border:1px solid #d8dce7;background:#fff;border-radius:10px;padding:10px 12px;color:var(--text);font:inherit}.field input:focus,.field select:focus,.editable-row input:focus,.table-input:focus,.code-editor:focus{outline:2px solid rgba(110,91,199,.18);border-color:var(--purple)}.swap-icon{height:44px;display:grid;place-items:center;color:var(--purple);font-size:23px;font-weight:800}.button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:42px;padding:10px 15px;border:1px solid transparent;border-radius:10px;font-weight:800;font-size:14px;cursor:pointer;text-decoration:none;font-family:inherit}.button:disabled{opacity:.45;cursor:not-allowed}.button.primary{background:var(--blue);color:#fff}.button.success{background:var(--green);color:#fff}.button.warning{background:#e5a400;color:#251900}.button.danger{background:var(--red);color:#fff}.button.ghost{background:#fff;color:#464b59;border-color:var(--line)}.button.large{min-height:46px;padding-inline:22px}.button.full{width:100%}.metrics-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:18px}.metric-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px;box-shadow:0 6px 18px rgba(35,39,58,.05)}.metric-card span{color:var(--muted);font-size:13px;font-weight:700}.metric-card strong{display:block;font-size:30px;margin-top:7px}.section{margin-top:34px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:14px}.text-link{color:var(--blue);font-weight:800;text-decoration:none}.cards-list{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.offer-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:17px;box-shadow:0 6px 18px rgba(35,39,58,.05)}.offer-route{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px}.offer-route>div:last-child{text-align:right}.offer-route strong{display:block;font-size:18px}.region-label{color:var(--muted);font-size:11px;font-weight:700}.route-arrow{color:var(--purple);font-size:20px}.offer-meta{display:flex;flex-wrap:wrap;gap:7px;margin:16px 0}.offer-meta span{background:#f4f5f9;border-radius:999px;padding:5px 8px;font-size:11px;color:#565c6b}.offer-values{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;border-top:1px solid var(--line);padding-top:14px}.offer-values small,.offer-values strong{display:block}.offer-values small{color:var(--muted);font-size:10px;margin-bottom:5px}.status-badge,.run-status{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:4px 9px;border-radius:999px;background:#f0f1f5;font-size:11px;font-weight:900}.status-badge.excelente{background:var(--green-soft);color:#126b35}.status-badge.bom{background:var(--yellow-soft);color:#805c00}.status-badge.ruim{background:var(--red-soft);color:#9c303a}.status-badge.normal{background:#e9eefc;color:#385da8}.run-status.sucesso{background:var(--green-soft);color:#126b35}.run-status.sucesso_com_erros{background:var(--yellow-soft);color:#805c00}.table-wrap{overflow-x:auto;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 6px 18px rgba(35,39,58,.04)}table{width:100%;border-collapse:collapse}th,td{padding:12px 13px;text-align:left;border-bottom:1px solid var(--line);font-size:13px;vertical-align:middle;white-space:nowrap}th{background:#f8f9fc;color:#4c5261;font-size:12px;font-weight:900;position:sticky;top:0;z-index:1}tr:last-child td{border-bottom:0}.detail-row td{padding-top:7px;padding-bottom:10px;color:var(--muted);font-size:11px;background:#fcfcfe}.detail-row span{margin-right:20px}.page-head{padding:42px 0 18px}.filter-card{padding:18px}.filter-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}.filter-actions,.button-row,.form-footer{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.filter-actions{margin-top:16px}.form-footer{margin-top:14px;justify-content:flex-end}.pagination{display:flex;gap:6px;flex-wrap:wrap;margin-top:16px}.pagination a{min-width:38px;height:38px;display:grid;place-items:center;border:1px solid var(--line);background:#fff;border-radius:9px;text-decoration:none;font-weight:800}.pagination a.active{background:var(--purple);color:#fff;border-color:var(--purple)}.transfer-map{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.transfer-origin-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px;box-shadow:0 6px 18px rgba(35,39,58,.05)}.transfer-origin{display:inline-flex;background:#eeeafb;color:var(--purple-dark);padding:8px 11px;border-radius:10px;font-weight:900;margin-bottom:12px}.transfer-destinations{display:grid;gap:8px}.transfer-edge{display:flex;align-items:center;gap:10px;padding:9px 10px;background:#fafbfe;border:1px solid #eceef5;border-radius:10px}.transfer-edge strong,.transfer-edge small{display:block}.transfer-edge small{color:var(--muted);margin-top:2px}.edge-arrow{color:var(--purple);font-size:18px;font-weight:900}.two-columns,.rule-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.panel{padding:16px}.admin-shell{padding:34px 0 60px}.admin-top{display:flex;align-items:center;justify-content:space-between;gap:20px}.admin-top h1{margin-bottom:0}.admin-nav{display:flex;gap:8px;margin:18px 0;padding-bottom:14px;border-bottom:1px solid var(--line)}.admin-nav a{text-decoration:none;background:#fff;border:1px solid var(--line);padding:9px 12px;border-radius:9px;font-weight:800;font-size:13px}.admin-status-card{padding:18px;display:flex;align-items:center;justify-content:space-between;gap:18px}.admin-status-card>div:first-child{display:flex;align-items:center;gap:9px}.admin-status-card small{color:var(--muted)}.notice{padding:13px 15px;border-radius:11px;border:1px solid var(--line);margin-bottom:16px;line-height:1.5}.notice.warning{background:#fff9e8;border-color:#ead38a;color:#6f5200}.login-section{min-height:70vh;display:grid;place-items:center;padding:40px 16px}.login-card{width:min(460px,100%);padding:24px}.login-card form{display:grid;gap:15px}.editable-row{display:grid;grid-template-columns:2fr 1fr;gap:8px;margin-bottom:8px}.table-input{min-width:130px;min-height:38px;padding:7px 9px}.advanced-list,.log-grid{display:grid;gap:10px}.advanced-list summary,.log-grid summary{cursor:pointer;font-weight:900}.code-editor{width:100%;min-height:280px;margin-top:14px;border:1px solid #d8dce7;border-radius:10px;padding:12px;font-family:Consolas,"Courier New",monospace;line-height:1.45;resize:vertical}pre{max-height:520px;overflow:auto;margin:14px 0 0;padding:14px;border-radius:10px;background:#12151d;color:#d9dfeb;font-family:Consolas,"Courier New",monospace;font-size:12px;line-height:1.45;white-space:pre-wrap;word-break:break-word}.empty-state{background:#fff;border:1px dashed #cfd3de;border-radius:14px;padding:24px;color:var(--muted);text-align:center}.site-footer{margin-top:54px;padding:28px 0;color:var(--muted);font-size:12px;border-top:1px solid var(--line);background:rgba(255,255,255,.6)}code{font-family:Consolas,"Courier New",monospace}
@media(max-width:1180px){.filter-grid{grid-template-columns:repeat(3,1fr)}.cards-list{grid-template-columns:repeat(2,1fr)}}
@media(max-width:880px){.header-inner,.admin-status-card{align-items:flex-start;flex-direction:column}.header-inner{padding:12px 0}.hero-grid{display:flex;flex-direction:column}.freshness-card{width:100%}.search-panel{grid-template-columns:1fr 1fr}.swap-icon{display:none}.metrics-grid,.cards-list,.two-columns,.rule-grid,.transfer-map{grid-template-columns:1fr}.filter-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.container{width:min(100% - 20px,1480px)}.main-nav{width:100%;overflow-x:auto;flex-wrap:nowrap;padding-bottom:3px}.main-nav a{white-space:nowrap}.search-panel,.filter-grid{grid-template-columns:1fr}.offer-values{grid-template-columns:1fr 1fr}h1{font-size:34px}}

/* V2.3 — tabela pública de ofertas simplificada */
.offer-table-simple{min-width:760px}
.offer-table-simple th:nth-child(1){width:12%}
.offer-table-simple th:nth-child(2){width:32%}
.offer-table-simple th:nth-child(3){width:16%}
.offer-table-simple th:nth-child(4){width:20%}
.offer-table-simple th:nth-child(5){width:20%}
.offer-main-row td{padding-top:15px;padding-bottom:12px;font-size:14px}
.offer-detail-row td{padding:7px 13px 10px;font-size:11px;color:var(--muted);background:#fbfbfe}
.offer-detail-row span{display:inline-block;margin-right:24px}
.offer-detail-row strong{font-weight:700;color:#616878}
.offer-row-link{cursor:pointer}
.offer-row-link td{transition:background .2s ease}
.offer-row-link:hover td,
.offer-row-link:focus-within td{background:#f7f8ff}

a.offer-mobile-card-link{
    display:block;
    color:inherit;
    text-decoration:none;
}
.offer-mobile-card-link:hover .offer-mobile-card,
.offer-mobile-card-link:focus-visible .offer-mobile-card{
    box-shadow:0 8px 22px rgba(35,39,58,.10);
}


/* V2.4 — ofertas responsivas sem rolagem horizontal */
.offer-mobile-list{
    display:none;
}

.transfer-chain-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
}
.transfer-chain-card{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    background:#fff;
    border:1px solid var(--line);
    border-radius:14px;
    padding:16px 18px;
    box-shadow:0 6px 18px rgba(35,39,58,.05);
}
.transfer-chain-path{
    min-width:0;
    font-size:14px;
    font-weight:400;
    line-height:1.5;
    overflow-wrap:anywhere;
}
.transfer-chain-final{
    flex:0 0 auto;
    text-align:right;
    padding-left:16px;
    border-left:1px solid var(--line);
}
.transfer-chain-final small{
    display:block;
    color:var(--muted);
    font-size:10px;
    text-transform:uppercase;
    letter-spacing:.06em;
    margin-bottom:3px;
}
.transfer-chain-final strong{
    color:var(--purple-dark);
    font-size:16px;
    font-weight:400;
}
.conversions-page-head{
    padding-bottom:12px;
}
.conversions-page-head h1{
    margin-bottom:0;
}
.conversions-list-section{
    padding-bottom:12px;
}
.conversions-empty-state{
    grid-column:1 / -1;
}

@media(max-width:800px){
    .offer-desktop-wrap{
        display:none;
    }

    .offer-mobile-list{
        display:grid;
        gap:10px;
    }

    .offer-mobile-card{
        background:#fff;
        border:1px solid var(--line);
        border-radius:14px;
        overflow:hidden;
        box-shadow:0 5px 16px rgba(35,39,58,.05);
    }

    .offer-mobile-head{
        display:flex;
        align-items:flex-start;
        justify-content:space-between;
        gap:10px;
        padding:13px 13px 11px;
        border-bottom:1px solid var(--line);
    }

    .offer-mobile-route{
        min-width:0;
        display:flex;
        align-items:center;
        flex-wrap:wrap;
        gap:5px;
        line-height:1.3;
        font-size:15px;
    }

    .offer-mobile-head .status-badge{
        flex:0 0 auto;
    }

    .offer-mobile-grid{
        display:grid;
        grid-template-columns:1fr 1fr;
        gap:0;
        padding:0 13px;
    }

    .offer-mobile-field{
        min-width:0;
        padding:11px 7px 11px 0;
        border-bottom:1px solid #eef0f5;
    }

    .offer-mobile-field:nth-child(3){
        padding-left:10px;
        border-left:1px solid #eef0f5;
    }

    .offer-mobile-class{
        grid-column:1 / -1;
        padding-right:0;
    }

    .offer-mobile-field small,
    .offer-mobile-field strong{
        display:block;
    }

    .offer-mobile-field small{
        color:var(--muted);
        font-size:10px;
        margin-bottom:3px;
    }

    .offer-mobile-field strong{
        font-size:13px;
        line-height:1.35;
        overflow-wrap:anywhere;
    }

    .offer-mobile-meta{
        display:grid;
        grid-template-columns:1fr 1fr;
        gap:8px 12px;
        padding:10px 13px 12px;
        background:#fafbfe;
    }

    .offer-mobile-meta div{
        min-width:0;
    }

    .offer-mobile-meta span,
    .offer-mobile-meta strong{
        display:block;
    }

    .offer-mobile-meta span{
        color:var(--muted);
        font-size:9px;
        text-transform:uppercase;
        letter-spacing:.04em;
        margin-bottom:2px;
    }

    .offer-mobile-meta strong{
        color:#5f6675;
        font-size:10px;
        line-height:1.35;
        overflow-wrap:anywhere;
    }

    .offer-mobile-conversion{
        grid-column:1 / -1;
    }

    .transfer-chain-grid{
        grid-template-columns:1fr;
    }

    .transfer-chain-card{
        align-items:flex-start;
        flex-direction:column;
        gap:10px;
    }

    .transfer-chain-final{
        width:100%;
        text-align:left;
        padding:9px 0 0;
        border-left:0;
        border-top:1px solid var(--line);
    }
}

@media(max-width:560px){
    /* No celular, o menu quebra em 2 colunas em vez de exigir scroll lateral. */
    .main-nav{
        display:grid;
        grid-template-columns:repeat(2,minmax(0,1fr));
        width:100%;
        overflow:visible;
        gap:6px;
    }
    .main-nav a{
        white-space:normal;
        text-align:center;
        padding:9px 8px;
        border:1px solid var(--line);
        background:#fff;
    }
}

/* V2.6 — identidade EXTII Trip e controle público do monitor */
.brand strong{
    font-family:Montserrat,Inter,ui-sans-serif,system-ui,sans-serif;
}

.home-hero-title{
    max-width:720px;
    font-size:clamp(22px,2.2vw,32px);
    line-height:1.18;
}

.trip-start-form{
    margin:0;
}

.trip-start-button{
    min-height:40px;
    padding:9px 14px;
    border:1px solid #11753b;
    border-radius:10px;
    background:var(--green);
    color:#fff;
    font:800 13px/1 Montserrat,Inter,ui-sans-serif,system-ui,sans-serif;
    cursor:pointer;
    white-space:nowrap;
}

.trip-start-button:hover{
    background:#11753b;
}

.trip-start-button:focus-visible{
    outline:3px solid rgba(22,138,69,.24);
    outline-offset:2px;
}

.flash.info{
    border-color:#b9c9ec;
    background:#f1f5ff;
    color:#31558e;
}

@media(max-width:560px){
    .home-hero-title{
        font-size:22px;
    }

    .trip-start-form,
    .trip-start-button{
        width:100%;
    }

    .trip-start-form{
        grid-column:1 / -1;
    }
}

/* V2.7 — resumo compacto e oferta pública compartilhada */
.home-hero-grid{
    grid-template-columns:minmax(0,1fr) minmax(560px,650px);
    gap:28px;
}

.home-summary-card{
    min-width:0;
    display:grid;
    grid-template-columns:minmax(175px,.9fr) minmax(340px,1.6fr);
    gap:16px;
    padding:14px 16px;
}

.home-freshness{
    display:flex;
    align-items:center;
    gap:12px;
    min-width:0;
}

.home-summary-metrics{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    align-items:stretch;
    border-left:1px solid var(--line);
}

.home-summary-metric{
    display:flex;
    min-width:0;
    padding:1px 11px;
    flex-direction:column;
    justify-content:center;
}

.home-summary-metric + .home-summary-metric{
    border-left:1px solid var(--line);
}

.home-summary-metric span{
    color:var(--muted);
    font-size:10px;
    font-weight:700;
    line-height:1.2;
}

.home-summary-metric strong{
    margin-top:4px;
    font-size:20px;
    line-height:1;
}

@media(max-width:1180px){
    .home-hero-grid{
        display:flex;
        align-items:stretch;
        flex-direction:column;
    }

    .home-summary-card{
        width:100%;
    }
}

@media(max-width:620px){
    .home-summary-card{
        grid-template-columns:1fr;
        gap:12px;
    }

    .home-summary-metrics{
        padding-top:12px;
        border-top:1px solid var(--line);
        border-left:0;
    }

    .home-summary-metric{
        padding-inline:9px;
    }

    .home-summary-metric:first-child{
        padding-left:0;
    }

    .home-summary-metric:last-child{
        padding-right:0;
    }

    .home-summary-metric strong{
        font-size:18px;
    }
}
