.public-planning{min-height:100vh;background:linear-gradient(180deg,#edf4f7 0,#f7f9fa 240px);color:#102b4e}
.public-planning .public-planning-page{width:min(1180px,100%);margin:0 auto;padding:26px clamp(16px,4vw,42px) 48px}
.public-planning .public-planning-header{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:0 0 14px}
.public-planning .public-planning-header h1{margin:4px 0 3px;font-size:30px;line-height:1.05;letter-spacing:-.025em}
.public-planning .public-planning-header>div>p:last-child{margin:0;color:#536b80;font-size:13px}
.public-planning .public-access-login{flex:0 0 auto;min-height:40px;padding:0 15px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #c6d8e1;border-radius:11px;background:#fff;color:#0a6683;box-shadow:0 5px 16px rgba(16,43,78,.06);text-decoration:none;font-size:11px;font-weight:850}
.public-planning .public-planning-notice{display:flex;align-items:center;gap:10px;margin-bottom:12px;padding:10px 13px;border:1px solid #bddce7;border-radius:12px;background:#edf9fc;color:#476477;font-size:11px}
.public-planning .public-planning-notice strong{flex:0 0 auto;color:#086885;font-size:10px;text-transform:uppercase;letter-spacing:.05em}
.public-planning .planning-form{margin-bottom:14px;padding:16px;border-radius:16px;box-shadow:0 8px 26px rgba(15,43,71,.06)}
.public-planning .planning-form form{gap:12px}
.public-planning .planning-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.public-planning .performance-inputs{grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:10px}
.public-planning .planning-form label{min-width:0;color:#163454;font-size:12px;font-weight:750;white-space:nowrap}
.public-planning .planning-form input,.public-planning .planning-form select{height:44px;margin-top:5px;padding:0 12px;border-radius:10px;font-size:14px;font-weight:750}
.public-planning .planning-form button{min-height:44px;margin:0;padding:0 20px;border-radius:10px;white-space:nowrap}
.public-planning .planning-form>small{margin-top:10px;font-size:9px;line-height:1.45}
@media(max-width:760px){
.public-planning .public-planning-page{padding:max(10px,env(safe-area-inset-top)) 9px calc(28px + env(safe-area-inset-bottom))}
.public-planning .public-planning-header{align-items:flex-start;gap:8px;margin:0 2px 10px}
.public-planning .public-planning-header .eyebrow{margin:0 0 4px;font-size:clamp(8px,2.4vw,10px);letter-spacing:.15em}
.public-planning .public-planning-header h1{margin:0;font-size:clamp(23px,6.8vw,29px);line-height:1.03}
.public-planning .public-planning-header>div>p:last-child{max-width:245px;margin-top:5px;font-size:clamp(10.5px,3vw,12px);line-height:1.35}
.public-planning .public-access-login{min-height:36px;padding:0 10px;border-radius:10px;font-size:10px;line-height:1.15;text-align:center}
.public-planning .public-planning-notice{display:grid;gap:2px;margin-bottom:9px;padding:8px 10px;border-radius:11px;font-size:10px;line-height:1.3}
.public-planning .planning-form{padding:10px;margin-bottom:10px;border-radius:15px}
.public-planning .planning-form form{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.public-planning .planning-options,.public-planning .performance-inputs{display:contents}
.public-planning .planning-form label{font-size:clamp(10.5px,3vw,12px);line-height:1.2;overflow:hidden;text-overflow:ellipsis}
.public-planning .planning-form input,.public-planning .planning-form select{height:42px;margin-top:4px;padding:0 10px;border-radius:9px;font-size:13px}
.public-planning .performance-inputs button{grid-column:1/-1;width:100%;min-height:44px;margin-top:1px;font-size:12px}
.public-planning .planning-form>small{margin-top:7px;font-size:8px}
.public-planning .route-card{grid-template-columns:1fr auto 1fr;gap:8px;padding:14px;border-radius:13px;text-align:left}
.public-planning .route-card>div:last-child{text-align:right}
.public-planning .route-card span{font-size:18px}
.public-planning .route-card strong{font-size:10px;line-height:1.25}
.public-planning .route-card>b{font-size:20px;transform:none}
.public-planning .metric-grid,.public-planning .fuel-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.public-planning .metric-grid article,.public-planning .fuel-summary article{padding:12px;border-radius:11px}
.public-planning .metric-grid strong,.public-planning .fuel-summary strong{margin:5px 0;font-size:17px}
.public-planning .metric-grid span,.public-planning .metric-grid small,.public-planning .fuel-summary span,.public-planning .fuel-summary small{font-size:8px;line-height:1.35}
.public-planning .flight-map-panel{border-radius:15px;overflow:hidden}
.public-planning .flight-map-heading{padding:12px}
.public-planning .flight-map-heading h2{font-size:18px}
.public-planning .flight-map-heading small{display:none}
.public-planning #flight-map{height:min(62vh,480px);min-height:360px}
.public-planning .source-note{padding:13px;border-radius:13px}
.public-planning .source-note h2{font-size:14px}
.public-planning .source-note p{font-size:10px;line-height:1.45}
}
@media(max-width:370px){.public-planning .public-planning-header>div>p:last-child{max-width:205px}.public-planning .public-access-login{max-width:76px;padding:0 7px}}
.public-planning .public-header-actions{display:grid;flex:0 0 126px;gap:6px}
.public-planning .public-header-actions a,.public-planning .public-header-actions button{width:100%;min-height:36px;margin:0;padding:0 10px;border-radius:10px;font-family:inherit;font-size:10px;font-weight:850;line-height:1.1;text-decoration:none}
.public-planning .public-action-button{display:flex;align-items:center;justify-content:center;gap:7px;border:0;box-shadow:0 5px 16px rgba(16,43,78,.1);cursor:pointer}
.public-planning .public-action-button svg{flex:0 0 auto;width:18px;height:18px;fill:currentColor}
.public-planning .public-support-whatsapp{background:#1fa855;color:#fff}
.public-planning .public-contribution-button{background:#0d6c8a;color:#fff}
.public-planning .public-pix-dialog{width:min(390px,calc(100vw - 24px));padding:22px;border:0;border-radius:20px;background:#fff;color:#102b4e;box-shadow:0 26px 80px rgba(3,23,43,.34);text-align:center}
.public-planning .public-pix-dialog::backdrop{background:rgba(5,24,42,.62);backdrop-filter:blur(3px)}
.public-planning .pix-dialog-close{position:absolute;top:10px;right:10px;width:34px;height:34px;padding:0;border:1px solid #d7e3e8;border-radius:50%;background:#f5f8f9;color:#173b5b;font-size:22px;line-height:1;cursor:pointer}
.public-planning .pix-dialog-heading span{color:#08718f;font-size:9px;font-weight:900;letter-spacing:.14em;text-transform:uppercase}
.public-planning .pix-dialog-heading h2{margin:5px 28px 5px;font-size:21px;line-height:1.12}
.public-planning .pix-dialog-heading p{margin:0 auto 14px;color:#607587;font-size:11px;line-height:1.45}
.public-planning .pix-qr-code{display:grid;place-items:center;width:240px;min-height:240px;margin:0 auto 12px;padding:10px;border:1px solid #dce7eb;border-radius:14px;background:#fff}
.public-planning .pix-qr-code img,.public-planning .pix-qr-code canvas{display:block;max-width:100%;height:auto}
.public-planning .pix-key{display:grid;gap:3px;margin-bottom:10px;padding:10px;border-radius:10px;background:#edf7fa}
.public-planning .pix-key span{color:#637889;font-size:9px;font-weight:750}
.public-planning .pix-key strong{font-size:15px;letter-spacing:.025em}
.public-planning .pix-copy-button{width:100%;min-height:44px;border:0;border-radius:10px;background:#0d6c8a;color:#fff;font-weight:850;cursor:pointer}
.public-planning .public-pix-dialog>small{display:block;min-height:15px;margin-top:7px;color:#35704f;font-size:9px}
@media(max-width:760px){
.public-planning .public-header-actions{flex-basis:112px;gap:5px}
.public-planning .public-header-actions a,.public-planning .public-header-actions button{min-height:34px;padding:0 7px;font-size:9px}
.public-planning .public-action-button svg{width:16px;height:16px}
.public-planning .public-pix-dialog{padding:18px 16px calc(18px + env(safe-area-inset-bottom));border-radius:18px}
.public-planning .pix-dialog-heading h2{font-size:19px}
.public-planning .pix-qr-code{width:224px;min-height:224px;padding:8px}
}
.public-planning .public-pilot-dashboard{background:#f0f5f7;color:#0d5f7b;border:1px solid #c6dce4}.public-mobile-topbar,.public-mobile-bottom-nav{display:none}
@media(max-width:760px){
html{scroll-behavior:smooth;scroll-padding-top:74px}
.public-planning{background:#f2f6f8}
.public-planning .public-planning-page{padding:calc(68px + env(safe-area-inset-top)) 10px calc(86px + env(safe-area-inset-bottom))}
.public-mobile-topbar{position:fixed;z-index:1500;top:0;left:0;right:0;height:calc(58px + env(safe-area-inset-top));padding:env(safe-area-inset-top) 12px 0;display:flex;align-items:center;justify-content:space-between;background:rgba(255,255,255,.96);border-bottom:1px solid #d8e4e9;box-shadow:0 5px 18px rgba(16,43,78,.08);backdrop-filter:blur(14px)}
.public-mobile-brand{display:flex;align-items:center;gap:9px;color:#073b68;text-decoration:none}.public-brand-mark{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:linear-gradient(145deg,#073b86,#0b75a1);color:#fff;font-size:20px;transform:rotate(-12deg);box-shadow:0 5px 12px rgba(7,59,134,.22)}.public-mobile-brand>span:last-child{display:grid;gap:0}.public-mobile-brand strong{font-size:14px;line-height:1;letter-spacing:.09em}.public-mobile-brand small{margin-top:3px;color:#718598;font-size:8px;font-weight:750}
.public-mobile-tools{display:flex;align-items:center;gap:5px}.public-alert-button,.public-menu-toggle{position:relative;display:grid;place-items:center;width:40px;height:40px;padding:0;border:0;border-radius:12px;background:#f2f7f9;color:#123f64;text-decoration:none}.public-alert-button svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.public-alert-button i{position:absolute;top:8px;right:9px;width:7px;height:7px;border:2px solid #fff;border-radius:50%;background:#ef7d32}.public-menu-toggle{gap:4px;align-content:center}.public-menu-toggle span{display:block;width:19px;height:2px;border-radius:2px;background:currentColor}
.public-planning .public-planning-header{display:block;margin:3px 3px 12px}.public-planning .public-planning-header h1{font-size:clamp(24px,7.2vw,31px)}.public-planning .public-planning-header>div>p:last-child{max-width:none;font-size:12px}.public-planning .public-planning-header .eyebrow{font-size:9px}
.public-planning .public-header-actions{position:fixed;z-index:1600;top:calc(57px + env(safe-area-inset-top));right:10px;width:min(280px,calc(100vw - 20px));padding:10px;display:grid;grid-template-columns:1fr 1fr;gap:8px;border:1px solid #d5e2e7;border-radius:16px;background:#fff;box-shadow:0 18px 48px rgba(6,31,53,.2);opacity:0;visibility:hidden;transform:translateY(-8px) scale(.98);transform-origin:top right;transition:.18s ease}.public-planning .public-header-actions.is-open{opacity:1;visibility:visible;transform:none}.public-planning .public-header-actions a,.public-planning .public-header-actions button{min-height:46px;font-size:10px}.public-planning .public-header-actions .public-access-login,.public-planning .public-header-actions .public-pilot-dashboard{grid-column:auto}
.public-planning .public-planning-notice{scroll-margin-top:72px;padding:10px 12px}.public-planning .planning-form{scroll-margin-top:72px;padding:12px;border-radius:18px}.public-planning .planning-form label{font-size:11px}.public-planning .planning-form input,.public-planning .planning-form select{height:46px;font-size:14px}
.public-mobile-bottom-nav{position:fixed;z-index:1450;left:8px;right:8px;bottom:calc(7px + env(safe-area-inset-bottom));height:64px;padding:5px 7px;display:grid;grid-template-columns:repeat(4,1fr);align-items:center;border:1px solid rgba(201,217,225,.9);border-radius:19px;background:rgba(255,255,255,.97);box-shadow:0 12px 36px rgba(8,37,62,.2);backdrop-filter:blur(16px)}.public-mobile-bottom-nav a,.public-mobile-bottom-nav button{min-width:0;height:52px;padding:4px 2px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border:0;border-radius:13px;background:transparent;color:#718397;text-decoration:none;font-family:inherit;font-size:8px;font-weight:800}.public-mobile-bottom-nav svg{width:20px;height:20px;fill:currentColor}.public-mobile-bottom-nav .active{background:#e7f5f8;color:#08708e}.public-menu-open{overflow:hidden}
.public-planning #mapa-rota{scroll-margin-top:72px}
}
.public-mobile-brand-logo{display:block;width:auto;max-width:180px;height:40px;object-fit:contain;object-position:left center}@media(max-width:760px){.public-mobile-brand{min-width:0}.public-mobile-brand-logo{width:auto;max-width:min(178px,calc(100vw - 122px));height:38px}}
/* desktop-public-planning-appbar */
@media(min-width:761px){
.public-planning .public-mobile-topbar{box-sizing:border-box;position:fixed;z-index:1500;top:0;left:0;right:0;height:68px;padding:0 max(26px,calc((100vw - 1320px)/2));display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid #cedde4;box-shadow:0 3px 14px rgba(16,43,78,.045)}.public-planning .public-mobile-brand-logo{width:auto;max-width:190px;height:46px}.public-planning .public-mobile-tools{display:none}.public-planning .public-planning-page{width:min(1320px,100%);padding-top:96px}.public-planning .public-planning-header{min-height:58px;align-items:center;margin-bottom:18px;padding-right:0}.public-planning .public-header-actions{position:fixed;z-index:1510;top:0;right:max(26px,calc((100vw - 1320px)/2));height:68px;display:flex;align-items:center;gap:7px}.public-planning .public-header-actions a,.public-planning .public-header-actions button{box-sizing:border-box;width:auto;min-width:112px;min-height:42px;height:42px;margin:0;padding:0 14px;display:inline-flex;align-items:center;justify-content:center;border-radius:11px;font-size:10px;line-height:1;text-align:center;white-space:nowrap}.public-planning .planning-form button,.public-planning .pilot-plan-save button{display:inline-flex;align-items:center;justify-content:center;text-align:center;line-height:1}.public-planning .planning-form{padding:18px}.public-planning .public-planning-notice{min-height:42px;box-sizing:border-box}
}

/* larger public topbar branding */
.public-planning .public-mobile-brand-logo{max-width:220px;height:52px}
@media(max-width:760px){.public-planning .public-mobile-brand-logo{max-width:min(190px,calc(100vw - 122px));height:42px}}/* Apoiadores na consulta pública antes da autenticação. */
.public-planning-supporters{box-sizing:border-box;width:100%;margin:0 0 12px;padding:13px 15px;border:1px solid #d5e3e9;border-radius:15px;background:#fff;box-shadow:0 8px 22px rgba(16,43,78,.05)}.public-planning-supporters .supporters-label{margin-bottom:7px;font-size:8px}.public-planning-supporters .supporter-item{height:48px}
@media(max-width:650px){.public-planning-supporters{padding:10px 11px;border-radius:14px}.public-planning-supporters .supporter-item{height:46px}}/* Planejamento público sem bloco de título redundante. */
.public-planning-header{justify-content:flex-end;margin:0 0 10px}.public-planning-header:has(.public-header-actions:empty){display:none}
@media(max-width:760px){.public-planning-header{margin:0}.public-planning-header .public-header-actions:not(.is-open){margin:0}}/* Compactação do topo após a remoção do título público. */
.public-planning .public-planning-header{min-height:0;height:0;margin:0;padding:0}.public-planning .public-planning-page{padding-top:76px}
@media(max-width:760px){.public-planning .public-planning-header{display:block;height:0;min-height:0;margin:0;padding:0}.public-planning .public-planning-page{padding-top:8px!important}}