:root{--ev-navy:#111a4d;--ev-blue:#0aa7df;--ev-muted:#64748b;--ev-line:rgba(17,26,77,.14);--ev-shadow:0 30px 90px rgba(17,26,77,.28)}
.toolbar{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:16px}.toolbar h2{font-size:20px;line-height:1.2}.toolbar p,.filter-chip{color:var(--ev-muted);font-size:13px;line-height:1.45}.modal-toggle{position:absolute;opacity:0;pointer-events:none}.modal{position:fixed;inset:0;z-index:80;display:none;align-items:flex-start;justify-content:center;padding:48px 18px;background:rgba(15,23,42,.46);backdrop-filter:blur(4px);overflow:auto}.modal-toggle:checked+.modal{display:flex}.modal-card{width:min(980px,100%);border:1px solid rgba(17,26,77,.16);border-radius:16px;background:rgba(255,255,255,.98);box-shadow:var(--ev-shadow);padding:20px}.modal-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:14px}.modal-head h2{margin:0;color:#172855;font-size:22px;line-height:1.2}.modal-head p{font-size:13px;line-height:1.45}.modal-close{border:0;background:rgba(15,23,42,.07);color:#172855;border-radius:10px;min-width:38px;width:38px;height:38px;font-size:24px;line-height:1;cursor:pointer}.actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.small-btn{padding:8px 10px;font-size:13px;min-height:37px}.inline-form:not([hidden]){display:inline}.empty-actions{display:flex;justify-content:center;padding:18px;color:var(--ev-muted)}.table-wrap table{font-size:14px}.table-wrap th{white-space:nowrap}.table-wrap td{vertical-align:top}.field label{font-size:12px;letter-spacing:.01em}.field input,.field select,.field textarea{font-size:14px}.btn{min-height:43px}.btn.alt{min-height:43px}
@media(max-width:760px){.toolbar{align-items:stretch}.toolbar>div:first-child{width:100%}.toolbar .actions{width:100%;display:grid;grid-template-columns:1fr 1fr}.toolbar .btn{width:100%}.modal{padding:18px 10px;align-items:stretch}.modal-card{border-radius:14px;padding:16px}.modal-head h2{font-size:19px}.modal-head p{font-size:12px}.table-wrap table{min-width:760px;font-size:13px}.small-btn{font-size:12px}.actions{gap:6px}.page{padding:12px}.card{padding:14px}}
@media(min-width:1200px){.toolbar h2{font-size:22px}.modal-card{padding:22px}.table-wrap table{font-size:14px}}


/* Fase 3 - mapa privado e detalhe de containers */
.container-map-shell{position:relative;min-height:calc(100vh - 150px);border:1px solid var(--line);border-radius:22px;overflow:hidden;background:#dceef8;box-shadow:0 28px 80px rgba(17,26,77,.13)}.container-map-canvas{position:absolute;inset:0;z-index:1;min-height:680px}.container-map-panel{position:relative;z-index:3;width:min(410px,calc(100% - 28px));margin:14px 14px 14px auto;display:grid;gap:12px;pointer-events:none}.container-map-card{pointer-events:auto;border:1px solid rgba(255,255,255,.74);border-radius:18px;background:rgba(255,255,255,.94);box-shadow:0 18px 44px rgba(17,26,77,.14);padding:16px;backdrop-filter:blur(14px)}.container-map-card h2,.container-map-card h3{margin:8px 0 6px;color:var(--navy);line-height:1.1}.container-map-card p{margin:0;color:#475569;font-size:13px;line-height:1.45}.map-kicker{display:inline-flex;align-items:center;gap:8px;color:var(--blue);font-size:11px;font-weight:950;letter-spacing:.08em;text-transform:uppercase}.map-kicker:before{content:"";width:26px;height:4px;border-radius:999px;background:var(--blue)}.map-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:14px}.map-stats div{border:1px solid var(--line);border-radius:13px;background:#f8fbff;padding:10px}.map-stats span{display:block;color:#64748b;font-size:10px;font-weight:950;text-transform:uppercase}.map-stats strong{display:block;margin-top:5px;color:var(--navy);font-size:22px}.map-filter-form{display:grid;grid-template-columns:1fr;gap:10px}.container-map-list{max-height:360px;overflow:auto}.map-list-items{display:grid;gap:8px}.map-list-item{padding:11px 12px;border:1px solid var(--line);border-radius:13px;background:#fff}.map-list-item strong{display:flex;justify-content:space-between;gap:8px;color:var(--ink);font-size:14px}.map-list-item strong span{color:var(--blue);font-size:11px;text-transform:uppercase}.map-list-item p,.map-list-item small{display:block;margin:4px 0 0;color:#64748b;font-weight:750;line-height:1.35}.map-list-item a,.container-popup a{display:inline-flex;margin-top:8px;color:var(--blue);font-size:12px;font-weight:900}.map-empty{padding:14px;border:1px dashed var(--line);border-radius:14px;background:#fbfdff;color:#64748b;font-weight:800}.container-marker{display:grid;place-items:center;width:36px;height:36px;border:3px solid #fff;border-radius:999px;background:var(--blue);box-shadow:0 10px 24px rgba(17,26,77,.28);color:#fff;font-size:12px;font-weight:950}.container-marker.vendido,.container-marker.inativo{background:#64748b}.container-marker.alugado{background:#7c3aed}.container-marker.reservado{background:#f59e0b}.container-marker.em_transporte{background:#2563eb}.container-popup strong{display:block;color:var(--navy);font-size:15px;margin-bottom:5px}.container-popup span{display:block;color:#475569;font-size:12px;font-weight:750;line-height:1.4}.container-popup ul{margin:8px 0 0;padding-left:16px;color:#64748b;font-size:12px}.detail-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:16px;margin-bottom:16px}.detail-hero{display:flex;justify-content:space-between;align-items:center;gap:16px}.detail-hero h2{margin:8px 0 4px;color:var(--navy);font-size:30px}.detail-hero p,.detail-card p{margin:0;color:#64748b}.detail-status{border-radius:999px;background:rgba(10,167,223,.12);color:var(--navy);padding:10px 14px;font-weight:950;text-transform:uppercase;font-size:12px}.detail-card span{display:block;color:#64748b;font-size:12px;font-weight:950;text-transform:uppercase}.detail-card strong{display:block;margin:7px 0;color:var(--navy);font-size:18px}.detail-section{margin-bottom:16px}.detail-section h2{margin:0 0 14px;color:var(--navy)}.detail-columns{display:grid;grid-template-columns:1.2fr .8fr;gap:16px}.timeline{display:grid;gap:10px}.timeline-item{position:relative;padding:12px 12px 12px 18px;border:1px solid var(--line);border-radius:14px;background:#fff}.timeline-item:before{content:"";position:absolute;left:7px;top:16px;bottom:16px;width:3px;border-radius:999px;background:var(--blue)}.timeline-item strong{display:block;color:var(--navy)}.timeline-item p{margin:5px 0 0;color:#475569;font-size:13px;font-weight:750}.timeline-item small{display:block;margin-top:6px;color:#64748b}.compact-form{grid-template-columns:repeat(2,minmax(0,1fr))}.mini-list{display:grid;gap:8px;margin-top:12px}.mini-list>div{padding:10px 12px;border:1px solid var(--line);border-radius:13px;background:#fff}.mini-list strong,.mini-list span{display:block}.mini-list strong{color:var(--navy)}.mini-list span{margin-top:4px;color:#64748b;font-size:12px;font-weight:750}@media(max-width:1100px){.detail-grid{grid-template-columns:1fr 1fr}.detail-hero{grid-column:span 2}.detail-columns{grid-template-columns:1fr}.container-map-canvas{position:relative;height:560px}.container-map-panel{width:auto;margin:12px;grid-template-columns:1fr 1fr}.container-map-list{grid-column:span 2;max-height:none}}@media(max-width:720px){.container-map-shell{min-height:auto}.container-map-canvas{height:62vh;min-height:420px}.container-map-panel{grid-template-columns:1fr;margin:10px}.container-map-list{grid-column:auto}.map-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.map-stats strong{font-size:19px}.detail-grid{grid-template-columns:1fr}.detail-hero{grid-column:auto;align-items:flex-start;flex-direction:column}.detail-hero h2{font-size:24px}.compact-form{grid-template-columns:1fr}}


/* Fase 7 - acabamento visual corporativo
   Objetivo: reduzir aparencia amadora, remover excesso de cantos arredondados,
   sombras soltas, gradientes pesados e dar unidade visual as paginas. */
:root{
    --ev-bg:#f3f6fb;
    --ev-surface:#ffffff;
    --ev-surface-2:#f8fafc;
    --ev-border:#d8e0ea;
    --ev-border-strong:#c5cfdb;
    --ev-text:#172033;
    --ev-heading:#0f1b3d;
    --ev-muted-2:#5f6f85;
    --ev-primary:#12306b;
    --ev-primary-2:#0a79b8;
    --ev-success:#0b7a55;
    --ev-radius:8px;
    --ev-radius-sm:5px;
    --ev-shadow-soft:0 8px 22px rgba(15,27,61,.07);
}

html,body{
    background:var(--ev-bg)!important;
    color:var(--ev-text)!important;
}

body{
    background-image:none!important;
}

.app{
    background:var(--ev-bg)!important;
}

.sidebar{
    width:282px!important;
    background:#ffffff!important;
    border-right:1px solid var(--ev-border)!important;
    box-shadow:none!important;
    backdrop-filter:none!important;
    padding:18px 14px!important;
}

.brand{
    margin:0 0 18px!important;
    padding:12px 10px!important;
    border:1px solid var(--ev-border)!important;
    border-radius:var(--ev-radius)!important;
    background:#fff!important;
}

.brand img{
    width:min(188px,100%)!important;
}

.brand span{
    color:var(--ev-muted-2)!important;
    font-size:10px!important;
    letter-spacing:.10em!important;
}

.nav{
    gap:3px!important;
}

.nav a{
    border-radius:var(--ev-radius-sm)!important;
    padding:10px 11px!important;
    color:#22314a!important;
    font-size:13px!important;
    font-weight:750!important;
    border:1px solid transparent!important;
    background:transparent!important;
}

.nav a:hover{
    background:#f1f6fb!important;
    border-color:var(--ev-border)!important;
}

.nav a.active{
    background:#12306b!important;
    color:#fff!important;
    box-shadow:none!important;
    border-color:#12306b!important;
}

.ico{
    width:16px!important;
    height:16px!important;
}

.content{
    background:var(--ev-bg)!important;
}

.header{
    background:#ffffff!important;
    border-bottom:1px solid var(--ev-border)!important;
    backdrop-filter:none!important;
    box-shadow:none!important;
    padding:18px 30px!important;
}

.header h1{
    color:var(--ev-heading)!important;
    font-size:23px!important;
    font-weight:820!important;
    letter-spacing:-.02em!important;
}

.header p{
    color:var(--ev-muted-2)!important;
    font-size:13px!important;
}

.page{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
}

.page>.card,
.page>section.card,
.detail-section,
.container-map-shell{
    margin-bottom:16px!important;
}

.card,
.modal-card,
.container-map-card,
.map-list-item,
.timeline-item,
.mini-list>div,
.public-map-card,
.detail-card,
.detail-hero{
    border-radius:var(--ev-radius)!important;
    background:var(--ev-surface)!important;
    border:1px solid var(--ev-border)!important;
    box-shadow:var(--ev-shadow-soft)!important;
    backdrop-filter:none!important;
}

.card{
    padding:18px!important;
}

.toolbar{
    padding-bottom:12px!important;
    margin-bottom:14px!important;
    border-bottom:1px solid var(--ev-border)!important;
}

.toolbar h2,
.detail-section h2,
.container-map-card h2,
.container-map-card h3{
    color:var(--ev-heading)!important;
    font-weight:820!important;
    letter-spacing:-.01em!important;
}

.toolbar p,
.filter-chip,
.container-map-card p,
.detail-card p,
.timeline-item small,
.mini-list span{
    color:var(--ev-muted-2)!important;
}

.btn,
.cookie-accept{
    min-height:40px!important;
    border-radius:var(--ev-radius-sm)!important;
    background:#12306b!important;
    color:#fff!important;
    box-shadow:none!important;
    font-weight:780!important;
    padding:9px 13px!important;
    border:1px solid #12306b!important;
}

.btn:hover{
    background:#0d2555!important;
}

.btn.alt,
.modal-close{
    background:#fff!important;
    color:#12306b!important;
    border:1px solid var(--ev-border-strong)!important;
    box-shadow:none!important;
}

.btn.alt:hover,
.modal-close:hover{
    background:#f4f7fb!important;
}

.small-btn{
    min-height:34px!important;
    padding:7px 10px!important;
    font-size:12px!important;
}

.field label{
    color:#27364d!important;
    font-size:12px!important;
    font-weight:780!important;
}

.field input,
.field select,
.field textarea{
    border-radius:var(--ev-radius-sm)!important;
    background:#fff!important;
    border:1px solid var(--ev-border-strong)!important;
    min-height:40px!important;
    height:40px!important;
    font-size:14px!important;
}

.field textarea{
    min-height:88px!important;
}

.field input:focus,
.field select:focus,
.field textarea:focus{
    border-color:#0a79b8!important;
    box-shadow:0 0 0 3px rgba(10,121,184,.13)!important;
}

.table-wrap{
    border-radius:var(--ev-radius)!important;
    border:1px solid var(--ev-border)!important;
    background:#fff!important;
    box-shadow:none!important;
}

table{
    background:#fff!important;
}

th{
    background:#eef3f8!important;
    color:#24324a!important;
    font-size:11px!important;
    font-weight:850!important;
}

td{
    color:#263448!important;
}

th,td{
    padding:12px!important;
    border-bottom:1px solid #edf1f5!important;
}

tbody tr:hover td{
    background:#fafcff!important;
}

.kpis{
    gap:12px!important;
}

.kpi strong{
    color:var(--ev-heading)!important;
    font-size:25px!important;
    letter-spacing:-.02em!important;
}

.kpi span{
    color:var(--ev-muted-2)!important;
    font-size:12px!important;
    text-transform:uppercase!important;
    letter-spacing:.04em!important;
    font-weight:760!important;
}

.progress{
    height:8px!important;
    background:#e2e8f0!important;
}

.progress,
.progress i,
.detail-status,
.status-pill{
    border-radius:999px!important;
}

.progress i{
    background:#0a79b8!important;
}

.ok{
    border-radius:var(--ev-radius)!important;
    box-shadow:none!important;
}

.modal{
    background:rgba(15,23,42,.38)!important;
    backdrop-filter:none!important;
}

.modal-card{
    width:min(1040px,100%)!important;
}

.container-map-shell{
    border-radius:var(--ev-radius)!important;
    border:1px solid var(--ev-border)!important;
    box-shadow:var(--ev-shadow-soft)!important;
}

.container-map-panel{
    gap:10px!important;
}

.map-stats div,
.public-map-stat{
    border-radius:var(--ev-radius-sm)!important;
    background:#f8fafc!important;
    border:1px solid var(--ev-border)!important;
}

.map-empty,
.empty-actions{
    border-radius:var(--ev-radius)!important;
    color:var(--ev-muted-2)!important;
}

.timeline-item:before{
    background:#0a79b8!important;
    border-radius:2px!important;
}

.footer{
    margin-top:auto;
    padding:18px 24px;
    color:var(--ev-muted-2);
    font-size:12px;
    text-align:center;
}

.footer a{
    color:var(--ev-accent);
    font-weight:800;
    text-decoration:none;
}

.footer a:hover{
    text-decoration:underline;
}

.footer a:focus-visible{
    border-radius:3px;
    outline:3px solid rgba(10,167,223,.24);
    outline-offset:3px;
}

@media(max-width:1020px){
    .sidebar.open{
        box-shadow:0 20px 60px rgba(15,27,61,.18)!important;
    }
    .page{
        padding:18px!important;
    }
}

@media(max-width:760px){
    .header{
        padding:14px 16px!important;
    }
    .header h1{
        font-size:20px!important;
    }
    .page{
        padding:12px!important;
    }
    .card{
        padding:14px!important;
    }
    .toolbar{
        display:grid!important;
        grid-template-columns:1fr!important;
    }
    .toolbar .actions{
        grid-template-columns:1fr 1fr!important;
    }
}


/* Fase 7 - refinamento: paginas mais presas e menos "blocos soltos" */
.page{
    position:relative!important;
}

.page::before{
    content:""!important;
    display:block!important;
    height:1px!important;
    margin:-1px 0 0!important;
}

.page>section,
.page>.detail-grid,
.page>.detail-columns,
.page>.container-map-shell{
    border-radius:0!important;
}

.page>section.card:first-child,
.page>.card:first-child{
    border-top:3px solid #12306b!important;
}

.detail-grid,
.detail-columns,
.grid.kpis{
    gap:12px!important;
}

.detail-grid .card,
.detail-columns .card,
.grid.kpis .card{
    min-height:100%!important;
}

.detail-hero{
    border-left:4px solid #12306b!important;
}

.detail-status,
.status-pill{
    background:#e8eef7!important;
    color:#12306b!important;
    border:1px solid #cbd7e7!important;
}

.container-map-shell{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 398px!important;
    min-height:680px!important;
    background:#fff!important;
}

.container-map-canvas{
    position:relative!important;
    min-height:680px!important;
    border-right:1px solid var(--ev-border)!important;
}

.container-map-panel{
    width:auto!important;
    margin:0!important;
    padding:12px!important;
    background:#f8fafc!important;
    border-left:0!important;
    align-content:start!important;
}

.container-map-card{
    box-shadow:none!important;
}

.container-marker{
    border-radius:6px!important;
    border:2px solid #fff!important;
    box-shadow:0 4px 12px rgba(15,27,61,.22)!important;
}

.modal-card{
    border-top:3px solid #12306b!important;
}

.modal-close{
    border-radius:var(--ev-radius-sm)!important;
}

.avatar{
    border-radius:var(--ev-radius-sm)!important;
    box-shadow:none!important;
}

.cookie{
    border-radius:var(--ev-radius)!important;
    box-shadow:var(--ev-shadow-soft)!important;
}

.table-wrap{
    margin-top:12px!important;
}

.table-wrap td:last-child .actions{
    flex-wrap:nowrap!important;
}

.mini-list>div,
.timeline-item,
.map-list-item{
    box-shadow:none!important;
}

.timeline-item{
    border-left:3px solid #d8e0ea!important;
}

.timeline-item:before{
    display:none!important;
}

.form{
    gap:12px!important;
}

.field input[type="file"]{
    padding:8px 10px!important;
}

@media(max-width:1100px){
    .container-map-shell{
        display:block!important;
        min-height:auto!important;
    }
    .container-map-canvas{
        min-height:520px!important;
        border-right:0!important;
        border-bottom:1px solid var(--ev-border)!important;
    }
    .container-map-panel{
        display:grid!important;
        grid-template-columns:1fr 1fr!important;
    }
    .container-map-list{
        grid-column:1/-1!important;
    }
}

@media(max-width:720px){
    .container-map-canvas{
        min-height:430px!important;
    }
    .container-map-panel{
        grid-template-columns:1fr!important;
        padding:10px!important;
    }
    .table-wrap td:last-child .actions{
        flex-wrap:wrap!important;
    }
}


/* Fase 7 - logo limpa, modal centralizado e ajustes finais */
.brand{
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
}

.brand img{
    display:block!important;
    width:206px!important;
    max-width:100%!important;
    height:auto!important;
    aspect-ratio:691/142!important;
    object-fit:contain!important;
    object-position:center!important;
}

.modal{
    align-items:center!important;
    justify-content:center!important;
    padding:24px!important;
}

/* Modal de parcelamento aninhado ao lançamento financeiro. */
.modal[data-finance-installment-modal]:not([hidden]){
    display:flex;
    z-index:100;
}

.finance-installment-modal-card{
    width:min(760px,100%)!important;
    max-height:calc(100vh - 48px);
    display:flex;
    flex-direction:column;
    overflow:hidden!important;
    padding:24px!important;
}

.finance-installment-modal-card .modal-header{
    flex:0 0 auto;
    margin-bottom:20px;
}

.finance-installment-modal-card .modal-header h2{
    margin:0 0 6px;
    color:#172855;
    font-size:22px;
    line-height:1.2;
}

.finance-installment-modal-card .modal-header p{
    margin:0;
    color:var(--ev-muted);
    font-size:13px;
    line-height:1.45;
}

.finance-installment-modal-card .table-scroll{
    flex:1 1 auto;
    min-height:180px;
    max-height:min(62vh,620px);
    overflow:auto;
    overscroll-behavior:contain;
    border:1px solid var(--ev-border);
    border-radius:10px;
    background:#fff;
}

.finance-installment-modal-card table{
    width:100%;
    border-collapse:collapse;
    table-layout:auto;
}

.finance-installment-modal-card th,
.finance-installment-modal-card td{
    padding:10px 12px;
    vertical-align:middle;
}

.finance-installment-modal-card thead th{
    position:sticky;
    top:0;
    z-index:2;
    background:#edf3f8;
    box-shadow:0 1px 0 var(--ev-border);
}

.finance-installment-modal-card th:first-child{
    width:90px;
}

.finance-installment-modal-card th:last-child{
    width:210px;
    text-align:right;
}

.finance-installment-modal-card td:last-child{
    text-align:right;
}

.finance-installment-modal-card tbody tr+tr td{
    border-top:1px solid var(--ev-border);
}

.finance-installment-modal-card input[data-installment-due],
.finance-installment-modal-card input[data-installment-amount]{
    width:100%;
    min-height:42px;
    padding:9px 11px;
    border:1px solid var(--ev-border-strong);
    border-radius:8px;
    background:#fff;
    color:#172855;
    font:inherit;
    line-height:1.2;
    box-shadow:none;
    outline:none;
}

.finance-installment-modal-card input[data-installment-amount]{
    text-align:right;
}

.finance-installment-modal-card input[data-installment-due]:focus,
.finance-installment-modal-card input[data-installment-amount]:focus{
    border-color:#0a79b8;
    box-shadow:0 0 0 3px rgba(10,121,184,.14);
}

.finance-installment-modal-card .form-actions{
    flex:0 0 auto;
    display:flex;
    justify-content:flex-end;
    align-items:center;
    gap:10px;
    margin-top:20px;
    padding-top:18px;
    border-top:1px solid var(--ev-border);
}

.finance-entry-actions{
    width:100%;
    justify-content:space-between;
}

.modal.finance-date-range-modal:not([hidden]){
    display:flex;
    z-index:100;
}

.finance-date-range-card{
    width:min(620px,100%)!important;
    padding:24px!important;
}

.finance-date-range-field{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
    align-items:end;
    gap:14px;
    padding:14px;
    border:1px solid var(--ev-border-strong);
    border-radius:10px;
    background:#f8fbff;
}

.finance-date-range-field label{
    display:grid;
    gap:7px;
    min-width:0;
}

.finance-date-range-field label>span{
    color:#405678;
    font-size:11px;
    font-weight:850;
}

.finance-date-range-field input{
    width:100%;
    min-height:43px;
    padding:9px 11px;
    border:1px solid var(--ev-border-strong);
    border-radius:8px;
    background:#fff;
    color:#172855;
    font:inherit;
    outline:none;
}

.finance-date-range-field input:focus{
    border-color:#0a79b8;
    box-shadow:0 0 0 3px rgba(10,121,184,.14);
}

.finance-date-range-separator{
    display:grid;
    place-items:center;
    min-height:43px;
    color:#607089;
    font-size:12px;
    font-weight:850;
}

.finance-date-range-actions{
    display:flex;
    justify-content:flex-end;
    gap:10px;
    margin-top:20px;
    padding-top:18px;
    border-top:1px solid var(--ev-border);
}

.finance-row-actions-cell{
    width:116px;
    min-width:116px;
}

.finance-row-action-select{
    display:block;
    width:112px;
    min-width:112px;
    max-width:112px;
    min-height:36px;
    margin-left:auto;
    padding:6px 30px 6px 10px;
    border:1px solid var(--ev-border-strong);
    border-radius:8px;
    background:#fff;
    color:#172855;
    font:inherit;
    font-size:12px;
    font-weight:800;
    outline:none;
    cursor:pointer;
}

.finance-row-action-select:focus{
    border-color:#0a79b8;
    box-shadow:0 0 0 3px rgba(10,121,184,.14);
}

.finance-row-actions-cell .custom-select{
    width:112px!important;
    min-width:112px!important;
    max-width:112px!important;
    margin-left:auto!important;
    text-align:left!important;
}

.finance-row-actions-cell .custom-select-trigger{
    width:112px!important;
    min-width:112px!important;
    min-height:36px!important;
    height:36px!important;
    padding:6px 30px 6px 10px!important;
    border-radius:8px!important;
    font-size:12px!important;
    font-weight:800!important;
    text-align:left!important;
}

.finance-row-actions-cell .custom-select-menu{
    right:0!important;
    left:auto!important;
    width:112px!important;
    min-width:112px!important;
    padding:5px!important;
    text-align:left!important;
}

.finance-row-actions-cell .custom-select-option{
    min-height:32px!important;
    padding:7px 9px!important;
    border-radius:6px!important;
    font-size:12px!important;
    text-align:left!important;
}

.modal.finance-settlement-modal:not([hidden]){
    display:flex;
    z-index:100;
}

.finance-settlement-modal-card{
    width:min(820px,calc(100vw - 32px))!important;
    max-height:calc(100vh - 48px)!important;
    overflow:auto!important;
    padding:24px!important;
    text-align:left!important;
}

.finance-settlement-modal-card .modal-head{
    padding-bottom:18px!important;
    border-bottom:1px solid var(--ev-border)!important;
    text-align:left!important;
}

.finance-settlement-modal-card .modal-head h2{
    margin:0!important;
    color:#14213d!important;
    font-size:21px!important;
    line-height:1.2!important;
    text-align:left!important;
}

.finance-settlement-modal-card .modal-copy{
    margin:6px 0 0!important;
    color:#607089!important;
    font-size:13px!important;
    text-align:left!important;
}

.finance-settlement-modal-card .finance-settlement-form{
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:12px!important;
    margin-top:16px!important;
    text-align:left!important;
}

.finance-settlement-modal-card .finance-settlement-form .field{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-auto-flow:row!important;
    align-items:start!important;
    gap:6px!important;
    min-width:0!important;
    text-align:left!important;
}

.finance-settlement-modal-card .finance-settlement-form .field.wide{
    grid-column:span 2!important;
}

.finance-settlement-modal-card .finance-settlement-form label{
    display:block!important;
    grid-column:1!important;
    width:100%!important;
    margin:0!important;
    color:#40516a!important;
    font-size:11px!important;
    font-weight:850!important;
    line-height:1.2!important;
    text-align:left!important;
}

.finance-settlement-modal-card .finance-settlement-form .field>.custom-select{
    grid-column:1!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    margin:0!important;
}

.finance-settlement-modal-card .finance-settlement-form .custom-select-trigger{
    width:100%!important;
    height:42px!important;
    min-height:42px!important;
}

.finance-settlement-modal-card .finance-settlement-form input,
.finance-settlement-modal-card .finance-settlement-form select{
    width:100%!important;
    min-width:0!important;
    height:42px!important;
    min-height:42px!important;
    padding:8px 11px!important;
    border-radius:8px!important;
    font-size:13px!important;
    text-align:left!important;
}

.finance-settlement-actions{
    grid-column:1 / -1!important;
    display:flex;
    justify-content:flex-end;
    align-items:center;
    gap:10px;
    margin-top:2px;
    padding-top:14px;
    border-top:1px solid var(--ev-border);
}

.finance-account-modal-card{
    width:min(780px,calc(100vw - 32px))!important;
    max-height:calc(100dvh - 32px)!important;
    overflow:auto!important;
    padding:22px!important;
}

.finance-account-list{
    display:grid;
    gap:8px;
    max-height:180px;
    margin:16px 0;
    overflow:auto;
}

.finance-account-item{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:10px 12px;
    border:1px solid var(--ev-border);
    border-radius:8px;
    background:#f8fafc;
}

.finance-account-item div{
    display:grid;
    gap:3px;
}

.finance-account-item span{
    color:#607089;
    font-size:12px;
}

.finance-account-form{
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:12px!important;
    padding-top:16px;
    border-top:1px solid var(--ev-border);
}

.finance-account-form .field{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:6px!important;
    min-width:0;
}

.finance-account-form .field.wide{
    grid-column:span 2!important;
}

.finance-account-form label{
    display:block!important;
    margin:0!important;
}

.finance-account-form input,
.finance-account-form select,
.finance-account-form .custom-select,
.finance-account-form .custom-select-trigger{
    width:100%!important;
    min-width:0!important;
}

.finance-account-actions{
    grid-column:1 / -1!important;
    display:flex;
    justify-content:flex-end;
    gap:10px;
    padding-top:4px;
}

.finance-installments-editor:not([hidden]){
    display:block;
    margin-left:auto;
}

@media(max-width:760px){
    .finance-entry-actions{
        align-items:stretch;
    }

    .finance-entry-primary-actions,
    .finance-installments-editor:not([hidden]){
        width:100%;
    }

    .finance-installment-modal-card{
        padding:18px!important;
    }

    .finance-installment-modal-card th,
    .finance-installment-modal-card td{
        padding:9px;
    }

    .finance-installment-modal-card th:last-child{
        width:150px;
    }

    .finance-date-range-field{
        grid-template-columns:1fr;
        gap:10px;
    }

    .finance-date-range-separator{
        min-height:auto;
    }

    .finance-settlement-modal-card{
        padding:18px!important;
    }

    .finance-settlement-modal-card .finance-settlement-form{
        grid-template-columns:1fr 1fr!important;
    }

    .finance-settlement-modal-card .finance-settlement-form .field.wide{
        grid-column:1 / -1!important;
    }

    .finance-account-modal-card{
        padding:16px!important;
    }

    .finance-account-form{
        grid-template-columns:1fr 1fr!important;
    }
}

@media(max-width:520px){
    .finance-settlement-modal-card .finance-settlement-form{
        grid-template-columns:1fr!important;
    }

    .finance-settlement-modal-card .finance-settlement-form .field,
    .finance-settlement-modal-card .finance-settlement-form .field.wide{
        grid-column:1!important;
    }

    .finance-settlement-actions{
        display:grid!important;
        grid-template-columns:1fr 1fr!important;
    }

    .finance-account-form{
        grid-template-columns:1fr!important;
    }

    .finance-account-form .field,
    .finance-account-form .field.wide{
        grid-column:1!important;
    }

    .finance-account-actions{
        display:grid!important;
        grid-template-columns:1fr 1fr!important;
    }
}

.modal-card{
    max-height:calc(100vh - 48px)!important;
    overflow:auto!important;
    margin:auto!important;
}

@media(max-width:760px){
    .modal{
        align-items:flex-start!important;
        padding:12px!important;
    }
    .brand img{
        width:190px!important;
    }
}


/* Fase 7 - sidebar em subcategorias expansíveis */
.brand{
    margin-bottom:14px!important;
}

.brand span{
    display:none!important;
}

.sidebar{
    scrollbar-width:thin!important;
    scrollbar-color:#c8d2df transparent!important;
}

.sidebar::-webkit-scrollbar{
    width:6px!important;
}

.sidebar::-webkit-scrollbar-track{
    background:transparent!important;
}

.sidebar::-webkit-scrollbar-thumb{
    background:#c8d2df!important;
    border-radius:999px!important;
}

.sidebar::-webkit-scrollbar-thumb:hover{
    background:#9faec1!important;
}

.nav-tree{
    gap:6px!important;
}

.nav-dashboard{
    margin-bottom:4px!important;
}

.nav-group{
    border:1px solid var(--ev-border)!important;
    border-radius:7px!important;
    background:#fff!important;
    overflow:hidden!important;
}

.nav-group summary{
    list-style:none!important;
    cursor:pointer!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    min-height:38px!important;
    padding:9px 10px!important;
    color:#435169!important;
    font-size:11px!important;
    font-weight:850!important;
    letter-spacing:.08em!important;
    text-transform:uppercase!important;
    user-select:none!important;
}

.nav-group summary::-webkit-details-marker{
    display:none!important;
}

.nav-group summary::after{
    content:"+"!important;
    color:#718096!important;
    font-size:15px!important;
    font-weight:800!important;
    line-height:1!important;
}

.nav-group[open] summary{
    background:#f6f8fb!important;
    border-bottom:1px solid var(--ev-border)!important;
    color:#22314a!important;
}

.nav-group[open] summary::after{
    content:"–"!important;
}

.nav-sub{
    display:grid!important;
    gap:2px!important;
    padding:6px!important;
}

.nav-sub a{
    min-height:34px!important;
    padding:8px 9px 8px 13px!important;
    border-radius:5px!important;
    font-size:13px!important;
    font-weight:720!important;
    border:1px solid transparent!important;
    color:#263448!important;
    background:transparent!important;
}

.nav-sub a:hover{
    background:#eef4fa!important;
    border-color:#d8e0ea!important;
}

.nav-sub a.active{
    background:#12306b!important;
    color:#fff!important;
    border-color:#12306b!important;
}

.nav-tree>a{
    border:1px solid var(--ev-border)!important;
    background:#fff!important;
}

.nav-tree>a.active{
    background:#12306b!important;
    color:#fff!important;
}


/* Fase 7 - ajustes finos: SVGs, botoes, filtros e arquivos */
svg.ico,
.btn svg,
.submit svg,
.eye svg{
    display:block!important;
    flex:0 0 auto!important;
    stroke-linecap:round!important;
    stroke-linejoin:round!important;
}

.btn svg{
    width:16px!important;
    height:16px!important;
}

.actions{
    align-items:center!important;
}

.toolbar .actions{
    justify-content:flex-end!important;
}

.card>.actions,
.wide.actions{
    align-items:center!important;
}

.wide.actions{
    padding-top:4px!important;
}

.wide.actions .btn,
.toolbar .actions .btn,
.toolbar .actions label.btn{
    min-width:128px!important;
}

.card h2 + .form,
.detail-section h2 + .form{
    margin-top:12px!important;
}

input[type="file"]{
    cursor:pointer!important;
    padding:7px 10px!important;
    line-height:1.5!important;
}

input[type="file"]::file-selector-button{
    margin-right:12px!important;
    border:1px solid #c5cfdb!important;
    border-radius:5px!important;
    background:#eef3f8!important;
    color:#12306b!important;
    font-weight:780!important;
    padding:6px 10px!important;
    cursor:pointer!important;
}

input[type="file"]::file-selector-button:hover{
    background:#e3ebf5!important;
}

select{
    appearance:auto!important;
}

.filter-chip{
    display:inline-flex!important;
    align-items:center!important;
    min-height:24px!important;
}

.modal-head{
    align-items:center!important;
}

.modal-head .modal-close{
    flex:0 0 36px!important;
    min-width:36px!important;
    width:36px!important;
    height:36px!important;
    font-size:20px!important;
}

.table-wrap td .actions{
    justify-content:flex-start!important;
}

.detail-card{
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
}

.map-filter-form .btn{
    width:100%!important;
}

@media(max-width:760px){
    .toolbar .actions{
        justify-content:stretch!important;
    }
    .wide.actions .btn,
    .toolbar .actions .btn,
    .toolbar .actions label.btn{
        min-width:0!important;
        width:100%!important;
    }
}


/* Fase 7 - compactacao de espacamentos conforme revisao visual */
.page{
    padding:20px 32px!important;
}

.page>section.card:first-child,
.page>.card:first-child{
    margin-top:8px!important;
}

.card{
    padding:16px 18px!important;
}

.toolbar{
    margin-bottom:10px!important;
    padding-bottom:10px!important;
}

.toolbar h2{
    font-size:20px!important;
    margin:0!important;
}

.toolbar p,
.toolbar .filter-chip{
    margin-top:4px!important;
}

.table-wrap{
    margin-top:8px!important;
}

th,td{
    padding:10px 12px!important;
}

.btn{
    min-height:38px!important;
    padding:8px 13px!important;
}

.small-btn{
    min-height:32px!important;
    padding:6px 10px!important;
}

.header{
    padding:14px 30px!important;
}

.header h1{
    font-size:22px!important;
}

.header p{
    margin-top:3px!important;
}

@media(max-width:760px){
    .page{
        padding:10px!important;
    }
    .card{
        padding:12px!important;
    }
    th,td{
        padding:9px 10px!important;
    }
}


/* Fase 7 - marca no sidebar sem efeito de banner */
.sidebar{
    padding-top:16px!important;
}

.brand{
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
    border-radius:0!important;
    margin:0 0 16px!important;
    padding:4px 4px 14px!important;
    border-bottom:1px solid var(--ev-border)!important;
}

.brand img{
    width:174px!important;
    max-width:88%!important;
    height:auto!important;
    aspect-ratio:691/142!important;
    object-fit:contain!important;
    object-position:left center!important;
    margin:0!important;
}

.brand::after{
    content:"Gestão de containers"!important;
    display:block!important;
    margin-top:8px!important;
    color:#64748b!important;
    font-size:11px!important;
    font-weight:760!important;
    letter-spacing:.04em!important;
    text-transform:none!important;
}

@media(max-width:1020px){
    .brand img{
        width:168px!important;
    }
}


/* Fase 7 - botao fechar do modal */
.modal-head{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 34px!important;
    align-items:start!important;
    column-gap:16px!important;
}

.modal-close{
    position:relative!important;
    display:block!important;
    width:34px!important;
    height:34px!important;
    min-width:34px!important;
    padding:0!important;
    border-radius:6px!important;
    font-size:0!important;
    line-height:0!important;
    text-indent:-9999px!important;
    overflow:hidden!important;
    background:#f8fafc!important;
    border:1px solid #c9d3df!important;
    color:transparent!important;
    cursor:pointer!important;
}

.modal-close::before,
.modal-close::after{
    content:""!important;
    position:absolute!important;
    left:50%!important;
    top:50%!important;
    width:14px!important;
    height:2px!important;
    border-radius:2px!important;
    background:#12306b!important;
    transform-origin:center!important;
}

.modal-close::before{
    transform:translate(-50%,-50%) rotate(45deg)!important;
}

.modal-close::after{
    transform:translate(-50%,-50%) rotate(-45deg)!important;
}

.modal-close:hover{
    background:#eef3f8!important;
    border-color:#9fb0c4!important;
}

.modal-close:focus-visible{
    outline:3px solid rgba(10,121,184,.2)!important;
    outline-offset:2px!important;
}


/* Fase 7 - densidade global: sidebar/topo/conteudo mais compactos */
.sidebar{
    width:254px!important;
    padding:12px 12px!important;
}

.brand{
    margin-bottom:10px!important;
    padding:2px 2px 10px!important;
}

.brand img{
    width:156px!important;
}

.brand::after{
    margin-top:5px!important;
    font-size:10px!important;
}

.nav-group summary{
    min-height:34px!important;
    padding:7px 9px!important;
}

.nav-sub{
    padding:4px!important;
}

.nav-sub a{
    min-height:31px!important;
    padding:7px 8px 7px 11px!important;
}

.nav-tree>a{
    display:flex;
    align-items:center;
    gap:9px;
    min-height:34px!important;
    padding:8px 10px!important;
}

.header{
    min-height:66px!important;
    padding:12px 24px!important;
}

.header h1{
    font-size:21px!important;
}

.header p{
    font-size:12px!important;
}

.avatar{
    width:36px!important;
    height:36px!important;
}

.page{
    max-width:none!important;
    padding:14px 28px 18px!important;
}

.page>section.card:first-child,
.page>.card:first-child{
    margin-top:0!important;
}

@media(max-width:1020px){
    .sidebar{
        width:252px!important;
    }
    .page{
        padding:12px!important;
    }
}


/* Fase 7 - logo oficial Evolucao, transparente e centralizada */
.brand{
    text-align:center!important;
}

.brand img{
    width:186px!important;
    max-width:92%!important;
    height:auto!important;
    aspect-ratio:810/266!important;
    object-fit:contain!important;
    object-position:center center!important;
    margin:0 auto!important;
}

.logo{
    width:322px!important;
    max-width:88vw!important;
    height:auto!important;
    aspect-ratio:810/266!important;
    object-fit:contain!important;
    object-position:center center!important;
}

@media(max-width:1020px){
    .brand img{
        width:178px!important;
    }
}


/* Fase 7 - distancia sidebar/conteudo igual ao topo */
.page{
    padding:14px 14px 18px!important;
}

.header{
    padding-left:14px!important;
    padding-right:14px!important;
}

@media(max-width:760px){
    .page{
        padding:10px!important;
    }
    .header{
        padding-left:10px!important;
        padding-right:10px!important;
    }
}


/* Fase 7 - paginacao propria Evolucao */
.ev-pagination{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:12px!important;
    margin-top:12px!important;
    padding-top:12px!important;
    border-top:1px solid var(--ev-border)!important;
}

.ev-pagination-summary{
    color:#5f6f85!important;
    font-size:12px!important;
    font-weight:720!important;
}

.ev-pagination-links{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    gap:4px!important;
    flex-wrap:wrap!important;
}

.ev-page{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-width:34px!important;
    height:34px!important;
    padding:0 10px!important;
    border:1px solid #c5cfdb!important;
    border-radius:5px!important;
    background:#fff!important;
    color:#12306b!important;
    font-size:12px!important;
    font-weight:780!important;
    text-decoration:none!important;
}

.ev-page:hover{
    background:#eef3f8!important;
}

.ev-page.active{
    background:#12306b!important;
    border-color:#12306b!important;
    color:#fff!important;
}

.ev-page.disabled{
    color:#94a3b8!important;
    background:#f8fafc!important;
    cursor:not-allowed!important;
}

@media(max-width:760px){
    .ev-pagination{
        align-items:stretch!important;
        flex-direction:column!important;
    }
    .ev-pagination-links{
        justify-content:flex-start!important;
    }
}


/* Fase 7 - logo sidebar maior sem amassar */
.brand{
    padding:4px 0 12px!important;
}

.brand img{
    width:218px!important;
    max-width:96%!important;
    height:auto!important;
    aspect-ratio:auto!important;
    object-fit:contain!important;
    object-position:center center!important;
    margin:0 auto!important;
}

.brand::after{
    text-align:center!important;
}

@media(max-width:1020px){
    .brand img{
        width:204px!important;
    }
}


/* Fase 7 - alinhamento fixo dos cards de detalhe */
.detail-grid{
    align-items:stretch!important;
}

.detail-grid .card,
.detail-card,
.detail-hero{
    align-self:stretch!important;
}

.detail-card{
    display:block!important;
    justify-content:flex-start!important;
    align-items:flex-start!important;
    padding:18px!important;
}

.detail-card span{
    display:block!important;
    min-height:16px!important;
    margin:0 0 10px!important;
    line-height:1.2!important;
}

.detail-card strong{
    display:block!important;
    margin:0 0 8px!important;
    line-height:1.2!important;
}

.detail-card p{
    margin:0!important;
    line-height:1.45!important;
}

.detail-hero{
    align-items:flex-start!important;
    padding:18px!important;
}

.detail-hero>div:first-child{
    padding-top:18px!important;
}

.detail-hero .filter-chip{
    margin:0 0 14px!important;
}

.detail-status{
    margin-top:50px!important;
}

@media(max-width:720px){
    .detail-hero>div:first-child{
        padding-top:0!important;
    }
    .detail-status{
        margin-top:0!important;
    }
}


/* Contrato global do viewport: o shell ocupa a area util sem moldura externa. */
.app,
.content,
.page{
    min-width:0!important;
    max-width:none!important;
}

.page{
    width:100%!important;
    margin:0!important;
    padding:0!important;
}
