:root{
    --blue:#045dd8;
    --blue2:#0c78ff;
    --navy:#061a3b;
    --navy2:#082c63;
    --text:#09245a;
    --muted:#5d6c85;
    --line:#dce7f7;
    --light:#f7fbff;
    --green:#19b978;
    --yellow:#ffd325;
    --shadow:0 20px 55px rgba(8,37,91,.16);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;color:var(--text);background:#fff;line-height:1.35}
a{color:inherit;text-decoration:none}.vf-container{width:min(1240px,calc(100% - 36px));margin:0 auto}.vf-header{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.96);backdrop-filter:blur(14px);box-shadow:0 6px 25px rgba(20,58,120,.08)}.vf-header-inner{height:72px;display:flex;align-items:center;justify-content:space-between;gap:24px}.vf-brand{display:flex;align-items:center;gap:12px}.vf-brand-icon{width:72px;height:48px;object-fit:contain;filter:drop-shadow(0 6px 10px rgba(0,65,170,.18))}.vf-brand-text{display:flex;flex-direction:column;line-height:.94}.vf-brand-text strong{font-size:25px;letter-spacing:.2px;color:#0a2a63;font-weight:900}.vf-brand-text small{font-size:16px;letter-spacing:3.2px;color:#0a2a63;font-weight:900}.vf-nav{display:flex;align-items:center;gap:34px;font-weight:800;color:#17244c}.vf-nav a:not(.vf-btn){font-size:15px}.vf-btn{border:0;display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:8px;font-weight:900;letter-spacing:.1px;cursor:pointer;transition:.18s ease;white-space:nowrap}.vf-btn-primary{background:linear-gradient(135deg,#0555d8,#146bff);color:#fff;box-shadow:0 10px 22px rgba(10,85,210,.24)}.vf-btn-primary:hover{transform:translateY(-1px);filter:brightness(1.05)}.vf-btn-outline{border:2px solid #1868dd;color:#0956c6;background:rgba(255,255,255,.78)}.vf-btn-small{padding:11px 22px}.vf-hero-actions .vf-btn,.vf-login-form .vf-btn{padding:15px 34px}.vf-btn-full{width:100%}.vf-btn-yellow{background:linear-gradient(135deg,#ffe04b,#ffc107);color:#082251;padding:15px 48px;box-shadow:0 10px 22px rgba(240,175,0,.25)}.vf-hero{position:relative;overflow:hidden;background:linear-gradient(110deg,#fff 0%,#f8fbff 48%,#003c82 48.2%,#002c66 100%);min-height:430px;border-bottom:1px solid #dce8f5}.vf-hero:before{content:"";position:absolute;left:-180px;bottom:-180px;width:760px;height:420px;border:48px solid rgba(33,126,255,.08);border-top:0;border-right:0;border-radius:0 0 0 100%;transform:rotate(-12deg)}.vf-hero-bg{position:absolute;inset:0;pointer-events:none}.vf-arrow-line{position:absolute;left:43%;top:130px;width:310px;height:150px;border-top:28px solid rgba(23,110,220,.10);border-right:28px solid rgba(23,110,220,.10);transform:skewX(-22deg) rotate(-12deg);border-radius:16px}.vf-arrow-line:after{content:"";position:absolute;right:-48px;top:-52px;border-left:70px solid rgba(23,110,220,.10);border-top:45px solid transparent;border-bottom:45px solid transparent;transform:rotate(45deg)}.vf-bars{position:absolute;left:51%;bottom:24px;display:flex;align-items:flex-end;gap:20px;opacity:.17}.vf-bars i{display:block;width:48px;background:#1b72da}.vf-bars i:nth-child(1){height:64px}.vf-bars i:nth-child(2){height:96px}.vf-bars i:nth-child(3){height:132px}.vf-bars i:nth-child(4){height:168px}.vf-bars i:nth-child(5){height:210px}.vf-hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.06fr .94fr;gap:60px;align-items:center;padding:40px 0 24px}.vf-hero-copy{padding:6px 0 18px}.vf-pill{display:inline-flex;align-items:center;gap:10px;background:#eafaf2;border:1px solid #bfead4;color:#113d32;border-radius:999px;padding:8px 18px;font-weight:900;font-size:14px;margin-bottom:22px;box-shadow:0 8px 20px rgba(21,185,120,.08)}.vf-pill i{color:#0ead68}.vf-hero h1{font-size:48px;line-height:.98;letter-spacing:-1.6px;margin:0 0 16px;max-width:650px;color:#092a66;font-weight:950}.vf-hero p{font-size:21px;color:#526179;max-width:620px;margin:0 0 24px}.vf-hero-actions{display:flex;align-items:center;gap:18px}.vf-login-card{width:100%;max-width:520px;justify-self:center;background:rgba(255,255,255,.96);border:1px solid #d7e2ef;border-radius:18px;box-shadow:var(--shadow);padding:20px 32px 22px;text-align:center}.vf-login-icon{width:86px;height:56px;object-fit:contain;margin:-2px auto 3px;display:block}.vf-login-card h2{margin:0;color:#092a66;font-size:24px}.vf-login-card>p{margin:5px 0 16px;color:#63718a}.vf-login-form{text-align:left}.vf-login-form label{display:block;font-weight:900;font-size:14px;margin:11px 0 7px;color:#20375f}.vf-input-wrap{height:44px;border:1px solid #cdd9e8;border-radius:6px;background:#fff;display:flex;align-items:center;gap:10px;padding:0 13px}.vf-input-wrap i{color:#43617e}.vf-input-wrap input{border:0;outline:none;width:100%;font-size:15px;color:#12274c;background:transparent}.vf-eye{border:0;background:transparent;color:#294b74;cursor:pointer;font-size:18px}.vf-login-row{display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:13px;margin:12px 0 14px;font-weight:800}.vf-login-row a{color:#075ede}.vf-check{display:flex!important;align-items:center;gap:8px;margin:0!important;font-weight:800!important}.vf-check input{accent-color:#0b66ea}.vf-muted{color:#738097}.vf-divider{position:relative;text-align:center;margin:13px 0 8px;color:#9aa7ba;font-size:12px}.vf-divider:before{content:"";position:absolute;left:0;right:0;top:50%;border-top:1px solid #dce4ef}.vf-divider span{position:relative;background:#fff;padding:0 14px}.vf-create{display:flex;justify-content:center;gap:8px;color:#075ede;font-weight:900;font-size:14px}.vf-feature-strip{background:#fff;padding:10px 0 14px}.vf-features{display:grid;grid-template-columns:repeat(8,1fr);gap:10px;transform:translateY(-1px)}.vf-features article{min-height:125px;background:#fff;border:1px solid #e4ebf5;border-radius:9px;box-shadow:0 9px 22px rgba(14,50,100,.08);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:14px 10px}.vf-features span{font-size:34px;line-height:1;margin-bottom:8px}.vf-features strong{font-size:15px;line-height:1.06;font-weight:950;color:#102a5a}.vf-features small{font-size:12.5px;color:#61718c;line-height:1.15;margin-top:4px}.vf-system-preview{padding:2px 0 0;background:linear-gradient(#fff,#f5f9ff)}.vf-dashboard-mock{margin:0 auto;max-width:1140px;height:318px;overflow:hidden;background:#fff;border:1px solid #d8e3f1;border-radius:18px 18px 0 0;box-shadow:0 20px 54px rgba(0,42,120,.18);display:grid;grid-template-columns:205px 1fr}.vf-dashboard-mock aside{background:#06346f;color:#fff;padding:18px}.vf-mini-brand{display:flex;align-items:center;gap:8px;margin-bottom:16px;font-weight:900;line-height:1.03}.vf-mini-brand img{width:46px;height:32px;object-fit:contain}.vf-mini-brand small{letter-spacing:1.5px}.vf-dashboard-mock aside b{display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:8px;font-size:13px;margin-bottom:4px;color:#dcecff}.vf-dashboard-mock aside b.active{background:#0b67e7;color:#fff}.vf-screen{padding:18px;background:#fff}.vf-screen-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px}.vf-screen-top strong{display:block;font-size:20px;color:#10295a}.vf-screen-top small{display:block;color:#697a95;font-size:12px}.vf-screen-top span{background:#f7fbff;border:1px solid #dce5f0;padding:7px 16px;border-radius:7px;font-size:12px;font-weight:800}.vf-cards-row{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.vf-cards-row div{border:1px solid #e1e7f0;border-radius:8px;padding:12px 14px;box-shadow:0 4px 12px rgba(17,50,100,.04)}.vf-cards-row small{display:block;color:#596b85}.vf-cards-row strong{display:block;color:#0644ad;font-size:18px;margin-top:3px}.vf-cards-row em{display:block;color:#0baf6a;font-style:normal;font-size:11px;margin-top:2px}.vf-cards-row em.down{color:#de4250}.vf-chart-row{display:grid;grid-template-columns:1.05fr .95fr;gap:16px;margin-top:16px}.vf-chart-card,.vf-table-card{border:1px solid #e1e7f0;border-radius:10px;padding:14px}.vf-chart{height:126px;position:relative;background:linear-gradient(#fff,#f7fbff);overflow:hidden}.vf-chart:before,.vf-chart:after{content:"";position:absolute;left:10px;right:10px;height:3px;border-radius:999px}.vf-chart:before{bottom:45px;background:linear-gradient(90deg,#2b72ff,#2b72ff 12%,transparent 12%,transparent 18%,#2b72ff 18%,#2b72ff 35%,transparent 35%,transparent 42%,#2b72ff 42%,#2b72ff 58%,transparent 58%,transparent 64%,#2b72ff 64%,#2b72ff 82%,transparent 82%);transform:skewY(-9deg)}.vf-chart:after{bottom:62px;background:linear-gradient(90deg,#21c981,#21c981 15%,transparent 15%,transparent 24%,#21c981 24%,#21c981 43%,transparent 43%,transparent 49%,#21c981 49%,#21c981 72%,transparent 72%,transparent 78%,#21c981 78%);transform:skewY(12deg)}.vf-table-card p{display:flex;justify-content:space-between;border-bottom:1px solid #edf2f8;margin:0;padding:8px 0;font-size:13px}.vf-table-card b{color:#088557}.vf-table-card b.red{color:#d84040}.vf-cta{background:linear-gradient(120deg,#064082,#005fc5 46%,#053168);color:#fff;border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08)}.vf-cta-inner{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:18px 0}.vf-cta strong{font-size:28px;line-height:1.1}.vf-cta strong span{color:var(--yellow)}.vf-cta p{margin:4px 0 0;color:#d9e9ff;font-size:16px}.vf-footer{background:linear-gradient(180deg,#062755,#031b3c);color:#d8e8ff;padding:26px 0 14px}.vf-footer-grid{display:grid;grid-template-columns:1.5fr .8fr .8fr .8fr 1.25fr;gap:36px}.vf-footer h3{font-size:14px;color:#fff;margin:0 0 11px}.vf-footer a,.vf-footer p{display:block;color:#d7e7ff;font-size:14px;margin:0 0 8px}.vf-footer-about p{max-width:320px;line-height:1.45}.vf-brand-footer .vf-brand-icon{width:52px;height:36px}.vf-brand-footer .vf-brand-text strong{font-size:19px;color:#fff}.vf-brand-footer .vf-brand-text small{font-size:11px;color:#fff;letter-spacing:1.8px}.vf-social{display:flex;gap:10px;margin-top:10px}.vf-social a{width:28px;height:28px;border:1px solid rgba(255,255,255,.25);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0}.vf-contact p{display:flex;align-items:center;gap:8px}.vf-contact p a{display:inline;margin:0}.vf-credit{margin-top:20px;border-top:1px solid rgba(255,255,255,.14);padding-top:12px;display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;color:#bed0ea;font-size:12px}.vf-credit strong{color:#fff}@media(max-width:1050px){.vf-nav a:not(.vf-btn){display:none}.vf-hero{background:linear-gradient(180deg,#fff 0%,#f7fbff 56%,#032f69 56%,#002b62 100%)}.vf-hero-grid{grid-template-columns:1fr;gap:26px}.vf-login-card{max-width:100%}.vf-features{grid-template-columns:repeat(4,1fr)}.vf-dashboard-mock{grid-template-columns:170px 1fr}.vf-footer-grid{grid-template-columns:1fr 1fr}}@media(max-width:760px){.vf-container{width:min(100% - 24px,1240px)}.vf-header-inner{height:auto;padding:12px 0}.vf-nav .vf-btn{display:none}.vf-brand-icon{width:56px}.vf-brand-text strong{font-size:19px}.vf-brand-text small{font-size:12px}.vf-hero h1{font-size:36px}.vf-hero p{font-size:17px}.vf-hero-actions{flex-direction:column;align-items:stretch}.vf-features{grid-template-columns:repeat(2,1fr)}.vf-dashboard-mock{height:auto;display:block}.vf-dashboard-mock aside{display:none}.vf-cards-row{grid-template-columns:1fr}.vf-chart-row{grid-template-columns:1fr}.vf-cta-inner{flex-direction:column;align-items:flex-start}.vf-footer-grid{grid-template-columns:1fr}.vf-credit{display:block}.vf-credit span{display:block;margin:6px 0}}@media(max-width:430px){.vf-features{grid-template-columns:1fr}.vf-login-card{padding:18px}.vf-hero h1{font-size:31px}.vf-hero{min-height:auto}}


.vf-logged-box{margin-top:18px;padding:18px;border:1px solid #dbe7ff;border-radius:18px;background:#f8fbff;text-align:center}
.vf-logged-title{font-weight:800;color:#0b2d67;margin:0 0 14px}
.vf-logged-box .vf-create{margin-top:14px;display:inline-flex;align-items:center;gap:6px}

/* Páginas institucionais - PATCH 064 */
.vf-nav a.active{color:#075ede;font-weight:950}
.vf-page-main{background:linear-gradient(180deg,#f7fbff 0%,#fff 34%,#f7fbff 100%)}
.vf-page-hero{position:relative;overflow:hidden;background:linear-gradient(120deg,#fff 0%,#f7fbff 58%,#053a78 58.2%,#012a60 100%);border-bottom:1px solid #dbe7f4;padding:58px 0 46px}
.vf-page-hero:after{content:"";position:absolute;right:7%;top:52px;width:290px;height:180px;border-top:24px solid rgba(47,132,255,.12);border-right:24px solid rgba(47,132,255,.12);transform:skewX(-24deg) rotate(-10deg);border-radius:18px;pointer-events:none}
.vf-page-hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:center}
.vf-page-hero h1{font-size:48px;line-height:1.02;letter-spacing:-1.2px;color:#092a66;margin:0 0 16px;font-weight:950;max-width:720px}
.vf-page-hero p{font-size:20px;line-height:1.45;color:#526179;margin:0;max-width:760px}
.vf-page-hero-card{justify-self:center;width:min(100%,360px);background:rgba(255,255,255,.94);border:1px solid #dbe7f4;border-radius:22px;box-shadow:var(--shadow);padding:28px;text-align:center}
.vf-page-hero-card img{width:105px;height:75px;object-fit:contain;margin-bottom:8px}.vf-page-hero-card strong{display:block;color:#092a66;font-size:22px}.vf-page-hero-card span{display:block;color:#5d6f89;margin-top:7px;line-height:1.35}
.vf-page-section{padding:48px 0}.vf-page-narrow{max-width:980px;margin:0 auto}.vf-section-title{font-size:32px;line-height:1.12;margin:0 0 16px;color:#092a66;font-weight:950}.vf-lead{font-size:18px;line-height:1.58;color:#4f6078;margin:0 0 26px}.vf-grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.vf-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.vf-grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.vf-info-card{background:#fff;border:1px solid #e1e9f4;border-radius:18px;padding:24px;box-shadow:0 12px 28px rgba(17,50,100,.07)}.vf-info-card .icon{width:46px;height:46px;border-radius:15px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#e9f4ff,#dcecff);color:#075ede;font-size:24px;margin-bottom:14px}.vf-info-card h2,.vf-info-card h3{color:#0b2d67;margin:0 0 10px;font-weight:950}.vf-info-card h2{font-size:24px}.vf-info-card h3{font-size:19px}.vf-info-card p{color:#596b85;line-height:1.55;margin:0 0 12px}.vf-info-card ul,.vf-info-card ol{margin:10px 0 0;padding-left:20px;color:#596b85;line-height:1.62}.vf-info-card li+li{margin-top:6px}.vf-highlight{background:linear-gradient(120deg,#053a78,#075ede);color:#fff;border-radius:24px;padding:34px;box-shadow:0 18px 46px rgba(5,58,120,.25);margin:24px 0}.vf-highlight h2,.vf-highlight h3{color:#fff;margin-top:0}.vf-highlight p{color:#dcecff}.vf-highlight .vf-btn{margin-top:8px}.vf-kpi-list{display:grid;gap:12px}.vf-kpi{display:flex;align-items:flex-start;gap:14px;background:#fff;border:1px solid #e1e9f4;border-radius:16px;padding:16px}.vf-kpi i{color:#10a66a;font-size:22px}.vf-kpi strong{display:block;color:#0b2d67}.vf-kpi span{display:block;color:#60708a;margin-top:3px}.vf-steps{counter-reset:step;display:grid;gap:16px}.vf-step{position:relative;background:#fff;border:1px solid #e1e9f4;border-radius:18px;padding:22px 22px 22px 82px;box-shadow:0 12px 28px rgba(17,50,100,.06)}.vf-step:before{counter-increment:step;content:counter(step);position:absolute;left:22px;top:22px;width:40px;height:40px;border-radius:14px;background:#075ede;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:950}.vf-step h3{margin:0 0 7px;color:#0b2d67}.vf-step p{margin:0;color:#596b85;line-height:1.55}.vf-price-card{position:relative;background:#fff;border:1px solid #dfe8f5;border-radius:22px;padding:28px;box-shadow:0 15px 34px rgba(17,50,100,.08)}.vf-price-card.featured{border:2px solid #075ede;box-shadow:0 20px 48px rgba(7,94,222,.16)}.vf-price-card .tag{display:inline-block;background:#fff2bf;color:#7a5600;border-radius:999px;padding:7px 12px;font-size:12px;font-weight:950;margin-bottom:12px}.vf-price-card h3{font-size:24px}.vf-price{font-size:32px;color:#092a66;font-weight:950;margin:12px 0}.vf-price small{font-size:14px;color:#697a95;font-weight:700}.vf-status-ok{display:inline-flex;align-items:center;gap:8px;background:#eafaf2;color:#087146;border:1px solid #bfead4;border-radius:999px;padding:9px 16px;font-weight:950}.vf-status-grid .vf-info-card{display:flex;align-items:center;justify-content:space-between;gap:16px}.vf-status-grid .vf-info-card strong{color:#0b2d67}.vf-status-grid .vf-info-card span{color:#087146;font-weight:950}.vf-contact-panel{display:grid;grid-template-columns:1fr 1fr;gap:18px}.vf-contact-button{display:flex;align-items:center;gap:14px;border:1px solid #e1e9f4;border-radius:18px;padding:18px;background:#fff;color:#0b2d67;font-weight:950;box-shadow:0 10px 24px rgba(17,50,100,.06)}.vf-contact-button i{font-size:26px;color:#075ede}.vf-note{border-left:4px solid #075ede;background:#f3f8ff;padding:16px 18px;border-radius:12px;color:#526179;line-height:1.5}.vf-doc h2{margin-top:34px;color:#0b2d67}.vf-doc h3{margin-top:24px;color:#173d75}.vf-doc p,.vf-doc li{color:#526179;line-height:1.65}.vf-doc a{color:#075ede;font-weight:900}.vf-table-wrap{overflow:auto;border:1px solid #e1e9f4;border-radius:18px;background:#fff}.vf-table{width:100%;border-collapse:collapse}.vf-table th,.vf-table td{padding:16px;border-bottom:1px solid #edf2f8;text-align:left;color:#526179}.vf-table th{color:#0b2d67;background:#f7fbff}.vf-table tr:last-child td{border-bottom:0}@media(max-width:900px){.vf-page-hero{background:linear-gradient(180deg,#fff 0%,#f7fbff 66%,#053a78 66.2%,#012a60 100%)}.vf-page-hero-grid{grid-template-columns:1fr}.vf-page-hero h1{font-size:38px}.vf-grid-2,.vf-grid-3,.vf-grid-4,.vf-contact-panel{grid-template-columns:1fr}.vf-status-grid .vf-info-card{display:block}.vf-page-hero-card{justify-self:start}}

/* PATCH 1.0.5 — identidade institucional e interface despersonalizada */
.vf-credit a {
    color: inherit;
    font-weight: 700;
    text-decoration: none;
}
.vf-credit a:hover {
    text-decoration: underline;
}


/* Ambiente de homologação /teste */
.vf-test-banner {
    position: relative;
    z-index: 9999;
    width: 100%;
    padding: 9px 14px;
    text-align: center;
    font-weight: 800;
    font-size: 0.9rem;
    letter-spacing: .02em;
    color: #4a3200;
    background: #ffe08a;
    border-bottom: 1px solid #e2b84f;
}
@media (max-width: 767.98px) {
    .vf-test-banner { font-size: .78rem; padding: 8px 10px; }
}
