:root{--navy:#14264e;--ink:#182950;--muted:#677591;--blue:#405adb;--indigo:#5b50e8;--cyan:#17b2c3;--paper:#fff;--bg:#f5f7fc;--line:#e3e8f2;--error:#ba2b38;--shadow:0 14px 38px rgba(24,42,93,.065);--radius:18px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;font-size:14px;background:var(--bg);line-height:1.6}button,input,textarea,select{font:inherit}a{color:var(--blue);text-decoration:none}a:hover{color:#243ca7}button{cursor:pointer}button:disabled{opacity:.65;cursor:wait}.container{width:min(1180px,calc(100% - 42px));margin:0 auto}.page-main{min-height:calc(100vh - 220px)}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.2;letter-spacing:-.035em}h1{font-size:clamp(31px,4vw,48px)}h2{font-size:26px}h3{font-size:17px}p{color:var(--muted)}.eyebrow{font-size:11px;letter-spacing:.12em;font-weight:800;color:#5264ba}.eyebrow.light{color:#92e6fa}.muted{color:var(--muted)}.fine-print{font-size:12px;margin-top:18px;margin-bottom:0}.required{color:#ea5671}
.load-progress{height:3px;width:0;position:fixed;z-index:999;left:0;top:0;background:linear-gradient(90deg,var(--cyan),var(--indigo));transition:width .2s;pointer-events:none}.load-progress.active{width:82%;animation:loadline 2.4s ease-in-out infinite}@keyframes loadline{0%{width:5%;opacity:1}70%{width:90%}100%{width:94%;opacity:.6}}
.topline{background:#152a52;color:#b9cee7;font-size:11px}.top-inner{display:flex;justify-content:space-between;min-height:30px;align-items:center}.top-secure{color:#90dccc}.navbar{position:sticky;z-index:50;top:0;background:#fff;border-bottom:1px solid #e9edf5;box-shadow:0 6px 22px rgba(15,36,90,.03)}.nav-inner{display:flex;justify-content:space-between;align-items:center;min-height:79px;gap:20px}.brand{display:flex;align-items:center;gap:11px;color:var(--ink);flex-shrink:0}.brand-symbol{background:linear-gradient(135deg,#274d9b,#6054ed);color:#fff;border-radius:12px;padding:11px 8px;font-size:20px;font-weight:800;letter-spacing:-.07em;box-shadow:0 8px 18px rgba(68,78,191,.19)}.brand-words{display:flex;flex-direction:column;line-height:1.33}.brand-words b{font-size:17px;letter-spacing:-.04em}.brand-words small{color:#7b88a1;font-size:10px;margin-top:3px}.nav-menu{display:flex;align-items:center;gap:26px}.nav-menu>a:not(.btn){font-size:13px;font-weight:600;color:#374466}.nav-menu>a:not(.btn):hover{color:var(--indigo)}.nav-menu form{margin:0}.user-chip{padding:8px 12px;border-radius:999px;background:#f0f3fb;color:#53658b;font-size:11px;max-width:165px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.menu-toggle{display:none;border:0;background:none;width:41px;height:40px;align-items:center;justify-content:center;flex-direction:column;gap:5px}.menu-toggle span{width:21px;height:2px;background:var(--navy);border-radius:2px;transition:transform .25s ease}.menu-toggle.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg)}.menu-toggle.is-open span:nth-child(2){opacity:0}.menu-toggle.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.btn{border:1px solid transparent;min-height:40px;border-radius:10px;padding:10px 18px;display:inline-flex;gap:10px;align-items:center;justify-content:center;font-weight:700;font-size:12px;white-space:nowrap;transition:background-color .2s,box-shadow .2s,transform .2s,filter .2s}.btn:hover{transform:translateY(-2px)}.btn:focus-visible,.field:focus-visible,input:focus-visible,button:focus-visible,a:focus-visible{outline:3px solid rgba(70,104,244,.22);outline-offset:2px}.btn-primary{color:#fff;background:linear-gradient(110deg,#425ed9,#6153ee);box-shadow:0 6px 15px rgba(71,76,209,.18)}.btn-primary:hover{color:#fff;box-shadow:0 10px 22px rgba(71,76,209,.26);filter:brightness(1.06)}.btn-outline{background:#fff;border-color:#d9e0ef;color:#344674}.btn-outline:hover{background:#f5f7ff}.btn-muted{background:#edf1f8;color:#456082}.btn-light{background:#fff;color:#344a85;border-color:#e1e7f1}.btn-soft{background:#eef1ff;color:#465ad3}.btn-soft:hover{background:#e4e9ff}.btn-sm{padding:7px 13px;min-height:34px}.btn-large{min-height:49px;padding:12px 23px;font-size:13px}.btn-full{width:100%}.text-button{border:0;background:none;color:#4b57ca;font-weight:700;font-size:12px;padding:6px}.text-button:hover{text-decoration:underline}.form-center{text-align:center;margin-top:15px}.text-link{font-weight:700;font-size:13px}
.hero{background:linear-gradient(125deg,#102755 0%,#203a78 58%,#324a91 100%);color:#fff;position:relative;overflow:hidden}.hero:before{content:"";position:absolute;width:480px;height:480px;border:1px solid #ffffff17;border-radius:50%;right:7%;top:-310px;box-shadow:0 0 0 100px #ffffff05,0 0 0 200px #ffffff04}.hero:after{content:"";position:absolute;width:390px;height:390px;background:radial-gradient(circle,#35d3df26 0%,transparent 65%);bottom:-260px;left:15%}.hero-grid{position:relative;z-index:1;min-height:480px;display:grid;grid-template-columns:1.1fr .8fr;gap:70px;align-items:center;padding-top:65px;padding-bottom:66px}.hero h1{font-size:clamp(35px,4.3vw,52px);margin:18px 0}.hero h1 span{color:#80d7ec}.hero-text p{font-size:15px;line-height:1.85;max-width:540px;color:#d5dfec}.hero-perks{display:flex;gap:22px;flex-wrap:wrap;font-size:11px;color:#d3edff;font-weight:600;margin-top:28px}.hero-card{background:#fff;color:var(--ink);border-radius:20px;padding:29px;box-shadow:0 22px 62px #0c1b4155}.card-step{display:flex;gap:16px;align-items:center;margin-bottom:20px}.step-icon{height:55px;width:55px;display:grid;place-items:center;background:#edf0ff;color:#505be2;font-size:27px;border-radius:15px;flex:0 0 auto}.card-step h2{font-size:20px;margin:4px 0}.card-step p{font-size:12px;margin:0}.hero-card label{font-size:12px;font-weight:700}.hero-card input{height:49px;width:100%;border:1px solid #dce2ec;border-radius:10px;padding:0 14px;color:var(--ink)}.hero-card input:focus{border-color:#677cf0;outline:3px solid #5a6ee220}.hero-card .form-stack{gap:9px}.hero-card .btn{margin-top:8px}.card-note{border-top:1px solid var(--line);display:flex;gap:9px;align-items:flex-start;padding-top:16px;margin-top:20px;color:#7a87a1;font-size:11px}.card-note>span:first-child{color:#16a48a}.home-steps{padding-top:70px;padding-bottom:78px}.section-heading{text-align:center;margin:0 auto 28px}.section-heading h2{font-size:30px;margin:7px 0}.section-heading p{margin:0}.three-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:19px}.feature-card{background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);border-radius:var(--radius);padding:28px;transition:transform .2s}.feature-card:hover{transform:translateY(-4px)}.feature-number{font-size:25px;font-weight:800;color:#d0d9f6}.feature-card h3{margin:15px 0 9px;font-size:17px}.feature-card p{font-size:12px;line-height:1.9;margin:0}.notice-light{margin-top:24px;background:#fdfefe;border:1px solid var(--line);border-left:3px solid var(--indigo);padding:18px 20px;border-radius:10px;font-size:12px;color:#5d6985;line-height:1.8}
.page-head{background:linear-gradient(130deg,#172e60,#2a4482);color:#fff;padding:38px 0 42px}.breadcrumbs{color:#bdd2ff;font-size:10px;font-weight:800;letter-spacing:.13em}.breadcrumbs span{margin:0 9px;opacity:.5}.page-head-line{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:15px}.page-head h1{font-size:32px;margin:0 0 9px}.page-head p{color:#c4d4ef;margin:0;font-size:12px}.page-pad{padding-top:35px;padding-bottom:75px}.panel{background:#fff;border:1px solid #e3e7f0;border-radius:var(--radius);box-shadow:var(--shadow)}.notice-strip{display:flex;gap:17px;padding:20px 23px;background:#eff6fe;border:1px solid #daeafa;border-radius:12px;margin-bottom:23px}.notice-ico{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;flex:0 0 auto;background:#dceaff;color:#3258a1;font-weight:800;font-size:18px}.notice-strip b{font-size:12px}.notice-strip p{margin:3px 0 0;color:#647592;font-size:11.5px;line-height:1.85}.calculator-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:24px;align-items:start}.calc-panel{padding:36px}.panel-heading h2{margin:7px 0 9px;font-size:25px}.panel-heading p{font-size:12px;margin-bottom:28px}.form-stack{display:flex;flex-direction:column;gap:11px}.form-stack label,.admin-panel label{font-size:12px;font-weight:700;color:#37466b}.field{display:block;width:100%;min-height:48px;border:1px solid #dce2ed;border-radius:10px;background:#fff;padding:11px 14px;font-size:13px;color:#26385c;transition:border-color .2s,box-shadow .2s}.field:focus{border-color:#6779ee;box-shadow:0 0 0 3px #6779ee1e;outline:none}.field::placeholder{color:#a0aac0}select.field{cursor:pointer}textarea.field{min-height:86px;resize:vertical}.form-errors:not(:empty){background:#fff1f1;border-radius:9px;color:#aa2336;padding:10px 15px;font-size:12px}.form-errors ul{margin:0;padding-left:16px}.validation{font-size:11px;color:#b32938}.validation:empty{display:none}.field-help{font-size:11px;color:#8a96ac;margin-top:-4px}.input-money{position:relative}.input-money>span{position:absolute;top:14px;left:15px;font-weight:800;color:#7787a5}.input-money input{padding-left:48px;font-size:19px;font-weight:700}.calc-actions{display:flex;gap:10px;flex-wrap:wrap;padding-top:16px}.side-panel{padding:28px}.round-symbol{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;color:#4462d7;background:#ecf0ff;font-size:26px;margin-bottom:16px}.side-panel h3{font-size:17px}.side-panel p{font-size:12px;margin:22px 0 0;line-height:1.9}.cost-explainer{display:flex;flex-direction:column;gap:13px;margin:19px 0}.cost-explainer span{display:flex;gap:10px;font-size:12px;font-weight:600;color:#495d7c}.cost-explainer i{width:15px;height:15px;border-radius:5px;background:#e3eafa;border:3px solid #6d82e4}.side-note{padding:20px 7px;color:#8e9bb2;font-size:11px;line-height:1.9}
.auth-wrap{display:grid;grid-template-columns:.9fr 1fr;max-width:1000px;gap:70px;align-items:center;min-height:620px;padding-top:75px;padding-bottom:90px}.auth-visual h1{font-size:clamp(35px,4vw,48px);margin:15px 0}.auth-visual p{max-width:430px;line-height:1.9;font-size:14px}.auth-graphic{display:flex;gap:0;align-items:center;margin-top:32px}.auth-graphic>span{height:55px;width:55px;border:1px solid #dce4f6;border-radius:13px;display:grid;place-items:center;font-weight:800;background:#fff;color:#415bd0;font-size:24px;box-shadow:var(--shadow)}.auth-graphic>span+span{margin-left:-8px}.auth-graphic>span:nth-child(2){transform:translateY(10px);background:#eff3ff}.auth-graphic>span:nth-child(3){background:#dbeefd;color:#0c93b0}.auth-panel{padding:40px;max-width:500px}.icon-box{height:48px;width:48px;display:grid;place-items:center;background:#eef1ff;color:#4a5dde;border-radius:14px;font-size:24px;margin-bottom:20px}.auth-panel h2{font-size:26px;margin:8px 0}.auth-panel p{font-size:12px;line-height:1.9}.auth-panel .form-stack{margin-top:25px}.auth-panel .btn{margin-top:14px}.otp-field{font-size:25px;text-align:center;font-weight:800;letter-spacing:12px}.auth-panel .fine-print{border-top:1px solid var(--line);padding-top:19px;text-align:center}.narrow{max-width:660px}.narrow .panel{padding:40px}
.results-wrap{max-width:1050px;padding-top:28px;padding-bottom:65px}.result-toolbar{display:flex;align-items:center;justify-content:space-between;gap:17px;margin-bottom:16px}.result-toolbar>div:first-child{display:flex;flex-direction:column;gap:6px;font-size:11px}.result-status{color:#168869;font-weight:800}.tool-actions{display:flex;gap:9px;flex-wrap:wrap}.tool-actions form{margin:0}.print-paper{background:#fff;border-radius:14px;border:1px solid #e3e8f3;box-shadow:0 22px 65px #14295712;overflow:hidden;padding:0 49px 33px}.paper-bar{height:6px;background:linear-gradient(90deg,#2a4cb2,#6255ee);margin:0 -49px 32px}.paper-header{text-align:center;position:relative}.paper-header h2{font-size:22px;text-transform:uppercase;margin:12px 0 7px}.paper-header p{font-size:11px;color:#52617f;margin:0;line-height:1.7}.paper-heading{font-weight:800;font-size:12px;margin:17px auto 0;color:#263b68;letter-spacing:.07em}.paper-date{font-size:11px;text-align:right;margin:13px 0 15px;color:#8997ac}.paper-summary{border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:22px;padding:21px 0}.paper-summary>div{display:flex;flex-direction:column;gap:6px}.paper-summary small{color:#8591a6;font-size:10px;font-weight:700;letter-spacing:.045em}.paper-summary strong{color:#26395e;font-size:14px}.cost-table{padding-top:17px}.cost-table h3{font-size:13px;margin-bottom:10px}.cost-row{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:13px 0;border-bottom:1px solid #edf0f5;font-size:12px}.cost-row span{color:#62708a}.cost-row b{white-space:nowrap}.cost-total{margin-top:17px;padding:19px 20px;display:flex;justify-content:space-between;align-items:center;gap:20px;border-radius:12px;background:#e9eeff;color:#243d8b}.cost-total span{font-size:11px;font-weight:800;letter-spacing:.05em}.cost-total strong{font-size:25px}.paper-vigency{display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap;margin-top:19px;color:#929db2;font-size:10px}.paper-disclaimer{margin-top:24px;padding:19px 22px;background:#fcfdff;border-left:3px solid #ec6576}.paper-disclaimer>b{color:#c3374b;font-size:11px;letter-spacing:.02em}.paper-disclaimer p{font-size:10px;color:#596884;line-height:1.85;margin:10px 0 0}.paper-foot{text-align:center;color:#aab4c7;font-size:10px;margin-top:24px}.result-bottom{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:12px;margin-top:25px;color:#748198}
.history-panel{overflow:hidden}.table-scroll{overflow-x:auto}.history-table{width:100%;border-collapse:collapse;text-align:left;font-size:12px;white-space:nowrap}.history-table thead{background:#f6f8fc;color:#6e7b91}.history-table th{font-size:10px;letter-spacing:.07em;text-transform:uppercase}.history-table th,.history-table td{padding:16px 20px;border-bottom:1px solid #edf0f6}.history-table tbody tr:hover{background:#fbfcff}.history-table tr:last-child td{border-bottom:0}.empty-state{text-align:center;padding:60px}.empty-state .icon-box{margin:0 auto 15px}.empty-state h2{font-size:19px}.empty-state p{font-size:12px}.empty-state .btn{margin-top:10px}
.admin-view{max-width:1100px}.admin-panel{padding:31px;margin-bottom:24px}.admin-panel .panel-heading p{margin-bottom:15px}.admin-panel .form-stack{gap:16px}.form-grid{display:grid;gap:15px}.form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.form-grid>div>label{display:block;margin-bottom:7px}.subheading{border-top:1px solid var(--line);padding-top:22px;margin:12px 0 0;font-size:14px}.admin-types{display:flex;flex-direction:column}.admin-type-row{display:grid;grid-template-columns:2fr 1fr auto auto;align-items:center;gap:14px;padding:15px 0;border-top:1px solid var(--line)}.admin-type-name{display:flex;flex-direction:column}.admin-type-name small{color:#8995aa}.checkline{display:flex;align-items:center;gap:6px}.admin-type-row>div>label{display:block;margin-bottom:6px;font-size:11px}.admin-type-row .field{min-height:40px;padding:7px 10px}
.alert{position:relative;border-radius:12px;padding:12px 42px 12px 16px;margin-top:16px;font-size:12px;font-weight:600}.alert-success{color:#156957;background:#e9f8f3;border:1px solid #b9e8d8}.alert-danger{color:#b72f3e;background:#fff0f2;border:1px solid #fad0d8}.alert-dismiss{position:absolute;right:11px;top:10px;background:transparent;border:0;font-size:18px;color:inherit}.flash-zone:empty{display:none}.footer{background:#12234a;color:#aebdda;padding:37px 0}.footer-content{display:flex;justify-content:space-between;gap:45px;align-items:center}.footer-brand{font-size:19px;font-weight:800;color:#8ab5ff}.footer-brand span{color:#fff;font-size:14px;font-weight:700;margin-left:6px}.footer p{color:#aebdda;font-size:11px;margin:6px 0 0}.footer-content>div:last-child{text-align:right;font-size:11px;max-width:360px}.footer-bottom{border-top:1px solid #2c4168;padding-top:9px;margin-top:12px}.footer-bottom b{color:#fff}
@media(max-width:1000px){.nav-menu{gap:14px}.hero-grid{gap:35px}.calculator-grid{grid-template-columns:minmax(0,1fr) 270px}.auth-wrap{gap:35px}}
@media(max-width:790px){.container{width:min(100% - 30px,1180px)}.top-inner{justify-content:center}.top-secure{display:none}.nav-inner{min-height:70px}.menu-toggle{display:flex}.nav-menu{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);padding:20px 17px 25px;flex-direction:column;align-items:stretch;gap:12px;box-shadow:0 15px 25px #14234e1c;animation:menuIn .2s ease}.nav-menu.open{display:flex}.nav-menu>a:not(.btn){padding:10px}.nav-menu form .btn{width:100%}.user-chip{max-width:none}.hero-grid{grid-template-columns:1fr;padding-top:55px;padding-bottom:54px;gap:27px;min-height:0}.hero-text p{max-width:620px}.hero-card{max-width:540px}.three-grid{grid-template-columns:1fr;gap:12px}.home-steps{padding-top:50px;padding-bottom:55px}.calculator-grid{grid-template-columns:1fr}.calc-sidebar{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:18px}.auth-wrap{grid-template-columns:1fr;min-height:0;gap:26px;padding-top:45px;padding-bottom:65px}.auth-visual h1{font-size:33px}.auth-graphic{margin-top:12px}.auth-panel{max-width:none}.result-toolbar{align-items:flex-start}.print-paper{padding:0 24px 29px}.paper-bar{margin:0 -24px 30px}.footer-content{align-items:flex-start}.admin-type-row{grid-template-columns:1fr 1fr}.form-grid.three{grid-template-columns:repeat(2,1fr)}}
@media(max-width:580px){h1{font-size:32px}.topline{font-size:9px}.brand-words b{font-size:15px}.brand-words small{font-size:9px}.hero-grid{padding-top:42px}.hero h1{font-size:35px}.hero-perks{gap:9px 14px}.hero-card,.auth-panel{padding:23px}.page-head{padding:29px 0}.page-head h1{font-size:26px}.page-head-line{align-items:flex-start;flex-direction:column}.calc-panel{padding:23px}.calc-panel .panel-heading h2{font-size:22px}.calc-actions{flex-direction:column}.calc-actions .btn{width:100%}.calc-sidebar{grid-template-columns:1fr}.side-note{padding:0 6px}.auth-wrap{padding-top:30px}.auth-visual h1{font-size:30px}.auth-graphic{display:none}.result-toolbar{flex-direction:column}.tool-actions{width:100%}.tool-actions .btn{flex:1}.tool-actions form{flex:1}.tool-actions form .btn{width:100%}.print-paper{padding:0 17px 20px}.paper-bar{margin:0 -17px 23px}.paper-header h2{font-size:16px}.paper-summary{grid-template-columns:1fr;gap:12px}.cost-total strong{font-size:21px}.cost-row{font-size:11px}.result-bottom{flex-direction:column}.footer-content{flex-direction:column;gap:22px}.footer-content>div:last-child{text-align:left}.form-grid.two,.form-grid.three{grid-template-columns:1fr}.admin-panel{padding:19px}.admin-type-row{grid-template-columns:1fr}.admin-type-row .btn{width:100%}}@keyframes menuIn{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media print{@page{size:A4;margin:13mm}body{background:#fff!important;color:#000!important;font-family:Arial,sans-serif;font-size:10pt}.no-print,.topline,.navbar,.footer,.load-progress,.flash-zone{display:none!important}.page-main{min-height:0}.container,.results-wrap{max-width:none;width:100%;padding:0}.print-paper{border:0;border-radius:0;box-shadow:none;padding:0;overflow:visible}.paper-bar{display:none}.paper-header h2{font-size:16pt}.paper-heading{font-size:11pt}.paper-summary{margin-top:14pt}.cost-row{padding:8pt 0}.cost-total{background:#eee!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.paper-disclaimer{background:#fff;border:1px solid #ddd}.paper-disclaimer p{font-size:8pt}.paper-foot{font-size:8pt}}

/* V0.1.8: documento digital e marca d'água. */
.pdf-feedback{padding:11px 15px;margin-bottom:14px;border:1px solid #d9e2f4;background:#f5f8ff;border-radius:10px;color:#596f9b;font-size:12px}
.pdf-feedback.pdf-ready{background:#effaf5;border-color:#c9edd8;color:#21734f}
.pdf-feedback.pdf-error{background:#fff2f2;border-color:#ffcfcf;color:#b53344}
.print-paper{position:relative;isolation:isolate}
.print-paper>*:not(.paper-watermark){position:relative;z-index:1}
.paper-watermark{position:absolute;inset:18% 9%;display:flex;justify-content:center;align-items:center;text-align:center;pointer-events:none;z-index:0;transform:rotate(-17deg);color:#344e85;font-size:clamp(22px,4vw,44px);letter-spacing:2px;font-weight:850;text-transform:uppercase;overflow:hidden;line-height:1.35}
.paper-watermark img{max-width:min(80%,490px);max-height:420px;object-fit:contain}
.pdf-dialog{width:min(95vw,1090px);height:min(93vh,910px);max-width:none;max-height:none;padding:0;border:1px solid #d5dff1;border-radius:16px;box-shadow:0 28px 110px #10234777;overflow:hidden}
.pdf-dialog::backdrop{background:#101e3ba9;backdrop-filter:blur(3px)}
.pdf-dialog-header{height:70px;display:flex;justify-content:space-between;align-items:center;padding:14px 24px;gap:16px;background:#fff;color:#24365c;font-size:14px}
.pdf-dialog-actions{display:flex;gap:8px;align-items:center}
.pdf-dialog iframe{width:100%;height:calc(100% - 70px);border:0;background:#f3f6ff}
@media(max-width:650px){.pdf-dialog{width:100vw;height:100dvh;border-radius:0}.pdf-dialog-header{padding:10px 13px;gap:8px;font-size:11px}.pdf-dialog-actions .btn{padding:8px}.paper-watermark{font-size:22px}}
@media print{.pdf-feedback,.pdf-dialog{display:none!important}.paper-watermark{position:absolute!important;inset:22% 6%;z-index:0!important;opacity:.08!important}}

/* ========================================================================== 
   V0.1.11 — Padronização visual DC-CERTIDAO-V3
   Mantém a lógica do sistema e unifica cabeçalho, cards, formulários, tabelas,
   feedback de carregamento e responsividade no padrão DigitalCartórios.
   ========================================================================== */
:root{
  --brand-primary:#0A3FEA;
  --brand-primary-dark:#052BBD;
  --brand-cyan:#04C9F4;
  --brand-deep:#06142D;
  --brand-soft:#EAF1FF;
  --brand-bg:#F3F7FC;
  --text-main:#1D2939;
  --text-muted:#667085;
  --border-soft:#E4EAF2;
  --success:#12B76A;
  --danger:#D92D20;
  --dc-shadow:0 10px 30px rgba(17,38,74,.07);
  --dc-shadow-hover:0 16px 38px rgba(17,38,74,.12);
  --dc-radius:14px;
}

@media screen {
  body{
    color:var(--text-main);
    background:var(--brand-bg);
    font-size:14px;
  }
  a{color:var(--brand-primary)}
  a:hover{color:var(--brand-primary-dark)}
  .container{width:min(1180px,calc(100% - 36px))}
  .page-main{min-height:calc(100vh - 210px)}
  h1,h2,h3{letter-spacing:-.025em;color:var(--text-main)}
  p{color:var(--text-muted)}
  .eyebrow{color:var(--brand-primary);font-size:10px;letter-spacing:.14em}
  .eyebrow.light{color:#BEEBFF}

  /* Cabeçalho compacto — padrão DC-CERTIDAO-V3 */
  .topline{background:var(--brand-deep);color:#CBD5E1;font-size:10px}
  .top-inner{min-height:28px}
  .top-secure{color:#D9F7FF;display:flex;align-items:center;gap:7px}
  .secure-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#31D0AA;box-shadow:0 0 0 3px rgba(49,208,170,.14)}
  .navbar{position:sticky;top:0;z-index:80;background:rgba(255,255,255,.98);border-bottom:1px solid var(--border-soft);box-shadow:0 4px 18px rgba(17,38,74,.045);backdrop-filter:saturate(140%) blur(12px)}
  .nav-inner{min-height:68px}
  .brand{gap:10px;color:var(--text-main)}
  .brand:hover{color:var(--text-main)}
  .brand-symbol{width:42px;height:42px;padding:0;display:grid;place-items:center;border-radius:11px;background:linear-gradient(135deg,var(--brand-primary),#316BFF 68%,var(--brand-cyan));box-shadow:0 7px 18px rgba(10,63,234,.22);font-size:17px;letter-spacing:-.06em}
  .brand-words{line-height:1.2}
  .brand-words b{font-size:15px;letter-spacing:-.02em}
  .brand-words small{font-size:9px;color:#7B879B;margin-top:4px}
  .nav-menu{gap:22px}
  .nav-menu>a:not(.btn){position:relative;font-size:12px;font-weight:650;color:#475467;padding:24px 0}
  .nav-menu>a:not(.btn)::after{content:"";position:absolute;left:50%;bottom:17px;width:0;height:2px;border-radius:5px;background:var(--brand-primary);transform:translateX(-50%);transition:width .2s ease}
  .nav-menu>a:not(.btn):hover{color:var(--brand-primary)}
  .nav-menu>a:not(.btn):hover::after{width:22px}
  .user-chip{background:#F2F6FC;border:1px solid #E6ECF4;color:#52637A;padding:7px 11px;font-size:10px}
  .menu-toggle{border-radius:10px}
  .menu-toggle:hover{background:#F3F6FB}
  .menu-toggle span{background:var(--brand-deep)}

  /* Barra de carregamento abaixo do menu; não desloca layout. */
  .load-progress{position:absolute;left:0;right:auto;top:auto;bottom:-1px;height:3px;width:0;z-index:90;background:linear-gradient(90deg,var(--brand-primary),var(--brand-cyan));box-shadow:0 0 8px rgba(4,201,244,.34);opacity:0;transition:width .18s ease,opacity .18s ease}
  .load-progress.active{opacity:1;width:76%;animation:dcLoadLine 1.8s ease-in-out infinite}
  .load-progress.complete{opacity:0;width:100%;animation:none}
  @keyframes dcLoadLine{0%{width:8%}55%{width:68%}100%{width:92%}}

  /* Loader sem tela branca e com atraso via JS para não piscar. */
  .page-loading{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:20px;pointer-events:none;opacity:0;visibility:hidden;background:transparent;transition:opacity .16s ease,visibility .16s ease}
  .page-loading.is-visible{opacity:1;visibility:visible}
  .loading-card{display:flex;align-items:center;gap:11px;min-height:52px;padding:12px 18px;border:1px solid rgba(216,225,238,.95);border-radius:13px;background:rgba(255,255,255,.97);box-shadow:0 15px 45px rgba(6,20,45,.17);color:#344054;font-size:12px;font-weight:700;backdrop-filter:blur(8px)}
  .loading-spinner{width:22px;height:22px;border-radius:50%;border:3px solid #DCE6F9;border-top-color:var(--brand-primary);border-right-color:var(--brand-cyan);animation:dcSpin .72s linear infinite}
  @keyframes dcSpin{to{transform:rotate(360deg)}}

  /* Botões */
  .btn{min-height:40px;border-radius:9px;padding:9px 16px;font-size:11.5px;font-weight:700;box-shadow:none;transition:transform .16s ease,box-shadow .16s ease,background-color .16s ease,border-color .16s ease}
  .btn:hover{transform:translateY(-1px)}
  .btn-primary{color:#fff;background:linear-gradient(135deg,var(--brand-primary),#1D5BFF);border-color:var(--brand-primary);box-shadow:0 7px 17px rgba(10,63,234,.18)}
  .btn-primary:hover{color:#fff;background:linear-gradient(135deg,var(--brand-primary-dark),var(--brand-primary));box-shadow:0 10px 22px rgba(10,63,234,.23);filter:none}
  .btn-outline,.btn-light{background:#fff;border-color:#D7E0EC;color:#344054}
  .btn-outline:hover,.btn-light:hover{background:#F8FAFD;border-color:#C6D2E1;color:var(--brand-primary)}
  .btn-soft{background:#EAF1FF;color:var(--brand-primary);border-color:#D8E5FF}
  .btn-soft:hover{background:#DDE8FF;color:var(--brand-primary-dark)}
  .btn-muted{background:#EEF2F7;color:#526174;border-color:#E5EAF1}
  .btn-large{min-height:47px;padding:11px 21px;font-size:12px}
  .btn-sm{min-height:34px;padding:7px 12px}
  .text-button,.text-link{color:var(--brand-primary)}

  /* Home / Hero */
  .hero{background:linear-gradient(124deg,#071C43 0%,#0A3F9B 56%,#0A3FEA 100%)}
  .hero::before{width:560px;height:560px;right:-90px;top:-390px;border:1px solid rgba(255,255,255,.11);box-shadow:0 0 0 95px rgba(255,255,255,.025),0 0 0 190px rgba(255,255,255,.018)}
  .hero::after{width:480px;height:480px;left:22%;bottom:-390px;background:radial-gradient(circle,rgba(4,201,244,.20),transparent 66%)}
  .hero-grid{min-height:430px;grid-template-columns:1.05fr .82fr;gap:64px;padding-top:54px;padding-bottom:56px}
  .hero h1{font-size:clamp(34px,4vw,48px);margin:14px 0 16px;color:#fff;letter-spacing:-.04em}
  .hero h1 span{color:#A9EBFF}
  .hero-text p{max-width:560px;color:#D4E0F4;font-size:14px;line-height:1.8}
  .hero-perks{margin-top:24px;gap:16px 22px;color:#E0ECFF;font-size:10.5px}
  .hero-card{border:1px solid rgba(255,255,255,.8);border-radius:16px;padding:27px;box-shadow:0 24px 60px rgba(3,18,50,.32)}
  .step-icon,.icon-box,.round-symbol{background:#EAF1FF;color:var(--brand-primary);border:1px solid #DCE8FF}
  .step-icon{width:50px;height:50px;border-radius:12px;font-size:23px}
  .card-step h2{font-size:19px}
  .hero-card input{height:47px;border-radius:9px;border-color:#D8E0EA}
  .hero-card input:focus{border-color:var(--brand-primary);outline:3px solid rgba(10,63,234,.10)}
  .card-note{border-top-color:#E8EDF4}
  .home-steps{padding-top:56px;padding-bottom:64px}
  .section-heading{margin-bottom:24px}
  .section-heading h2{font-size:27px}
  .three-grid{gap:16px}
  .feature-card{border-color:var(--border-soft);border-radius:var(--dc-radius);box-shadow:var(--dc-shadow);padding:25px}
  .feature-card:hover{transform:translateY(-3px);box-shadow:var(--dc-shadow-hover);border-color:#D5E1F5}
  .feature-number{color:#C9D7F7;font-size:23px}
  .notice-light{background:#fff;border-color:var(--border-soft);border-left:3px solid var(--brand-primary);box-shadow:0 5px 18px rgba(17,38,74,.035)}

  /* Títulos internos e cards */
  .page-head{background:linear-gradient(123deg,#071C43,#0B357A 64%,#0A3FEA);padding:30px 0 32px}
  .breadcrumbs{color:#B9D4FF;font-size:9.5px}
  .page-head-line{margin-top:12px}
  .page-head h1{color:#fff;font-size:29px;margin-bottom:7px}
  .page-head p{color:#D2DDF0;font-size:11.5px}
  .page-pad{padding-top:28px;padding-bottom:60px}
  .panel{border:1px solid var(--border-soft);border-radius:var(--dc-radius);box-shadow:var(--dc-shadow)}
  .calc-panel{padding:30px}
  .panel-heading h2{font-size:23px;margin-top:6px}
  .panel-heading p{margin-bottom:23px}
  .notice-strip{background:#EDF4FF;border-color:#D8E7FF;border-radius:11px;margin-bottom:19px;padding:17px 20px}
  .notice-ico{background:#DCE9FF;color:var(--brand-primary);border-radius:8px}
  .calculator-grid{grid-template-columns:minmax(0,1fr) 310px;gap:20px}
  .side-panel{padding:25px}
  .side-note{color:#7C899B}

  /* Formulários */
  .form-stack label,.admin-panel label{color:#344054;font-size:11.5px}
  .field{min-height:45px;border:1px solid #D7E0EA;border-radius:9px;padding:10px 13px;color:#344054;background:#fff;font-size:12.5px}
  .field:hover{border-color:#C8D3E0}
  .field:focus{border-color:var(--brand-primary);box-shadow:0 0 0 3px rgba(10,63,234,.09)}
  .field::placeholder{color:#98A2B3}
  .input-money>span{top:12px;color:#667085}
  .input-money input{font-size:18px}
  .field-help{color:#8793A4}
  .form-errors:not(:empty){background:#FFF4F3;color:#B42318;border:1px solid #FECDCA}
  .validation{color:#B42318}
  .required{color:#D92D20}

  /* Acesso */
  .auth-wrap{min-height:610px;gap:60px;padding-top:52px;padding-bottom:65px}
  .auth-visual h1{color:#12264B;font-size:40px}
  .auth-visual>p{font-size:13px;line-height:1.8;max-width:500px}
  .auth-panel{border-radius:16px;padding:31px;box-shadow:0 15px 42px rgba(17,38,74,.09)}
  .auth-panel h2{font-size:23px}
  .auth-graphic span{box-shadow:var(--dc-shadow)}

  /* Histórico e tabelas */
  .history-panel{border-radius:var(--dc-radius);background:#fff}
  .table-scroll{border-radius:inherit}
  .history-table{background:#fff;font-size:11.5px}
  .history-table thead{background:#F7F9FC;color:#58677D}
  .history-table th{font-size:9.5px;color:#667085;font-weight:800}
  .history-table th,.history-table td{padding:14px 17px;border-bottom:1px solid #E9EEF5}
  .history-table tbody tr{transition:background-color .14s ease}
  .history-table tbody tr:hover{background:#F5F8FF}
  .history-table tbody td{color:#475467}
  .empty-state{padding:52px 25px}

  /* Administração */
  .admin-view{max-width:1120px}
  .admin-panel{padding:27px;margin-bottom:19px}
  .subheading{border-top-color:#E8EDF4;color:#293B58}
  .admin-type-row{border-top-color:#E8EDF4;padding:14px 0}
  .checkline{color:#475467}
  code{background:#F0F4FA;border:1px solid #E2E8F0;padding:2px 5px;border-radius:5px;color:#344054}

  /* Resultado / documento */
  .results-wrap{max-width:1000px}
  .print-paper{border-color:var(--border-soft);border-radius:var(--dc-radius);box-shadow:var(--dc-shadow)}
  .paper-bar{background:linear-gradient(90deg,var(--brand-primary),#1C62FF,var(--brand-cyan))}
  .paper-header h2,.paper-heading,.paper-summary strong{color:#1F3762}
  .cost-total{background:#EAF1FF;color:#173E9B;border:1px solid #D6E4FF}
  .paper-disclaimer{background:#FFFDFD;border-left-color:#F04438}
  .pdf-dialog{border-color:#DCE4EF;border-radius:14px;box-shadow:0 28px 100px rgba(6,20,45,.38)}
  .pdf-dialog::backdrop{background:rgba(6,20,45,.62);backdrop-filter:blur(3px)}

  /* Alertas */
  .alert{border-radius:10px;margin-top:13px;font-size:11.5px}
  .alert-success{color:#067647;background:#ECFDF3;border-color:#ABEFC6}
  .alert-danger{color:#B42318;background:#FEF3F2;border-color:#FECDCA}

  /* Rodapé */
  .footer{background:var(--brand-deep);color:#AFC0D9;padding:32px 0}
  .footer-content{gap:36px}
  .footer-brand{display:flex;align-items:center;gap:9px;color:#fff;font-size:14px}
  .footer-brand>span{margin-left:0;color:#fff}
  .footer-mark{width:31px;height:31px;display:grid;place-items:center;border-radius:8px;background:linear-gradient(135deg,var(--brand-primary),var(--brand-cyan));font-size:11px!important;font-weight:800!important}
  .footer p{color:#AFC0D9}
  .footer-bottom{border-top-color:#213656}

  @media(max-width:1000px){
    .nav-menu{gap:13px}
    .hero-grid{gap:34px}
    .calculator-grid{grid-template-columns:minmax(0,1fr) 275px}
    .auth-wrap{gap:35px}
  }

  @media(max-width:790px){
    .container{width:min(100% - 28px,1180px)}
    .topline{display:none}
    .nav-inner{min-height:64px}
    .nav-menu{top:100%;padding:12px 14px 18px;border-bottom:1px solid var(--border-soft);box-shadow:0 18px 30px rgba(6,20,45,.12)}
    .nav-menu>a:not(.btn){padding:10px 11px;border-radius:8px}
    .nav-menu>a:not(.btn)::after{display:none}
    .nav-menu>a:not(.btn):hover{background:#F3F7FD}
    .hero-grid{padding-top:43px;padding-bottom:45px;gap:25px}
    .hero-card{max-width:none}
    .calculator-grid{grid-template-columns:1fr}
    .calc-sidebar{grid-template-columns:1fr 1fr}
    .auth-wrap{gap:24px;padding-top:38px;padding-bottom:54px}
    .auth-visual h1{font-size:32px}
    .page-head{padding:27px 0}
  }

  @media(max-width:580px){
    .container{width:min(100% - 22px,1180px)}
    .brand-symbol{width:38px;height:38px;font-size:15px}
    .brand-words b{font-size:14px}
    .brand-words small{font-size:8.5px}
    .hero-grid{padding-top:36px;padding-bottom:38px}
    .hero h1{font-size:32px}
    .hero-text p{font-size:13px}
    .hero-card,.auth-panel{padding:21px}
    .home-steps{padding-top:43px;padding-bottom:48px}
    .section-heading h2{font-size:24px}
    .page-head h1{font-size:25px}
    .page-head-line{align-items:flex-start}
    .calc-panel{padding:20px}
    .calc-sidebar{grid-template-columns:1fr}
    .auth-wrap{padding-top:29px}
    .auth-visual h1{font-size:29px}
    .admin-panel{padding:18px}
    .history-table th,.history-table td{padding:12px 13px}
    .footer{padding:28px 0}
    .loading-card{min-height:48px;padding:11px 15px}
  }
}


/* V0.1.13 — identidade visual configurável */
@media screen {
  .brand-logo-wrap{display:flex;align-items:center;justify-content:center;max-width:170px;min-height:42px}
  .brand-logo{display:block;max-height:42px;max-width:170px;width:auto;height:auto;object-fit:contain}
  .identity-first{border-top:0;padding-top:0;margin-top:0}
  .color-field{display:grid;grid-template-columns:minmax(0,1fr) 48px;gap:8px;align-items:center}
  .color-field input[type=color]{width:48px;height:48px;border:1px solid var(--border-soft);border-radius:10px;background:#fff;padding:5px;cursor:pointer}
}
@media(max-width:790px){.brand-logo-wrap{max-width:125px}.brand-logo{max-width:125px;max-height:38px}}

/* V0.1.15 — ajustes de identidade visual e rodapé */
@media screen {
  :root{
    --portal-deep:#10264A;
    --portal-text:#0E2B57;
    --portal-muted:#66758C;
    --portal-bg:#F5F8FC;
    --portal-line:#DCE4EF;
    --portal-soft:#F9FBFE;
    --portal-card-shadow:0 10px 28px rgba(17,43,87,.07);
  }

  body{background:var(--portal-bg);color:var(--portal-text)}
  .page-main{min-height:calc(100vh - 170px)}

  /* Barra institucional */
  .portal-topline{background:var(--brand-primary);color:#fff;font-size:12px;font-weight:700}
  .portal-top-inner{min-height:30px;gap:22px}
  .portal-top-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .portal-top-contact{display:flex;align-items:center;justify-content:flex-end;gap:20px;min-width:0}
  .portal-top-contact span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

  /* Header */
  .portal-navbar{position:sticky;top:0;background:#fff;border-bottom:1px solid #E4E9F1;box-shadow:0 5px 16px rgba(16,38,74,.035)}
  .portal-nav-inner{min-height:88px}
  .portal-brand{gap:18px;min-width:0;max-width:72%}
  .portal-brand-logo-wrap{max-width:380px;min-height:86px;justify-content:flex-start}
  .portal-brand-logo{max-height:86px;max-width:380px}
  .portal-brand-symbol{width:68px;height:68px;display:grid;place-items:center;padding:0;border-radius:14px;background:linear-gradient(145deg,var(--brand-primary),var(--brand-cyan));font-size:19px;letter-spacing:-.04em;box-shadow:0 8px 18px rgba(10,63,234,.18)}
  .portal-brand-words{border-left:1px solid #E5EAF1;padding-left:16px;min-width:0}
  .portal-brand-words b{font-size:24px;letter-spacing:-.03em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:620px;line-height:1.12}
  .portal-brand-words small{font-size:14px;color:#79879A;text-transform:uppercase;letter-spacing:.08em;font-weight:700}
  .portal-nav-menu{gap:22px}
  .portal-nav-menu>a:not(.btn){font-size:14px;font-weight:700;color:#40506A;position:relative}
  .portal-nav-menu>a:not(.btn):hover{color:var(--brand-primary)}
  .portal-nav-menu>a:not(.btn)::after{content:"";position:absolute;left:0;right:100%;bottom:-8px;height:2px;background:var(--brand-primary);transition:right .18s ease}
  .portal-nav-menu>a:not(.btn):hover::after{right:0}
  .portal-nav-cta{min-height:42px;padding:10px 18px;border-radius:10px;font-size:14px}
  .load-progress{top:auto;bottom:-1px;background:linear-gradient(90deg,var(--brand-primary),var(--brand-cyan));height:2px}

  /* Hero público */
  .portal-hero{background:linear-gradient(116deg,#FFFFFF 0%,#FBFDFF 57%,#F2F8FF 100%);border-bottom:1px solid #E5EBF3;position:relative;overflow:hidden}
  .portal-hero::after{content:"";position:absolute;right:-160px;top:-210px;width:530px;height:530px;border-radius:50%;background:radial-gradient(circle,rgba(4,201,244,.11),rgba(10,63,234,.035) 44%,transparent 71%);pointer-events:none}
  .portal-hero-grid{min-height:470px;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(330px,.72fr);align-items:center;gap:80px;padding-top:55px;padding-bottom:58px;position:relative;z-index:1}
  .portal-hero-copy{max-width:690px}
  .portal-badge{display:inline-flex;align-items:center;gap:8px;min-height:32px;padding:7px 13px;border:1px solid #D8E3F3;border-radius:999px;background:#fff;color:#2D4A76;font-size:12px;font-weight:800;box-shadow:0 3px 10px rgba(16,38,74,.025)}
  .portal-badge-icon{color:var(--brand-primary);font-size:12px}
  .portal-hero h1{max-width:690px;margin:14px 0 13px;color:#0E2B57;font-size:clamp(39px,4.8vw,61px);line-height:1.02;letter-spacing:-.055em}
  .portal-hero h1 span{background:linear-gradient(90deg,var(--brand-primary),var(--brand-cyan));-webkit-background-clip:text;background-clip:text;color:transparent}
  .portal-lead{max-width:690px;margin:0;color:#66758C;font-size:23px;line-height:1.7}
  .portal-actions{display:flex;align-items:center;gap:10px;margin-top:25px;flex-wrap:wrap}
  .btn-portal-primary,.btn-portal-outline{min-height:50px;border-radius:10px;padding:12px 18px;font-size:16px;font-weight:700}
  .btn-portal-primary{background:linear-gradient(90deg,var(--brand-primary),color-mix(in srgb,var(--brand-primary) 75%,var(--brand-cyan)));box-shadow:0 7px 15px color-mix(in srgb,var(--brand-primary) 20%,transparent)}
  .btn-portal-outline{border-color:color-mix(in srgb,var(--brand-primary) 55%,#DCE4EF);color:var(--brand-primary)}
  .portal-mini-features{display:flex;gap:20px;flex-wrap:wrap;margin-top:18px;color:#586A82;font-size:13px;font-weight:700}
  .portal-mini-features span{display:inline-flex;align-items:center;gap:5px}
  .portal-mini-features i{font-style:normal;color:var(--brand-primary)}

  /* Card Como funciona */
  .how-card{background:rgba(255,255,255,.96);border:1px solid #D9E3EF;border-radius:17px;padding:24px 24px 19px;box-shadow:0 20px 52px rgba(17,43,87,.10);backdrop-filter:blur(8px)}
  .how-card-head{display:flex;align-items:center;gap:12px;margin-bottom:8px}
  .how-card-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:11px;background:linear-gradient(145deg,#EFF7FF,#F2FDFF);border:1px solid #D9E8F6;color:var(--brand-primary);font-size:18px}
  .portal-kicker{display:block;color:#697A92;font-size:11px;font-weight:800;letter-spacing:.10em;margin-bottom:3px}
  .portal-kicker-primary{color:var(--brand-primary)}
  .how-card h2{font-size:32px;letter-spacing:-.035em;margin:0;color:#0C2B58}
  .how-step{display:grid;grid-template-columns:26px 1fr;gap:11px;padding:14px 0;border-top:1px solid #E8EDF4}
  .how-step-number{width:29px;height:29px;display:grid;place-items:center;border-radius:8px;background:color-mix(in srgb,var(--brand-primary) 7%,#fff);color:var(--brand-primary);font-size:12px;font-weight:800}
  .how-step b{display:block;color:#203A61;font-size:14px;margin-bottom:4px}
  .how-step p{margin:0;color:#718096;font-size:12px;line-height:1.65}
  .how-note{display:flex;gap:8px;align-items:flex-start;margin-top:4px;padding:12px 13px;border-radius:8px;background:#F7FAFE;color:#6E7C90;font-size:11px;line-height:1.6}
  .how-note span{color:var(--brand-primary)}

  /* Serviços */
  .portal-services{padding:44px 0 52px;background:#F3F7FC;min-height:420px}
  .portal-section-heading{margin-bottom:22px}
  .portal-section-heading h2{margin:3px 0 6px;color:#102F59;font-size:46px;letter-spacing:-.045em}
  .portal-section-heading p{margin:0;color:#6E7D91;font-size:16px}
  .service-showcase{display:grid;grid-template-columns:minmax(0,530px) minmax(250px,1fr);gap:28px;align-items:stretch}
  .service-main-card{background:#fff;border:1px solid #D8E2EE;border-radius:15px;padding:22px 23px;box-shadow:var(--portal-card-shadow);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
  .service-main-card:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--brand-primary) 26%,#D8E2EE);box-shadow:0 16px 32px rgba(17,43,87,.10)}
  .service-card-title{display:flex;align-items:center;gap:12px}
  .service-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:10px;background:linear-gradient(145deg,#EFF7FF,#F7FDFF);border:1px solid #D8E6F4;color:var(--brand-primary);font-size:17px}
  .service-card-title h3{margin:0;color:#0F2E58;font-size:33px;letter-spacing:-.03em}
  .service-main-card>p{max-width:560px;margin:17px 0;color:#69788F;font-size:17px;line-height:1.8}
  .service-tags{display:flex;gap:7px;flex-wrap:wrap;margin:10px 0 14px}
  .service-tags span{padding:7px 11px;border:1px solid #DFE7F1;border-radius:999px;background:#FBFCFE;color:#52637B;font-size:12px;font-weight:700}
  .service-card-footer{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
  .service-card-footer small{color:#8390A2;font-size:11px}
  .service-side-note{display:flex;align-items:center;justify-content:center;gap:16px;background:linear-gradient(135deg,#FFFFFF,#F8FBFE);border:1px dashed #CFDCEB;border-radius:15px;padding:24px;min-height:100%}
  .service-side-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:color-mix(in srgb,var(--brand-cyan) 13%,#fff);color:color-mix(in srgb,var(--brand-cyan) 70%,#0A3F9B);font-weight:800}
  .service-side-note b{display:block;color:#294364;font-size:24px}
  .service-side-note p{max-width:360px;margin:5px 0 0;font-size:14px;line-height:1.7;color:#7B899C}

  .portal-benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:30px}
  .benefit-card{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid #DDE5EF;border-radius:12px;padding:16px 17px;box-shadow:0 5px 16px rgba(17,43,87,.045)}
  .benefit-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:8px;border:1px solid #DCE7F4;background:#F4F9FE;color:var(--brand-primary);font-size:12px;flex:0 0 auto}
  .benefit-card b{display:block;color:#2A4366;font-size:17px}
  .benefit-card p{margin:4px 0 0;color:#8190A3;font-size:12px;line-height:1.6}
  .portal-disclaimer{margin-top:24px;padding:14px 17px;background:#fff;border:1px solid #E0E7F0;border-left:3px solid var(--brand-primary);border-radius:9px;color:#6A798D;font-size:13px;line-height:1.7}

  /* Internas: aproxima tabelas/cards ao mesmo sistema visual */
  .page-head{background:linear-gradient(120deg,color-mix(in srgb,var(--brand-primary) 14%,#fff),#F7FAFE);border-bottom:1px solid #E1E8F1;color:var(--portal-text);padding:30px 0 31px}
  .breadcrumbs{color:var(--brand-primary)}
  .page-head h1{color:#102F59;font-size:29px}
  .page-head p{color:#718096}
  .panel,.history-panel,.admin-panel,.auth-panel,.print-paper{border-color:#DCE4EE;border-radius:14px;box-shadow:0 8px 24px rgba(17,43,87,.06)}
  .admin-panel{overflow:hidden}
  .history-table thead{background:#F6F9FC}
  .history-table th{color:#64748A}
  .history-table tbody tr:hover{background:color-mix(in srgb,var(--brand-primary) 3%,#fff)}
  .field:focus{border-color:var(--brand-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand-primary) 10%,transparent)}

  /* Footer */
  .portal-footer{background:#10264A;padding:18px 0;color:#C2D0E0;border-top:1px solid rgba(255,255,255,.08)}
  .portal-footer-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr) minmax(0,1.1fr);gap:34px;align-items:center}
  .portal-footer-brand{display:flex;align-items:center;gap:14px;min-width:0;text-decoration:none;color:inherit}
  .portal-footer-cartorio-logo-wrap{display:flex;align-items:center;justify-content:center;min-width:64px;min-height:64px;padding:6px;border-radius:14px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.10)}
  .portal-footer-logo{max-width:82px;max-height:52px;object-fit:contain;filter:none;opacity:1}
  .portal-footer-brand-text{display:flex;flex-direction:column;line-height:1.35;min-width:0}
  .portal-footer-brand b{font-size:20px;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.2}
  .portal-footer-brand small{font-size:14px;color:#9DB0C8}
  .portal-footer-safe{justify-self:center;color:#C0D3E7;font-size:16px;display:flex;align-items:center;gap:8px;text-align:center;line-height:1.45}
  .portal-footer-safe span{color:var(--brand-cyan);margin-right:0;font-size:14px}
  .portal-footer-safe strong{color:#fff;font-weight:700}
  .portal-footer-credit{justify-self:end;display:flex;align-items:center;gap:10px;color:#AFC0D9;font-size:15px;white-space:nowrap;min-width:0}
  .portal-footer-credit-label{color:#AFC0D9;font-size:15px}
  .portal-footer-credit-logo{display:block;height:30px;width:auto;max-width:190px;object-fit:contain}
  .portal-footer-credit small{padding-left:2px;color:#8DA2BC;font-size:14px}

  /* Loading abaixo do menu sem bloquear navegação */
  .page-loading{background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;pointer-events:none}
  .loading-card{background:rgba(255,255,255,.95);border:1px solid #DDE5EF;box-shadow:0 12px 30px rgba(16,38,74,.12);border-radius:12px}
  .loading-spinner{border-color:#DFE6EF;border-top-color:var(--brand-primary);border-right-color:var(--brand-cyan)}
}

@media(max-width:1000px){
  .portal-brand-words b{max-width:360px}
  .portal-nav-menu{gap:14px}
  .portal-hero-grid{gap:38px;grid-template-columns:minmax(0,1fr) 330px}
  .portal-hero h1{font-size:47px}
}

@media(max-width:790px){
  .portal-topline{display:none}
  .portal-nav-inner{min-height:64px}
  .portal-brand{max-width:82%}
  .portal-brand-logo-wrap{max-width:250px;min-height:60px}
  .portal-brand-logo{max-width:250px;max-height:60px}
  .portal-brand-words b{max-width:360px;font-size:18px}
  .portal-nav-menu{top:100%;gap:4px;padding:12px 14px 16px;background:#fff}
  .portal-nav-menu>a:not(.btn){width:100%;padding:10px 11px;border-radius:8px;font-size:14px}
  .portal-nav-menu>a:not(.btn)::after{display:none}
  .portal-nav-menu>a:not(.btn):hover{background:#F4F7FB}
  .portal-nav-cta{width:100%;margin-top:5px}
  .load-progress{top:auto;bottom:-1px}
  .portal-hero-grid{grid-template-columns:1fr;gap:30px;padding-top:42px;padding-bottom:44px}
  .portal-hero-copy{max-width:none}
  .portal-hero h1{max-width:650px;font-size:43px}
  .how-card{max-width:620px}
  .service-showcase{grid-template-columns:1fr}
  .service-side-note{justify-content:flex-start;min-height:auto}
  .portal-benefits{grid-template-columns:1fr}
  .portal-footer-grid{grid-template-columns:1fr;gap:16px;text-align:center}
  .portal-footer-brand{justify-content:center;flex-wrap:wrap}
  .portal-footer-safe,.portal-footer-credit{justify-self:center}
}

@media(max-width:560px){
  .portal-brand-words{display:none}
  .portal-brand{max-width:72%}
  .portal-hero-grid{padding-top:34px;padding-bottom:36px}
  .portal-hero h1{font-size:40px;line-height:1.06}
  .portal-lead{font-size:16px}
  .portal-actions{align-items:stretch}
  .portal-actions .btn{width:100%}
  .portal-mini-features{gap:9px 13px}
  .how-card{padding:20px}
  .portal-services{padding-top:37px}
  .portal-section-heading h2{font-size:30px}
  .service-main-card{padding:19px}
  .service-card-footer{align-items:flex-start;flex-direction:column}
  .portal-footer-credit{flex-wrap:wrap;justify-content:center}
}


/* V0.1.20 — aviso institucional configurável na calculadora */
@media screen {
  .calc-config-alert{background:#fff;border:1px solid #D5DDE8;border-radius:10px;padding:22px 24px;margin:0 0 24px;box-shadow:0 6px 18px rgba(17,43,87,.045)}
  .calc-config-alert h2{margin:0 0 9px;color:#E31C1C;font-size:30px;line-height:1.08;font-weight:800;letter-spacing:-.02em}
  .calc-config-alert-text{color:#17175F;font-size:16px;font-weight:650;line-height:1.48}
  .calc-config-alert-text p{margin:0 0 6px}
  .calc-config-alert-text p:last-child{margin-bottom:0}
}
@media(max-width:790px){
  .calc-config-alert{padding:18px 19px;margin-bottom:20px}
  .calc-config-alert h2{font-size:25px}
  .calc-config-alert-text{font-size:14px;line-height:1.55}
}


/* V0.1.23 — manutenção, LGPD e segurança */
.maintenance-page{min-height:calc(100vh - 220px);display:grid;align-items:center;padding:64px 0;background:radial-gradient(circle at 85% 15%,color-mix(in srgb,var(--brand-cyan) 11%,transparent),transparent 34%),linear-gradient(135deg,#F8FBFF,#F2F6FC)}
.maintenance-wrap{display:flex;justify-content:center}
.maintenance-card{width:min(100%,760px);padding:42px;background:#fff;border:1px solid #DCE5F0;border-radius:20px;box-shadow:0 24px 60px rgba(16,38,74,.10);text-align:center}
.maintenance-icon{width:64px;height:64px;margin:0 auto 18px;display:grid;place-items:center;border-radius:18px;background:color-mix(in srgb,var(--brand-primary) 9%,#fff);color:var(--brand-primary);font-size:28px}
.maintenance-card h1{margin:9px 0 14px;color:#102F59;font-size:clamp(30px,4vw,46px);letter-spacing:-.045em}
.maintenance-message{max-width:620px;margin:0 auto;color:#66758C;font-size:16px;line-height:1.75}
.maintenance-forecast{display:inline-flex;margin-top:20px;padding:9px 14px;border-radius:999px;background:#F2F6FC;border:1px solid #DCE5F0;color:#395574;font-size:13px;font-weight:700}
.maintenance-contact{display:flex;justify-content:center;gap:18px;flex-wrap:wrap;margin:20px 0;color:#63748B;font-size:13px}
.maintenance-form{max-width:440px;margin:26px auto 0;text-align:left;padding-top:24px;border-top:1px solid #E7EDF4}
.maintenance-admin-link{display:inline-block;margin-top:18px;color:var(--brand-primary);font-size:12px;font-weight:700}
@media(max-width:560px){.maintenance-page{padding:34px 0}.maintenance-card{padding:28px 20px}.maintenance-message{font-size:14px}}
