:root{--navy:#112f54;--navy-2:#173d6b;--blue:#2878b9;--sky:#eaf5fb;--green:#18865f;--green-bg:#e7f6ef;--yellow:#f4b942;--red:#c84b4b;--ink:#172638;--muted:#66778a;--line:#dce5ed;--surface:#fff;--canvas:#f4f7fa;--radius:16px;--shadow:0 12px 35px rgba(20,48,78,.08)}
*{box-sizing:border-box}html{font-family:Inter,"Segoe UI",Arial,sans-serif;color:var(--ink);background:var(--canvas)}body{margin:0;min-height:100vh}a{color:var(--blue)}button,input,select,textarea{font:inherit}button,a{transition:.18s ease}.eyebrow{font-size:.72rem;letter-spacing:.14em;font-weight:800;color:var(--blue);margin:0 0 .35rem}.muted{color:var(--muted)}
.auth-body{background:linear-gradient(135deg,#0e2b4c 0%,#174c7c 52%,#e8f3f9 52%)}.auth-shell{min-height:100vh;display:grid;grid-template-columns:minmax(320px,44%) 1fr}.auth-brand{color:#fff;padding:clamp(2.5rem,7vw,7rem);display:flex;flex-direction:column;justify-content:center}.auth-brand .eyebrow{color:#8fd8ff}.auth-brand h1{font-size:clamp(2.5rem,5vw,5rem);line-height:.95;margin:.6rem 0 1rem}.auth-brand>p:not(.eyebrow){font-size:1.15rem;max-width:430px;color:#d8e9f6}.brand-mark{width:70px;height:70px;border-radius:22px;background:linear-gradient(135deg,#4bb9e9,#61c88c);display:grid;place-items:center;font-weight:900;color:#0e2b4c;box-shadow:0 14px 30px rgba(0,0,0,.18)}.brand-mark.small{width:38px;height:38px;border-radius:12px;font-size:.78rem;box-shadow:none;flex:none}.auth-benefits{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:2rem}.auth-benefits span{border:1px solid rgba(255,255,255,.25);border-radius:999px;padding:.55rem .85rem;color:#e8f5fd}.auth-panel{display:grid;place-items:center;padding:2rem}.auth-card{width:min(100%,460px);background:#fff;border-radius:24px;padding:clamp(1.6rem,4vw,3rem);box-shadow:0 24px 70px rgba(14,43,76,.24)}.auth-card.wide{width:min(100%,680px)}.auth-card h2{font-size:2rem;margin:.3rem 0 .6rem}.auth-switch{text-align:center;margin:1.5rem 0 0}
.field{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1rem}.field label{font-weight:700;font-size:.9rem}.field input,.field select,.field textarea{width:100%;border:1px solid #cbd8e2;border-radius:10px;padding:.8rem .9rem;background:#fff;color:var(--ink)}.field input:focus,.field select:focus,.field textarea:focus{outline:3px solid rgba(40,120,185,.15);border-color:var(--blue)}.field.has-error input{border-color:var(--red)}.help{color:var(--muted);line-height:1.35}.error,.form-errors{color:#a33434}.form-errors ul,.errorlist{margin:.2rem 0;padding-left:1.2rem}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 1rem}.button{border:0;border-radius:10px;padding:.75rem 1rem;font-weight:750;cursor:pointer}.button.primary{background:var(--navy);color:#fff}.button.primary:hover{background:var(--navy-2);transform:translateY(-1px)}.button.full{width:100%;margin-top:.3rem}.button.subtle{background:#edf3f7;color:var(--navy);padding:.5rem .7rem}.link-button{background:transparent;border:0;color:var(--blue);font-weight:750;cursor:pointer}
.app-shell{display:grid;grid-template-columns:270px 1fr;min-height:100vh}.sidebar{background:var(--navy);color:#fff;padding:1rem;position:sticky;top:0;height:100vh;overflow-y:auto}.sidebar-brand{display:flex;align-items:center;gap:.75rem;color:#fff;text-decoration:none;padding:.6rem .5rem 1.4rem}.sidebar-brand span:last-child{display:flex;flex-direction:column}.sidebar-brand small{font-weight:400;color:#a9c4dc;margin-top:.2rem}.nav-group{font-size:.66rem;letter-spacing:.15em;color:#83a8c8;font-weight:800;margin:1.2rem .75rem .45rem}.nav-link{display:flex;align-items:center;justify-content:space-between;color:#dceaf5;text-decoration:none;padding:.72rem .8rem;border-radius:10px;margin:.15rem 0}.nav-link:hover,.nav-link.active{background:rgba(255,255,255,.1);color:#fff}.nav-link.disabled{color:#7f9bb3;cursor:not-allowed}.nav-link small{font-size:.65rem}.app-main{min-width:0}.topbar{height:84px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:1rem;padding:0 clamp(1rem,3vw,2.5rem);position:sticky;top:0;z-index:10}.topbar h1{font-size:1.35rem;margin:0}.topbar .eyebrow{font-size:.6rem}.menu-button{display:none;border:0;background:#eef4f8;border-radius:8px;padding:.6rem}.user-menu{margin-left:auto;display:flex;align-items:center;gap:.7rem}.user-menu>div{display:flex;flex-direction:column}.user-menu small{color:var(--muted)}.avatar{width:38px;height:38px;border-radius:50%;background:var(--sky);color:var(--navy);display:grid;place-items:center;font-weight:850}.content{padding:clamp(1rem,3vw,2.5rem);max-width:1500px;margin:auto}.messages{margin-bottom:1rem}.alert{padding:.9rem 1rem;border-radius:10px;background:#eaf3fb;color:#174e77}.alert-success{background:var(--green-bg);color:#126447}.alert-error{background:#fbeaea;color:#973838}
.welcome-card{background:linear-gradient(120deg,var(--navy),#1e5c91);color:#fff;border-radius:var(--radius);padding:clamp(1.4rem,3vw,2.4rem);display:flex;align-items:center;justify-content:space-between;gap:1.5rem;box-shadow:var(--shadow)}.welcome-card .eyebrow{color:#8fd8ff}.welcome-card h2{font-size:clamp(1.35rem,2.5vw,2rem);margin:.25rem 0 .6rem}.welcome-card p:last-child{color:#d8e9f6;margin-bottom:0}.status-pill{display:inline-flex;white-space:nowrap;padding:.45rem .7rem;border-radius:999px;font-weight:750;font-size:.78rem;background:#eef2f5}.status-pill.success{background:var(--green-bg);color:#116846}.status-pill.danger{background:#fbeaea;color:#993b3b}.steps-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin:1rem 0}.step-card,.metric,.panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.step-card{padding:1.25rem}.step-card>span{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:var(--sky);color:var(--blue);font-weight:850}.step-card h3{margin:1rem 0 .4rem}.step-card p{color:var(--muted);min-height:3rem}.step-card small{color:var(--blue);font-weight:700}.panel{padding:1.35rem;margin-top:1rem}.panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.panel-header h2{margin:.2rem 0}.security-grid,.metric-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.security-grid>div{background:var(--canvas);border-radius:12px;padding:1rem;display:flex;flex-direction:column;gap:.25rem}.security-grid small,.metric small,.read-only-data small{color:var(--muted)}.metric-grid{margin-bottom:1rem}.metric{padding:1.25rem;display:flex;flex-direction:column}.metric strong{font-size:2rem;margin-top:.3rem}.two-columns{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.read-only-data{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin:1rem 0}.read-only-data span{display:flex;flex-direction:column;background:var(--canvas);padding:.8rem;border-radius:10px}.action-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.action-grid a{padding:1rem;background:var(--sky);border-radius:10px;text-decoration:none;font-weight:750}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:.8rem;border-bottom:1px solid var(--line);vertical-align:middle}th{font-size:.75rem;letter-spacing:.04em;color:var(--muted);text-transform:uppercase}.table-subtitle{display:block;color:var(--muted);margin-top:.2rem}
@media(max-width:1050px){.steps-grid{grid-template-columns:1fr 1fr}.app-shell{grid-template-columns:1fr}.sidebar{position:fixed;left:-280px;width:270px;z-index:30;transition:left .2s}.sidebar.open{left:0}.menu-button{display:inline-flex}.two-columns{grid-template-columns:1fr}}
@media(max-width:760px){.auth-shell{grid-template-columns:1fr;background:#eef5f9}.auth-brand{padding:2rem;min-height:260px;background:var(--navy)}.auth-brand h1{font-size:2.5rem}.auth-panel{padding:1rem;align-items:start}.auth-card{border-radius:18px}.form-grid,.steps-grid,.security-grid,.metric-grid,.action-grid,.read-only-data{grid-template-columns:1fr}.user-menu>div{display:none}.content{padding:1rem}.welcome-card{align-items:flex-start;flex-direction:column}.topbar{height:72px}}

/* Ajustes validados para o cadastro em notebooks e controles de senha. */
@media(min-width:761px){.auth-shell{grid-template-columns:minmax(300px,40%) minmax(0,1fr)}.auth-brand{padding:clamp(2.5rem,6vw,6rem)}.auth-panel{min-width:0}.auth-card.wide{width:min(100%,620px)}}
.password-wrapper{position:relative}.password-wrapper input{padding-right:5.3rem}.password-toggle{position:absolute;right:.4rem;top:50%;transform:translateY(-50%);border:0;border-radius:7px;padding:.4rem .55rem;background:#eaf2f7;color:var(--navy);font-weight:750;cursor:pointer}
@media(min-width:1051px) and (max-width:1250px){.steps-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.steps-grid{min-width:0}.step-card{min-width:0;overflow-wrap:anywhere}
.hero-panel.compact,.comparison-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;background:linear-gradient(135deg,#102a43,#174d73);color:#fff;border-radius:18px;padding:26px;margin-bottom:20px}.hero-panel.compact h2,.comparison-hero h2{margin:4px 0 8px;color:#fff}.hero-badge{display:grid;place-items:center;width:72px;height:72px;border-radius:18px;background:#fff;color:#1677c8;font-weight:800;font-size:20px}.stack-form,.review-form{display:grid;gap:16px}.review-form{grid-template-columns:repeat(2,minmax(0,1fr))}.review-form>.field:has(textarea),.review-form>.form-errors,.review-form>.button-row{grid-column:1/-1}.document-list{display:grid;gap:12px}.document-row{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:16px;border:1px solid #d9e4ee;border-radius:12px}.document-row small,.unit-title small{display:block;color:#60758a;margin-top:4px}.warning-line{display:block;color:#8a5b00;font-size:12px;margin:5px 0}.notice.warning{background:#fff7db;border:1px solid #efd37a;border-radius:12px;padding:14px 18px;margin-bottom:18px}.empty-state{text-align:center;padding:32px;color:#60758a}.unit-card{border:1px solid #d9e4ee;border-radius:14px;margin-top:16px;overflow:hidden}.unit-title{display:flex;justify-content:space-between;padding:16px;background:#f3f7fa}.table-scroll{overflow-x:auto}.vehicle-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.vehicle-card{border:1px solid #d9e4ee;border-radius:15px;padding:18px}.vehicle-card h3{margin:3px 0}.vehicle-card dl{display:grid;gap:8px;margin:16px 0 0}.vehicle-card dl div{display:flex;justify-content:space-between;gap:12px}.vehicle-card dt{color:#60758a}.vehicle-card dd{margin:0;font-weight:700}.selection-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:16px}.check-card{display:flex;gap:12px;align-items:center;padding:14px;border:1px solid #d9e4ee;border-radius:12px;cursor:pointer}.check-card span,.check-card small{display:block}.check-card small{color:#60758a;margin-top:3px}.highlight-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:16px}.highlight-grid article{background:#edf7f3;border:1px solid #bde1d1;border-radius:15px;padding:17px}.highlight-grid small,.highlight-grid strong,.highlight-grid span{display:block}.highlight-grid small{color:#52667a}.highlight-grid strong{margin:7px 0;color:#102a43}.highlight-grid span{color:#16825d;font-weight:800}.winner-panel{background:linear-gradient(135deg,#eaf6f1,#f6fbf9);border-left:5px solid #16825d;border-radius:15px;padding:22px;margin-bottom:16px}.winner-panel>div{display:flex;justify-content:space-between;gap:20px}.winner-panel h2{margin:4px 0}.winner-panel>div>strong{font-size:28px;color:#16825d}.bar-chart{margin-top:24px}.bar-row{display:grid;grid-template-columns:220px 1fr 50px;align-items:center;gap:12px;margin:10px 0;font-size:13px}.bar-row>div{height:12px;background:#e5edf4;border-radius:10px;overflow:hidden}.bar-row i{display:block;height:100%;background:linear-gradient(90deg,#1677c8,#16825d)}.methodology{margin-top:24px;padding:16px;background:#f5f8fb;border-radius:12px}.button-row{display:flex;align-items:center;gap:10px;justify-content:flex-end}
@media(max-width:900px){.vehicle-grid,.highlight-grid{grid-template-columns:1fr}.selection-grid,.review-form{grid-template-columns:1fr}.review-form>*{grid-column:1!important}.bar-row{grid-template-columns:110px 1fr 42px}.comparison-hero,.hero-panel.compact{align-items:flex-start;flex-direction:column}}
@media print{.sidebar,.topbar,.no-print,.messages{display:none!important}.app-shell,.app-main,.content{display:block!important;width:100%!important;margin:0!important;padding:0!important}.panel,.comparison-hero,.winner-panel,.highlight-grid article{box-shadow:none!important;break-inside:avoid}.comparison-hero{color:#102a43;background:#fff;border-bottom:2px solid #102a43}.comparison-hero h2{color:#102a43}body{background:#fff}.content{font-size:10pt}}

/* Solar Sob Medida: decisão, inventário e ações seguras. */
.nav-featured{background:linear-gradient(90deg,rgba(75,185,233,.2),rgba(97,200,140,.18));border:1px solid rgba(143,216,255,.25)}
.button.light{background:#fff;color:var(--navy);text-decoration:none}.button.danger{background:var(--red);color:#fff}.danger-outline{border:1px solid #e3aaaa;background:#fff;color:#a33434;text-decoration:none}.danger-link{color:#a33434!important}.danger-zone{border-color:#edc4c4}.positive{color:var(--green)}.negative{color:var(--red)}
.dashboard-kpis{grid-template-columns:repeat(4,minmax(0,1fr));margin:1rem 0}.profile-strip{display:flex;flex-wrap:wrap;gap:.7rem;margin:0 0 1rem}.profile-strip span,.config-note{background:var(--canvas);border-radius:10px;padding:.7rem .9rem;color:var(--muted)}.config-note{border-left:4px solid var(--yellow)}
.search-bar{display:grid;grid-template-columns:minmax(220px,2fr) minmax(160px,1fr) auto;gap:.75rem}.search-bar input,.search-bar select{border:1px solid #cbd8e2;border-radius:10px;padding:.8rem}.actions{display:flex;align-items:center;flex-wrap:wrap;gap:.55rem}.actions form{margin:0}.actions .compact-action{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:.42rem .68rem;font-size:.76rem;line-height:1;text-decoration:none;white-space:nowrap}.history-item{border-top:1px solid var(--line);padding:1rem 0}.history-item p{color:var(--muted)}.answer-card{border-left:5px solid var(--green)}
@media(max-width:1050px){.dashboard-kpis{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.dashboard-kpis,.search-bar{grid-template-columns:1fr}.document-row{flex-direction:column}.button-row{flex-wrap:wrap;justify-content:flex-start}}
.filter-bar{display:grid;grid-template-columns:2fr 1fr auto;gap:.75rem;margin-top:1rem}.filter-bar input,.filter-bar select{border:1px solid var(--line);border-radius:10px;padding:.8rem}.partner-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:1rem}.partner-card img{width:100%;height:110px;object-fit:contain}.partner-card small,.sponsor-banner small{color:var(--blue);font-weight:800}.sponsor-banner{display:grid;grid-template-columns:minmax(260px,42%) 1fr;gap:1.5rem;align-items:center;background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;margin-top:1rem;min-height:210px}.sponsor-banner picture,.sponsor-banner img{display:block;width:100%;height:100%;min-height:210px;object-fit:cover}.sponsor-banner>div{padding:1.25rem}.sponsor-banner h2{margin:.35rem 0}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}@media(max-width:760px){.filter-bar,.partner-grid,.sponsor-banner{grid-template-columns:1fr}.sponsor-banner>div{padding:1rem}.sponsor-banner picture,.sponsor-banner img{min-height:150px}}
.campaign-section{margin:1.25rem 0}.section-heading-inline{margin:1rem 0}.section-heading-inline h2{margin:.2rem 0}.campaign-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.campaign-card{display:flex;flex-direction:column;background:#fff;border:1px solid #b9d9ea;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}.campaign-media{min-height:130px;background:var(--canvas);display:grid;place-items:center}.campaign-media img{display:block;width:100%;height:160px;object-fit:cover}.campaign-content{padding:1.15rem;display:flex;flex-direction:column;flex:1}.campaign-content h3{margin:.35rem 0}.campaign-content .button-row{margin-top:auto;padding-top:.75rem;justify-content:flex-start}.sponsored-label{font-size:.72rem;letter-spacing:.04em;text-transform:uppercase;color:var(--blue);font-weight:800}.campaign-partner{font-weight:800;margin:.65rem 0 0}.campaign-meta{color:var(--muted);font-size:.88rem}.partner-profile-header{display:flex;align-items:center;gap:1.25rem}.partner-profile-header img{width:140px;height:90px;object-fit:contain}.partner-public-data{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.partner-public-data div{background:var(--canvas);border-radius:10px;padding:.8rem}.partner-public-data dt{color:var(--muted);font-size:.8rem}.partner-public-data dd{margin:.25rem 0 0;font-weight:700}.commercial-period-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:.75rem;align-items:end}.commercial-period-form label{display:grid;gap:.3rem}.commercial-period-form input,.commercial-period-form select{border:1px solid var(--line);border-radius:10px;padding:.7rem}.campaign-card a:focus-visible,.partner-card a:focus-visible{outline:3px solid var(--blue);outline-offset:3px}@media(max-width:900px){.campaign-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.commercial-period-form{grid-template-columns:1fr 1fr}}@media(max-width:620px){.campaign-grid,.commercial-period-form,.partner-public-data{grid-template-columns:1fr}.partner-profile-header{align-items:flex-start;flex-direction:column}.campaign-media img{height:145px}}

/* Identidade visual Solar Sob Medida */
:root{--navy:#071f42;--navy-2:#0b3267;--blue:#155a9a;--sky:#edf5fb;--green:#14825e;--green-bg:#e9f7f1;--yellow:#e4a700;--gold:#e4a700;--gold-soft:#fff4cc;--ink:#12243b;--muted:#64748b;--line:#dce5ef;--surface:#fff;--canvas:#f2f6fa;--radius:18px;--shadow:0 14px 38px rgba(7,31,66,.08)}
body{background:var(--canvas);letter-spacing:-.005em}.eyebrow{color:var(--blue);letter-spacing:.16em}.button{border-radius:11px;padding:.78rem 1.08rem}.button.primary{background:linear-gradient(135deg,var(--navy),var(--navy-2));box-shadow:0 8px 20px rgba(7,31,66,.16)}.button.primary:hover{background:linear-gradient(135deg,#0b2a58,#155a9a);box-shadow:0 10px 25px rgba(7,31,66,.22)}
.auth-body{background:#f5f8fb}.auth-shell{grid-template-columns:minmax(520px,52%) 1fr;background:#f5f8fb}.auth-brand{position:relative;overflow:hidden;padding:clamp(2.5rem,5vw,5.5rem);background:radial-gradient(circle at 85% 14%,rgba(228,167,0,.22),transparent 28%),linear-gradient(145deg,#061a38 0%,#092b59 58%,#0d477e 100%);justify-content:space-between}.auth-brand:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(to bottom,black,transparent 85%)}.auth-brand:after{content:"";position:absolute;width:420px;height:420px;border:1px solid rgba(228,167,0,.2);border-radius:50%;right:-180px;bottom:-220px;box-shadow:0 0 0 42px rgba(228,167,0,.035),0 0 0 84px rgba(228,167,0,.025)}.auth-brand-content,.auth-brand footer{position:relative;z-index:1}.auth-logo-frame{width:min(100%,430px);height:235px;overflow:hidden;border-radius:24px;background:#fff;box-shadow:0 24px 70px rgba(0,0,0,.28);margin-bottom:2.2rem}.auth-logo-frame img{display:block;width:100%;height:auto;transform:translateY(-18%)}.auth-brand .eyebrow{color:#f5c84b}.auth-brand h1{font-size:clamp(2.3rem,4.3vw,4.6rem);line-height:1.02;letter-spacing:-.04em;margin:.65rem 0 1.2rem;max-width:760px}.auth-brand h1 span{color:#f5c84b}.auth-brand>footer{font-size:.76rem;letter-spacing:.13em;text-transform:uppercase;color:#a7bad1}.auth-benefits span{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.18);backdrop-filter:blur(8px)}.auth-panel{position:relative;align-content:center;justify-items:center;background:radial-gradient(circle at 100% 0,#e6f1f9,transparent 36%),#f7f9fc;padding:clamp(2rem,5vw,5rem)}.auth-panel-brand{position:absolute;top:2rem;right:2.4rem;color:var(--muted);font-size:.78rem;font-weight:700;display:flex;align-items:center;gap:.45rem}.status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#2ab47d;box-shadow:0 0 0 4px rgba(42,180,125,.13)}.auth-card{width:min(100%,480px);border:1px solid rgba(213,225,236,.85);border-radius:26px;padding:clamp(2rem,4vw,3.2rem);box-shadow:0 28px 80px rgba(7,31,66,.13)}.auth-card h2{font-size:2.1rem;letter-spacing:-.035em}.auth-card:before{content:"";display:block;width:42px;height:4px;border-radius:99px;background:var(--gold);margin-bottom:1.4rem}.auth-card .field input,.auth-card .field select{min-height:48px;background:#fbfdff;border-color:#cfdae5}.auth-card .field input:focus{box-shadow:0 0 0 4px rgba(21,90,154,.09)}.auth-copyright{position:absolute;bottom:1.5rem;color:#8492a5;font-size:.75rem}.auth-switch a{font-weight:750;text-decoration:none}
.app-shell{grid-template-columns:286px minmax(0,1fr)}.sidebar{background:linear-gradient(180deg,#061b39 0%,#082a57 62%,#0b396d 100%);padding:1rem 1rem 1.25rem;display:flex;flex-direction:column;box-shadow:8px 0 30px rgba(7,31,66,.1)}.sidebar-brand{display:flex;flex-direction:column;align-items:stretch;padding:.25rem .45rem 1rem;border-bottom:1px solid rgba(255,255,255,.09)}.sidebar-logo-frame{height:118px;overflow:hidden;border-radius:16px;background:#fff;box-shadow:0 12px 26px rgba(0,0,0,.2)}.sidebar-logo-frame img{display:block;width:100%;height:auto;transform:translateY(-19%)}.sidebar-brand small{text-align:center;color:#b9cce0;margin:.65rem 0 0;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}.sidebar nav{padding-top:.2rem}.nav-group{color:#7798bb;font-size:.61rem;margin:1.15rem .75rem .4rem}.nav-link{padding:.66rem .8rem;border:1px solid transparent;color:#d9e7f4;font-size:.9rem}.nav-link b{width:26px;height:26px;display:grid;place-items:center;border-radius:8px;background:rgba(255,255,255,.06);color:#9eb7d0;font-size:.76rem}.nav-link:hover{background:rgba(255,255,255,.075);border-color:rgba(255,255,255,.08);transform:translateX(2px)}.nav-featured{background:linear-gradient(90deg,rgba(228,167,0,.18),rgba(255,255,255,.04));border-color:rgba(228,167,0,.25)}.nav-featured b{color:#f5c84b;background:rgba(228,167,0,.12)}.sidebar-footer{margin-top:auto;padding:1rem .7rem 0;border-top:1px solid rgba(255,255,255,.08);display:flex;align-items:center;gap:.6rem;color:#9db5cc;font-size:.72rem}.topbar{height:88px;padding:0 clamp(1.2rem,3vw,2.7rem);background:rgba(255,255,255,.94);backdrop-filter:blur(14px);border-color:#e3eaf1}.topbar-title h1{font-size:1.45rem;letter-spacing:-.025em}.topbar-title .eyebrow{color:var(--gold);font-size:.59rem}.avatar{width:42px;height:42px;background:linear-gradient(145deg,var(--navy),var(--blue));color:#fff;box-shadow:0 7px 16px rgba(7,31,66,.16)}.logout-button{border:1px solid var(--line);background:#fff;color:var(--navy);border-radius:9px;padding:.48rem .7rem;font-weight:750;cursor:pointer}.logout-button:hover{border-color:#b8c8d8;background:#f5f8fb}.content{padding:clamp(1.25rem,3vw,2.7rem);max-width:1560px}.welcome-card{background:radial-gradient(circle at 88% 12%,rgba(228,167,0,.32),transparent 24%),linear-gradient(125deg,#071f42,#0b3f76);border:1px solid rgba(255,255,255,.06);box-shadow:0 24px 55px rgba(7,31,66,.16)}.welcome-card .eyebrow{color:#f5c84b}.metric,.panel,.step-card,.card{border-color:#e0e8f0;box-shadow:0 12px 34px rgba(7,31,66,.055)}.metric,.step-card{transition:transform .18s ease,box-shadow .18s ease}.metric:hover,.step-card:hover{transform:translateY(-2px);box-shadow:0 17px 40px rgba(7,31,66,.1)}.step-card>span{background:var(--gold-soft);color:#9a7000}.metric strong{color:var(--navy)}
@media(max-width:1050px){.app-shell{grid-template-columns:1fr}.sidebar{width:286px;left:-296px}.auth-shell{grid-template-columns:minmax(380px,46%) 1fr}.auth-logo-frame{height:190px}.auth-brand h1{font-size:2.6rem}}
@media(max-width:760px){.auth-shell{display:block}.auth-brand{min-height:auto;padding:1.5rem}.auth-logo-frame{width:260px;height:140px;margin:0 auto 1.25rem}.auth-brand h1{font-size:2rem}.auth-brand>p:not(.eyebrow),.auth-benefits,.auth-brand footer{display:none}.auth-brand .eyebrow{text-align:center}.auth-panel{padding:1.2rem;min-height:58vh}.auth-panel-brand,.auth-copyright{position:static;margin:0 0 1rem}.auth-card{border-radius:20px;padding:1.5rem}.sidebar-logo-frame{height:112px}}
.sidebar-logo-frame{height:142px}.sidebar-logo-frame img{transform:translateY(-17%)}.welcome-card .button.light{background:#fff;color:var(--navy);box-shadow:0 10px 24px rgba(0,0,0,.18)}.welcome-card .button.light:hover{background:#fff7dc;color:#071f42}
.auth-logo-frame{background:transparent;border-radius:0;box-shadow:none}.auth-logo-frame img{filter:drop-shadow(0 0 8px rgba(255,255,255,.98)) drop-shadow(0 0 24px rgba(255,255,255,.72)) drop-shadow(0 0 48px rgba(255,255,255,.35))}.sidebar-logo-frame{background:transparent;border-radius:0;box-shadow:none}.sidebar-logo-frame img{filter:drop-shadow(0 0 7px rgba(255,255,255,.95)) drop-shadow(0 0 18px rgba(255,255,255,.6))}
.auth-logo-frame{position:relative;width:min(100%,520px);height:300px;overflow:visible;margin:0 auto 1.4rem;display:flex;align-items:center;justify-content:center}.auth-logo-frame:before{content:"";position:absolute;inset:13% 3% 18%;border-radius:50%;background:radial-gradient(ellipse,rgba(255,255,255,.27) 0,rgba(255,255,255,.14) 42%,transparent 72%);filter:blur(22px);pointer-events:none}.auth-logo-frame img{position:relative;z-index:1;transform:translateY(-10%);filter:brightness(1.08) contrast(1.1) drop-shadow(0 0 7px rgba(255,255,255,1)) drop-shadow(0 0 20px rgba(255,255,255,.68)) drop-shadow(0 0 40px rgba(255,255,255,.32))}@media(max-width:760px){.auth-logo-frame{width:300px;height:185px}.auth-logo-frame img{transform:translateY(-10%)}}
.dashboard-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:1rem}.summary-block{margin-top:0}.summary-block h2{margin:.35rem 0 1rem;color:var(--navy)}.summary-list{display:grid;gap:.55rem;margin:0}.summary-list>div{display:flex;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--line);padding:.55rem 0}.summary-list dt{color:var(--muted)}.summary-list dd{margin:0;text-align:right;font-weight:750;color:var(--navy)}.practical-reading ol{padding-left:1.25rem}.practical-reading li{margin:.75rem 0;line-height:1.45}.detail-row td{padding-top:0;background:#fbfdff}.detail-row summary,.source-audit summary{cursor:pointer;color:var(--blue);font-weight:750}.source-audit{margin:1rem 0}.status-pill:not(.success){background:#fff4cc;color:#7a5900}@media(max-width:1150px){.dashboard-summary-grid{grid-template-columns:1fr 1fr}.practical-reading{grid-column:1/-1}}@media(max-width:760px){.dashboard-summary-grid{grid-template-columns:1fr}.practical-reading{grid-column:auto}.summary-list>div{align-items:flex-start;flex-direction:column}.summary-list dd{text-align:left}}

/* Planos públicos */
.landing-body{margin:0;background:#f5f8fc;color:var(--navy);font-family:Inter,system-ui,sans-serif}.landing-header{height:88px;display:flex;align-items:center;gap:2rem;padding:0 clamp(1rem,5vw,5rem);background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:30}.landing-brand img{display:block;width:185px;height:70px;object-fit:contain}.landing-header nav{display:flex;gap:1.6rem;margin-left:auto}.landing-header nav a,.landing-footer a{color:var(--navy);text-decoration:none;font-weight:700}.landing-actions{display:flex;gap:.7rem}.landing-hero{min-height:570px;background:radial-gradient(circle at 78% 30%,rgba(255,196,31,.16),transparent 28%),linear-gradient(135deg,#061d3f,#0a356a);color:#fff;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:4rem;align-items:center;padding:clamp(3rem,7vw,7rem) clamp(1.5rem,8vw,8rem)}.landing-hero h1{font-size:clamp(2.8rem,6vw,5.6rem);line-height:.97;margin:.5rem 0 1.5rem;letter-spacing:-.055em}.landing-hero h1 span{color:#ffc529}.landing-hero>div>p:not(.eyebrow){font-size:1.15rem;line-height:1.7;max-width:760px;color:#d9e8f7}.landing-insight{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);border-radius:22px;padding:2rem;box-shadow:0 28px 70px rgba(0,0,0,.18)}.landing-insight li{margin:.9rem 0;color:#eaf4ff}.landing-section{padding:clamp(4rem,7vw,7rem) clamp(1.25rem,7vw,7rem);max-width:1500px;margin:auto}.section-heading{text-align:center;max-width:760px;margin:0 auto 2.5rem}.section-heading h2{font-size:clamp(2rem,4vw,3.4rem);margin:.4rem 0}.billing-tabs{display:flex;justify-content:center;background:#e7eef6;border-radius:999px;padding:.3rem;width:max-content;margin:0 auto 2rem}.billing-tabs button{border:0;background:transparent;padding:.72rem 1.35rem;border-radius:999px;font-weight:800;color:#5c6d80}.billing-tabs button.active{background:#fff;color:var(--navy);box-shadow:0 5px 16px rgba(7,32,67,.12)}.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}.pricing-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:2rem;position:relative;display:flex;flex-direction:column;box-shadow:0 16px 45px rgba(8,35,70,.07)}.pricing-card.recommended{border:2px solid #e4aa00;transform:translateY(-8px)}.plan-badge{position:absolute;top:-15px;right:22px;background:#e4aa00;color:#071f43;border-radius:999px;padding:.45rem .8rem;font-size:.72rem;font-weight:900}.pricing-card h3{font-size:1rem;line-height:1.55;color:#64768a;min-height:50px}.plan-price{display:flex;align-items:baseline;gap:.25rem;margin:1rem 0}.plan-price strong{font-size:2.2rem}.pricing-card ul{padding:0;list-style:none;flex:1}.pricing-card li{padding:.55rem 0;border-bottom:1px solid #edf2f6}.pricing-card li::before{content:'✓';color:#0a9b69;font-weight:900;margin-right:.55rem}.comparison-section{padding-top:2rem}.plan-table th:not(:first-child),.plan-table td:not(:first-child){text-align:center}.landing-footer{display:flex;justify-content:space-between;align-items:center;gap:2rem;background:#061d3f;color:#fff;padding:2rem clamp(1.25rem,7vw,7rem)}.landing-footer>div{display:flex;gap:1rem;align-items:center}.landing-footer a{color:#fff}.selected-plan{display:grid;grid-template-columns:1fr auto;gap:.2rem 1rem;background:#eef5fc;border:1px solid #cee0f0;border-radius:12px;padding:1rem;margin:1rem 0}.selected-plan span,.selected-plan small{color:#63768b}.selected-plan a{grid-row:1/3;grid-column:2;align-self:center;font-weight:800}

/* Administração de usuários */
.admin-filters{display:grid;grid-template-columns:2fr 1fr 1fr 1fr auto;gap:.8rem;align-items:end;margin:1.25rem 0}.admin-filters label{display:grid;gap:.35rem;font-size:.78rem;font-weight:800}.admin-filters input,.admin-filters select{min-height:44px;border:1px solid var(--line);border-radius:9px;padding:.6rem;background:#fff}.table-actions{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}.table-actions a,.table-actions button{border:0;background:#edf4fa;color:#084e88;border-radius:7px;padding:.42rem .55rem;text-decoration:none;font-size:.72rem;font-weight:800;cursor:pointer}.table-actions form{margin:0}.table-actions .danger-link{color:#a92727;background:#fff0f0}.protected-badge{display:block;width:max-content;margin-top:.35rem;padding:.25rem .45rem;border-radius:999px;background:#fff2c7;color:#7b5900;font-weight:850}.compact-panel{max-width:760px}.impact-list{display:grid;grid-template-columns:repeat(5,1fr);gap:.7rem}.impact-list div{background:#fff4f4;border-radius:10px;padding:.8rem}.impact-list dt{font-size:.72rem;color:#7b4c4c}.impact-list dd{font-size:1.4rem;font-weight:900;margin:.3rem 0 0}

/* Contraste da logomarca interna sem alterar o asset original */
.sidebar-brand{align-items:center;text-align:center;padding:.5rem .25rem 1.1rem;gap:.35rem}.sidebar-logo-frame{display:block;width:100%;height:132px;overflow:hidden;position:relative;border-radius:18px;background:#fff;padding:.35rem}.sidebar-logo-frame img{display:block;width:100%;height:100%;object-fit:contain;transform:none;filter:none;mix-blend-mode:normal}.sidebar-brand>small{color:#f4f8fc;text-shadow:0 1px 8px rgba(255,255,255,.28)}

@media(max-width:980px){.landing-header nav{display:none}.landing-hero{grid-template-columns:1fr;min-height:auto}.pricing-grid{grid-template-columns:1fr}.pricing-card.recommended{transform:none}.admin-filters{grid-template-columns:1fr 1fr}.impact-list{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.landing-header{height:auto;padding:.7rem 1rem;flex-wrap:wrap}.landing-brand img{width:145px;height:52px}.landing-actions{margin-left:auto}.landing-actions .button{padding:.6rem .75rem}.landing-hero{padding:3.5rem 1.2rem}.landing-footer,.landing-footer>div{align-items:flex-start;flex-direction:column}.admin-filters{grid-template-columns:1fr}.sidebar-logo-frame{height:112px}.sidebar-logo-frame img{height:auto}}

/* Leitura e aceite do documento jurídico vigente. */
.legal-card{width:min(100%,620px)}.legal-card .notice{margin:1.15rem 0}.legal-acceptance-form{margin:1rem 0}.check-row{display:flex;align-items:flex-start;gap:.75rem;padding:1rem;border:1px solid var(--line);border-radius:12px;line-height:1.5;cursor:pointer}.check-row input{width:1.15rem;height:1.15rem;margin:.2rem 0 0;flex:none;accent-color:var(--navy)}.button:disabled{cursor:not-allowed;opacity:.5;transform:none!important;box-shadow:none!important}.legal-dialog-open{overflow:hidden}.legal-dialog{width:min(960px,calc(100vw - 2rem));height:min(88dvh,900px);max-width:none;max-height:none;padding:0;border:0;border-radius:18px;background:#fff;color:var(--ink);box-shadow:0 28px 90px rgba(7,31,66,.35)}.legal-dialog::backdrop{background:rgba(4,20,42,.7);backdrop-filter:blur(3px)}.legal-dialog-shell{height:100%;display:grid;grid-template-rows:auto minmax(0,1fr)}.legal-dialog-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1.5rem;padding:1.25rem 1.5rem;border-bottom:1px solid var(--line);background:#f8fafc}.legal-dialog-header h2{font-size:1.3rem;margin:.15rem 0 .3rem}.legal-dialog-header p:last-child{margin:0;color:var(--muted);font-size:.88rem}.legal-dialog-close{border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--navy);padding:.6rem .8rem;font-weight:800;cursor:pointer}.legal-dialog-body{overflow-y:auto;overscroll-behavior:contain;padding:clamp(1.25rem,4vw,3rem);outline:none;scrollbar-gutter:stable}.legal-dialog-body:focus-visible{box-shadow:inset 0 0 0 3px rgba(40,120,185,.22)}.legal-document-content{max-width:760px;margin:auto;font-family:"Segoe UI",Arial,sans-serif;line-height:1.65}.legal-document-content h1{font-size:clamp(1.55rem,3vw,2.2rem);line-height:1.2;margin:0;text-align:center;color:var(--navy)}.legal-product-name{text-align:center!important;font-weight:900;letter-spacing:.12em;color:var(--blue)}.legal-version{text-align:center!important;color:var(--muted);margin-bottom:2rem}.legal-document-content h2{font-size:1.05rem;line-height:1.35;margin:2rem 0 .75rem;color:var(--navy)}.legal-document-content p{margin:.7rem 0;text-align:justify}.legal-roman{padding-left:2rem}.legal-roman li{padding-left:.25rem;margin:.38rem 0}
@media(max-width:760px){.legal-card{width:100%}.legal-dialog{width:100vw;height:100dvh;border-radius:0}.legal-dialog-header{padding:1rem;gap:.75rem}.legal-dialog-header h2{font-size:1.05rem}.legal-dialog-close{padding:.55rem .65rem}.legal-dialog-body{padding:1.1rem}.legal-document-content p{text-align:left}.legal-document-content h2{margin-top:1.6rem}}
.landing-brand{display:block;width:185px;height:70px;overflow:hidden}.landing-brand img{display:block;width:100%;height:100%;object-fit:contain;transform:none;filter:none}.plan-price[hidden]{display:none!important}@media(max-width:620px){.landing-brand{width:145px;height:52px}.landing-brand img{width:100%;height:100%}}

/* As marcas oficiais são exibidas sem recorte, brilho, recoloração ou distorção. */
.auth-logo-frame{background:#fff;border-radius:24px;box-shadow:0 24px 70px rgba(0,0,0,.28);overflow:hidden;padding:.5rem}
.auth-logo-frame:before{display:none}
.auth-logo-frame img{display:block;width:100%;height:100%;object-fit:contain;transform:none;filter:none}
.sidebar-brand-name{color:#fff;font-size:.9rem;letter-spacing:.055em;text-transform:uppercase;text-shadow:0 0 8px rgba(255,255,255,.32)}.sidebar-brand>small{margin-top:0;font-size:.66rem;color:#cbdced}

/* Lixeira de documentos e confirmação de impacto. */
.document-dialog-open{overflow:hidden}.document-dialog{width:min(720px,calc(100vw - 2rem));max-width:none;padding:0;border:0;border-radius:18px;background:#fff;color:var(--ink);box-shadow:0 28px 90px rgba(7,31,66,.35)}.document-dialog::backdrop{background:rgba(4,20,42,.7);backdrop-filter:blur(3px)}.document-dialog-shell{display:grid;grid-template-rows:auto minmax(0,1fr) auto;max-height:min(88dvh,820px)}.document-dialog-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1.2rem 1.4rem;border-bottom:1px solid var(--line);background:#f8fafc}.document-dialog-header h2{font-size:1.3rem;margin:.15rem 0}.document-dialog-close{border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--navy);padding:.55rem .7rem;font-weight:800;cursor:pointer}.document-dialog-body{overflow-y:auto;padding:1.4rem}.document-dialog-actions{display:flex;justify-content:flex-end;gap:.7rem;padding:1rem 1.4rem;border-top:1px solid var(--line);background:#f8fafc}.document-impact-list{margin:.7rem 0 0;padding-left:1.25rem}.document-impact-list li{margin:.35rem 0}.delete-options{border:0;padding:0;margin:1.2rem 0;display:grid;gap:.65rem}.delete-options legend{font-weight:850;margin-bottom:.55rem}.choice-card{display:flex;align-items:flex-start;gap:.75rem;padding:1rem;border:1px solid var(--line);border-radius:12px;cursor:pointer}.choice-card:has(input:checked){border-color:var(--blue);background:#f2f8fd}.choice-card input{width:1.1rem;height:1.1rem;margin:.2rem 0 0;accent-color:var(--navy)}.choice-card span{display:grid;gap:.2rem}.choice-card small{color:var(--muted);line-height:1.45}.related-confirm{margin:1rem 0;border-color:#e0a0a0;background:#fff7f7}.related-confirm[hidden]{display:none}
@media(max-width:760px){.document-dialog{width:100vw;max-height:none;border-radius:0}.document-dialog-shell{height:100dvh;max-height:none}.document-dialog-header,.document-dialog-body,.document-dialog-actions{padding:1rem}}

/* Indicadores técnicos de armazenamento, exclusivos do Desenvolvedor. */
.storage-panel h3{margin:1.5rem 0 .75rem}.storage-meter{height:14px;margin:1.25rem 0 .65rem;border-radius:999px;background:#e6edf4;overflow:hidden}.storage-meter>span{display:block;height:100%;min-width:2px;border-radius:inherit;background:var(--green)}.storage-meter>.storage-meter-attention{background:#d69c00}.storage-meter>.storage-meter-high{background:#dc6b20}.storage-meter>.storage-meter-critical{background:#bf2c2c}.storage-thresholds{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem;color:var(--muted);font-size:.75rem}.storage-status-normal{background:var(--green-bg);color:var(--green)}.storage-status-attention{background:#fff4cc;color:#7a5900}.storage-status-high,.storage-status-critical{background:#fff0f0;color:#a92727}.storage-note{margin:1rem 0 0}

/* Campos calculados do inventário energético. */
.equipment-form-panel>.muted{margin:0 0 1.25rem;padding:1rem;border-left:4px solid var(--blue);border-radius:10px;background:var(--sky);line-height:1.55}.field input.calculated-field{background:#eef3f7;color:#344b62;border-style:dashed;font-weight:800;cursor:not-allowed}.field input.calculated-field:disabled{opacity:1;-webkit-text-fill-color:#344b62}.catalog-empty{color:#8a5b00}.vehicle-technical-fields{grid-column:1/-1;border:1px solid var(--line);border-radius:14px;padding:1rem}.vehicle-technical-fields summary{cursor:pointer;font-weight:800;color:var(--navy)}.vehicle-technical-fields .form-grid{margin-top:1rem}
