:root{--navy:#081a30;--navy2:#0c2540;--ink:#11283e;--text:#152e43;--muted:#718396;--accent:#13bc89;--bg:#f4f7fb;--line:#e8eef4;--radius:20px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text);background:var(--bg);font-size:14px}a{text-decoration:none;color:inherit}button,input{font:inherit}button{cursor:pointer}.shell{display:flex;min-height:100vh}.sidebar{width:268px;background:var(--navy);color:#d1e5f3;display:flex;flex-direction:column;padding:31px 18px;flex-shrink:0;min-height:100vh;position:sticky;top:0;height:100vh}.logo{display:flex;align-items:center;gap:12px;font-weight:800;letter-spacing:.6px}.sidebar .logo{padding:8px 11px 44px}.logo-icon{font-size:30px;color:var(--accent);display:grid;place-items:center;height:43px;width:43px;border:1px solid #3b705c;border-radius:14px;background:linear-gradient(160deg,#194b43,#0b3142);flex-shrink:0}.logo strong{display:block;line-height:1.1;font-size:17px}.logo small{display:block;line-height:1.4;font-size:9px;font-weight:700;letter-spacing:2.2px;color:#80a5b3;margin-top:4px}.side-nav{display:grid;gap:7px}.side-nav a{padding:15px 17px;border-radius:12px;display:flex;align-items:center;gap:13px;font-weight:550;color:#a8bdcc;transition:background .2s,color .2s}.side-nav a span{font-size:21px;width:23px;text-align:center}.side-nav a:hover{background:#132e49;color:#fff}.side-nav a.active{color:#fff;background:#174c49;box-shadow:inset 3px 0 var(--accent)}.aside-footer{font-size:13px;display:block;margin-top:auto;padding:22px 16px 0;color:#c9d8e0;border-top:1px solid #19344a}.aside-footer small{display:block;font-size:11px;color:#7699a9;margin-top:5px}.dot{display:inline-block;width:8px;height:8px;background:var(--accent);border-radius:50%;margin-right:7px;box-shadow:0 0 0 4px #1a4e45}.main{flex:1;min-width:0}.top{height:88px;padding:20px 42px;background:white;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.top div:first-child small{display:block;font-size:10px;letter-spacing:1.9px;color:#9ba9b4;font-weight:800;margin-bottom:7px}.top div:first-child strong{font-size:16px}.top-actions{display:flex;gap:24px;color:#62778a;font-weight:650;font-size:13px}.top-actions a:hover{color:var(--accent)}.content{max-width:1460px;margin:auto;padding:45px 45px 85px}.pagehead{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:30px}.eyebrow{color:#0aa779;font-size:11px;font-weight:800;letter-spacing:2px;margin-bottom:13px}.pagehead h1{font-size:31px;letter-spacing:-1.35px;margin:0 0 9px;color:var(--ink)}.pagehead p{margin:0;color:var(--muted)}.star{color:var(--accent);font-size:23px}.badge{font-size:11px;font-weight:800;letter-spacing:.3px;border-radius:30px;padding:11px 15px;color:#67798a;background:#f0f4f8;white-space:nowrap}.badge-green{background:#e4f9f0;color:#07865f}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px;margin-bottom:23px}.stat{padding:25px 24px;background:white;border:1px solid var(--line);border-radius:19px;min-height:164px;box-shadow:0 8px 22px #0a294509}.stat span{display:block;font-size:12px;color:#728498;font-weight:700}.stat strong{display:block;font-size:27px;color:#122b41;letter-spacing:-1px;line-height:1.2;margin:18px 0 12px}.stat small{color:#96a4b0;font-size:11px}.grid2{display:grid;grid-template-columns:1.2fr 1fr;gap:21px}.card{border:1px solid var(--line);border-radius:20px;background:#fff;padding:28px;box-shadow:0 10px 30px #102a4008;min-width:0}.card h2{font-size:19px;margin:0 0 13px;letter-spacing:-.5px;color:var(--ink)}.card p{color:var(--muted);line-height:1.72;margin:0 0 21px;font-size:13px}.card-heading{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:8px}.card-heading h2{margin-bottom:0}.steps{margin-top:20px}.steps a{display:flex;gap:17px;align-items:center;padding:18px 0;border-bottom:1px solid #edf0f5}.steps a:last-child{border-bottom:0}.steps a b{width:43px;height:43px;display:grid;place-items:center;border-radius:12px;background:#e6f9f1;color:#079e73}.steps a div{flex:1}.steps a strong{font-size:14px;color:var(--ink)}.steps a p{margin:5px 0 0;font-size:12px}.steps a>span{font-size:18px;color:#aec2cd}.panel-dark{background:linear-gradient(145deg,#0c263f,#0a172b);color:#d3e0e6;border-color:#0d3450;position:relative;overflow:hidden}.panel-dark:after{content:'✦';position:absolute;right:-25px;bottom:-70px;font-size:300px;color:#12364a;pointer-events:none;line-height:1}.panel-dark>*{position:relative;z-index:1}.panel-dark .eyebrow{color:#35d8ac}.panel-dark h2{color:white;font-size:26px;line-height:1.25;max-width:320px;margin-top:36px;margin-bottom:20px}.panel-dark p{color:#a4c0d0;max-width:340px}.line-code{margin-top:45px;border-top:1px solid #32506a;padding-top:21px;font-weight:650;color:white}.line-code span{color:var(--accent);padding:0 8px}.stack{display:flex;flex-direction:column;gap:13px}.stack h2{margin-bottom:0}.stack p{margin-bottom:12px}label{display:block;font-size:12px;font-weight:700;color:#536777}label input{display:block;margin:9px 0 0;width:100%;min-height:48px;border:1px solid #dae4ee;background:#f9fbfe;border-radius:10px;padding:12px 14px;color:#10283e;outline:none}label input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #13bc8920}input[type=color]{height:58px;padding:5px;cursor:pointer}input[type=file]{max-width:100%;font-size:12px;padding:14px 0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:11px;border:1px solid transparent;min-height:46px;padding:12px 19px;font-weight:750;font-size:13px;width:fit-content}.btn.primary{background:var(--accent);color:#062c27;box-shadow:0 8px 15px #0dbb8825}.btn.primary:hover{filter:brightness(.96)}.btn.secondary{background:#e7f8f1;color:#078661}.btn.ghost{border-color:#36516b;color:white}.btn.full{width:100%}.btn.disabled{background:#2b5364;color:#9ab9bd;cursor:not-allowed}.hint{font-size:12px;line-height:1.6;color:#7e8c9b;background:#f5f8fb;padding:13px 15px;border-radius:10px}.alert{margin-bottom:25px;padding:14px 18px;border-radius:11px;font-size:13px;font-weight:650}.alert-success{background:#e5f7ef;color:#087855}.alert-error{background:#fff1ef;color:#ac3939}.code{background:#091d33;border-radius:13px;padding:18px 18px 18px 20px;display:flex;align-items:center;gap:13px;justify-content:space-between;overflow:hidden}.code code{overflow-wrap:anywhere;color:#9ef1cf;font:12px/1.7 ui-monospace,SFMono-Regular,Consolas,monospace}.code button{background:#234c61;color:white;border:0;border-radius:8px;padding:9px 13px;flex-shrink:0;font-size:12px}.subtle{font-size:13px;color:#098b72;font-weight:700}.pair-code{background:#eafaf3;border:1px dashed #1cae82;color:#087e62;letter-spacing:3px;font-size:20px;text-align:center;padding:15px;border-radius:12px;font-family:monospace;overflow-wrap:anywhere}.connections>div{border-top:1px solid var(--line);padding:13px 0}.connections strong{display:block}.connections small{color:var(--muted)}.textbutton{background:transparent;border:0;padding:8px 0;color:#b34444;text-align:left}.security-tags{display:flex;gap:9px;flex-wrap:wrap}.security-tags span{border-radius:8px;color:#0a8d69;background:#e7f8f0;padding:9px 12px;font-size:12px;font-weight:750}.diagnostics>div{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding:15px 0}.diagnostics>div span{color:#718497}.diagnostics>div strong{text-align:right;word-break:break-word}.preview-logo{display:flex;gap:11px;align-items:center;margin-top:48px}.preview-logo strong{font-size:20px;color:white}.public-top{padding:29px max(calc((100vw - 1180px)/2),5vw);display:flex;justify-content:space-between;align-items:center;color:#fff;position:relative;z-index:2}.small-link{font-weight:650;font-size:12px;color:#aec3cf}.public-main{min-height:calc(100vh - 110px)}body:has(.public-main){background:#071a32;color:white}.public-main .alert{max-width:1000px;margin:0 auto}.hero{min-height:640px;padding:110px max(calc((100vw - 1180px)/2),5vw) 115px;background:radial-gradient(ellipse at 75% 35%,#11494b 0%,#0b2840 28%,#071a32 63%);overflow:hidden;position:relative}.hero:after{content:'✦';position:absolute;right:7%;top:70px;font-size:400px;line-height:1;color:#1d846c33;transform:rotate(15deg);pointer-events:none}.hero>*{position:relative;z-index:1}.pill{display:inline-flex;align-items:center;border:1px solid #2e6a65;color:#60e0b5;letter-spacing:1px;border-radius:30px;background:#123d43;font-size:11px;font-weight:700;padding:11px 17px}.hero h1,.login-aside h1{font-size:clamp(52px,6vw,88px);letter-spacing:-3.5px;line-height:1.06;margin:30px 0 25px;color:white;font-weight:800}.hero h1 em,.login-aside h1 em{font-style:normal;color:#4fe4b0}.hero>p{font-size:17px;line-height:1.8;max-width:570px;color:#b3cbd6}.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:35px}.hero-foot{color:#7392a2;font-size:12px;max-width:570px;line-height:1.7;margin-top:29px}.feature-row{display:grid;grid-template-columns:repeat(3,1fr);max-width:1180px;margin:-65px auto 60px;gap:19px;padding:0 14px;position:relative;z-index:2}.feature-row article{background:#102d43;border:1px solid #24455a;border-radius:19px;padding:28px}.feature-row i{font-size:28px;font-style:normal;color:#50dba9}.feature-row h3{font-size:17px;margin:18px 0 11px}.feature-row p{color:#9ab8c7;line-height:1.7;margin:0}.login-wrap{max-width:1160px;min-height:680px;margin:40px auto;display:grid;grid-template-columns:1.2fr 480px;align-items:center;gap:45px;padding:0 20px}.login-aside{position:relative;min-height:420px}.login-aside h1{font-size:clamp(47px,5vw,69px)}.login-aside p{color:#a7c3d3;font-size:16px;max-width:430px;line-height:1.8}.orb{position:absolute;width:240px;height:240px;background:#0e9b75;filter:blur(100px);opacity:.23;bottom:-50px;left:30%}.login-card{color:var(--text);padding:43px;display:grid;gap:17px}.login-card h2{font-size:28px;margin:0}.login-card p{margin:0 0 10px}.login-card small{display:block;text-align:center;color:#8495a1;font-size:11px}.login-symbol{color:var(--accent);font-size:45px}.login-card label{font-size:13px}
@media(max-width:1100px){.stats{grid-template-columns:repeat(2,1fr)}.content{padding:30px}.grid2{grid-template-columns:1fr}.sidebar{width:215px}.top{padding:18px 30px}.feature-row{margin:0 25px 35px}}@media(max-width:720px){.shell{display:block}.sidebar{position:relative;width:100%;height:auto;min-height:0;padding:14px 16px}.sidebar .logo{padding:6px 4px 16px}.side-nav{display:flex;overflow-x:auto;gap:5px;scrollbar-width:none}.side-nav a{padding:11px 13px;white-space:nowrap;font-size:12px}.side-nav a span{font-size:16px;width:auto}.aside-footer{display:none}.top{padding:15px 20px;height:70px}.top-actions{gap:10px;font-size:11px}.top div:first-child strong{font-size:13px}.top div:first-child small{font-size:9px}.content{padding:26px 15px 60px}.pagehead{display:block}.pagehead h1{font-size:27px}.pagehead .badge{display:inline-block;margin-top:15px}.stats{gap:11px}.stat{padding:18px 16px;min-height:136px}.stat strong{font-size:23px}.stat small{font-size:10px}.card{padding:22px 18px}.code{display:block}.code button{margin-top:12px}.public-top{padding:20px}.hero{padding:78px 22px 115px;min-height:600px}.hero h1{font-size:57px}.hero:after{font-size:250px;right:-70px;top:100px}.feature-row{grid-template-columns:1fr;margin:-50px 15px 40px}.login-wrap{display:block;margin:10px auto}.login-aside{min-height:0;margin:30px 8px 45px}.login-aside h1{font-size:50px}.login-card{padding:28px 23px}.diagnostics>div{display:block}.diagnostics>div strong{display:block;text-align:left;margin-top:6px}}

/* v0.1.3 — telas do assinante: prévia visual, acesso rigorosamente bloqueado até integração homologada */
.client-landing{min-height:670px;max-width:1320px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(365px,.86fr);gap:clamp(36px,6vw,100px);align-items:center;padding:50px 30px 92px;position:relative}
.client-landing:before{content:"";position:absolute;z-index:-1;pointer-events:none;left:-210px;top:0;width:850px;height:650px;border-radius:50%;background:radial-gradient(ellipse,#14796c30 0%,#0d354c2b 40%,transparent 73%)}
.client-hero-copy{min-width:0}.client-pill{border-radius:100px;padding:10px 16px;display:inline-flex;align-items:center;gap:10px;font-size:11px;font-weight:750;letter-spacing:.9px;color:#75efd4;border:1px solid #276b66;background:#13403f}.client-live-dot{width:8px;height:8px;border-radius:50%;background:#4aebbd;box-shadow:0 0 0 4px #4aebbd16}
.client-hero-copy h1,.client-action-intro h1{font-size:clamp(44px,4.9vw,76px);line-height:1.105;letter-spacing:-3.1px;color:#fff;margin:27px 0 23px;font-weight:800}.client-hero-copy h1 em,.client-action-intro h1 em{font-style:normal;color:#50e3b1}.client-lead,.client-action-intro>p{font-size:17px;line-height:1.8;color:#a9c5d4;max-width:540px;margin:0}
.client-benefits{display:flex;flex-wrap:wrap;gap:10px 21px;max-width:560px;margin:30px 0}.client-benefits span{display:flex;gap:8px;align-items:center;font-size:12px;color:#d0e5ea;font-weight:580}.client-benefits b{font-size:11px;color:#2ee0ac}.client-hero-bottom{margin-top:64px;border-top:1px solid #284255;padding-top:25px;display:flex;gap:14px;align-items:center;max-width:440px}.client-hero-bottom>span{height:42px;width:42px;border-radius:13px;background:#143b44;color:#65dab4;font-size:22px;display:grid;place-items:center}.client-hero-bottom strong,.client-hero-bottom small{display:block}.client-hero-bottom strong{color:#e3f2f5;font-size:12px}.client-hero-bottom small{color:#7f9fad;font-size:11px;margin-top:7px}
.client-form-outer{position:relative}.client-form-outer:before{content:"";position:absolute;inset:28px -24px -23px 24px;background:#0b574999;border:1px solid #1b736baa;border-radius:30px;transform:rotate(3deg);z-index:0}.client-form-card{position:relative;border-radius:25px;background:#fff;border:1px solid #dfeaf0;color:#193249;padding:clamp(28px,3.2vw,42px);box-shadow:0 23px 90px #03132066}.client-card-top{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:26px}.client-avatar{display:grid;place-items:center;width:50px;height:50px;border-radius:15px;color:#068c70;font-size:22px;background:#dff8ed}.client-card-chip{background:#eaf5f7;color:#537282;font-weight:750;font-size:10px;border-radius:30px;padding:9px 13px;letter-spacing:.4px}.client-form-card h2,.client-action-card h2{font-size:28px;letter-spacing:-1.1px;color:#123149;margin:0 0 12px}.client-form-card>p,.client-action-card>p{font-size:13px;color:#7b8fa1;line-height:1.7;margin:0 0 22px}.client-preview-notice{display:flex;gap:11px;background:#eef7ff;border:1px solid #d8e8f7;border-radius:13px;padding:13px;margin:16px 0 24px;text-align:left}.client-preview-notice>span{font-size:18px;color:#1b7da4}.client-preview-notice strong{font-size:12px;display:block;color:#1a5e80;margin-bottom:5px}.client-preview-notice small{font-size:11px;line-height:1.55;display:block;color:#547e95}
.client-form-fields{display:grid;gap:16px}.client-form-card label,.client-action-card label{font-size:12px;color:#4b6276;font-weight:750}.client-form-card input,.client-action-card input{margin-top:9px;min-height:51px;border-radius:12px;background:#f7f9fc}.client-form-card input:disabled,.client-action-card input:disabled{background:#f5f8fb;border-color:#e2e9f0;color:#788b97;opacity:1;cursor:not-allowed}.client-forgot-link{font-size:12px;font-weight:700;color:#17886e;text-align:right;margin-top:-5px}.client-forgot-link:hover,.client-new a:hover,.client-back:hover{text-decoration:underline}.client-submit{width:100%;border-radius:12px;border:0;min-height:51px;background:var(--accent);color:#083d33;font-size:13px;font-weight:800;display:flex;align-items:center;justify-content:center;gap:10px;padding:14px}.client-submit:disabled{background:#dcebe9;color:#8ba9a5;cursor:not-allowed}.client-new{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:7px;margin:23px 0 18px;font-size:12px;color:#8096a3}.client-new a{color:#078867;font-weight:800}.client-secure{padding-top:18px;border-top:1px solid #eef1f5;color:#899aa7;font-size:10px;letter-spacing:.2px;text-align:center}.client-secure span{color:#229b7e;margin-right:7px}
.client-highlights{max-width:1320px;margin:0 auto 80px;padding:0 30px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.client-highlight{border:1px solid #1f4555;border-radius:20px;background:#0f2d41;padding:30px 27px}.client-highlight-icon{border-radius:13px;background:#123f44;color:#51e0b8;width:44px;height:44px;display:grid;place-items:center;font-size:23px}.client-highlight h3{font-size:16px;color:#e2f0f3;margin:20px 0 10px}.client-highlight p{margin:0;font-size:12px;line-height:1.75;color:#99b5c3}.client-footer{max-width:1260px;padding:24px 10px 36px;margin:auto;display:flex;gap:20px;justify-content:space-between;border-top:1px solid #173a4d;font-size:11px;color:#7597a8}
.client-action-shell{max-width:1160px;min-height:675px;margin:0 auto;display:grid;grid-template-columns:1fr minmax(350px,440px);align-items:center;gap:60px;padding:60px 25px 110px}.client-action-intro h1{font-size:clamp(41px,4vw,60px)}.client-action-intro>p{font-size:15px}.client-action-steps{margin:35px 0 0;display:grid;gap:20px}.client-action-steps div{display:flex;align-items:center;gap:14px;color:#c9e0e8;font-size:13px}.client-action-steps b{height:35px;width:35px;display:grid;place-items:center;background:#124d48;color:#65eab8;border-radius:11px;font-size:11px}.client-action-card{background:#fff;color:#153147;border-radius:23px;border:1px solid #dfe7ee;padding:40px;box-shadow:0 20px 80px #00182766}.client-back{color:#19896b;font-size:12px;font-weight:750;display:inline-block;margin-bottom:30px}.client-action-icon{font-size:27px;color:#159e79;background:#e6f8f1;border-radius:17px;width:56px;height:56px;display:grid;place-items:center;margin-bottom:22px}.client-action-card>label{display:block;margin:18px 0}.client-action-foot{color:#8798a8;font-size:11px;line-height:1.7;margin:18px 0 0!important}
@media(max-width:1000px){.client-landing{grid-template-columns:1fr;gap:38px;max-width:670px;padding-top:50px}.client-hero-copy h1{font-size:55px}.client-hero-bottom{display:none}.client-form-outer:before{inset:14px -12px -12px 12px}.client-highlights{grid-template-columns:1fr;max-width:670px}.client-action-shell{grid-template-columns:1fr;max-width:640px;gap:35px}.client-action-intro h1{font-size:49px}.client-action-steps{grid-template-columns:1fr 1fr;gap:13px}.client-action-steps div:last-child{grid-column:span 2}}
@media(max-width:720px){.client-landing{padding:42px 21px 60px;gap:32px;min-height:0}.client-hero-copy h1{font-size:clamp(43px,11vw,58px);letter-spacing:-2.2px}.client-lead{font-size:14px}.client-benefits{gap:9px 15px;margin:24px 0 0}.client-benefits span{font-size:11px}.client-form-card{padding:26px 21px}.client-form-card h2{font-size:25px}.client-highlights{padding:0 20px;margin-bottom:42px}.client-highlight{padding:21px}.client-footer{margin:0 20px;padding:25px 0 38px;display:block}.client-footer span{display:block;margin-bottom:8px}.client-action-shell{padding:40px 20px 70px;gap:33px}.client-action-intro h1{font-size:43px;letter-spacing:-1.8px}.client-action-card{padding:28px 22px}.client-action-steps{grid-template-columns:1fr}.client-action-steps div:last-child{grid-column:auto}.public-top .logo strong{font-size:13px}.public-top .logo small{font-size:8px}.public-top .small-link{font-size:10px}}
@media(prefers-reduced-motion:reduce){.client-landing *, .client-action-shell *{animation:none!important;transition:none!important}}

/* Central v0.2.0: formulários nativos e painel do assinante */
label select{display:block;margin-top:9px;width:100%;min-height:48px;border:1px solid #dae4ee;background:#f9fbfe;border-radius:10px;padding:12px 14px;color:#10283e;font:inherit}
.client-action-card form.stack{margin:16px 0}.client-action-card form.stack label input{width:100%}
.client-account{max-width:1220px;margin:45px auto 85px;padding:0 25px}.client-account .pagehead h1{color:#e0f6f1}.client-account .pagehead p{color:#9fb9c6}.client-account>.card{background:#0d3041;border-color:#1a4a55}.client-account>.card h2{color:#e4f4f5}.client-account>.card p{color:#a7c4ce}
@media (max-width:720px){.client-account{margin:20px auto 50px;padding:0 20px}.client-account .pagehead{display:block}.client-account .pagehead form{margin:20px 0}}

/* v0.2.6 — financeiro responsivo (CSS nativo) */
.billing-entry{margin:24px 0;display:flex;gap:26px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.billing-entry>div{max-width:650px}
.billing-page .pagehead{display:flex;align-items:center;gap:25px;justify-content:space-between;flex-wrap:wrap}
.billing-tabs{display:flex;gap:10px;margin:25px 0 32px;flex-wrap:wrap}
.billing-tab{padding:11px 18px;border:1px solid #315468;border-radius:30px;background:#123246;color:#d3ecf2;font-size:13px;font-weight:700}
.billing-tab strong{margin-left:8px;color:#4fe2b3}
.billing-section{margin-top:34px}.billing-section>h2{font-size:21px;color:#eaf9f7;margin:0 0 18px}
.billing-list{display:grid;gap:12px}.billing-row{display:flex;justify-content:space-between;align-items:center;gap:25px;border:1px solid #2a5361;border-radius:18px;background:#123248;padding:23px 26px}
.billing-row h3{font-size:17px;margin:10px 0 8px;color:#f0fbff}.billing-row p{font-size:12px;color:#a8c3ce;margin:0}
.billing-row-end{display:grid;justify-items:end;gap:12px;min-width:155px}.billing-row-end>strong,.billing-row>strong{font-size:20px;color:#fff}
.billing-status{display:inline-block;padding:6px 12px;border-radius:40px;background:#304558;color:#d4e1e8;font-size:11px;font-weight:800}
.billing-aberto{background:#203d60;color:#a9d4ff}.billing-vencido{background:#572a31;color:#ffd1cd}.billing-pago{background:#15453e;color:#97f0cc}
.billing-detail-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(220px,1fr);gap:20px}
.billing-white{background:#fff!important;color:#163147;border-color:#dfe8ec!important;padding:32px!important}
.billing-white h2,.billing-white h3{color:#123347!important}.billing-white p{color:#647987!important}
.billing-head{display:flex;justify-content:space-between;align-items:center;gap:15px;flex-wrap:wrap}
.billing-head h2{margin:8px 0}.billing-label{color:#66818d;font-size:12px}
.billing-total{font-weight:900;font-size:clamp(30px,4vw,47px);letter-spacing:-1px;margin:25px 0;color:#11364a}
.billing-meta{display:flex;gap:40px;flex-wrap:wrap;margin-bottom:28px}
.billing-meta span{display:grid;gap:7px;color:#647987;font-size:11px}.billing-meta strong{font-size:14px;color:#153245}
.billing-method{padding:20px 0;border-top:1px solid #e7edf1;margin-top:14px}
.billing-method h3{margin:0 0 12px;font-size:17px}.billing-method p{font-size:13px}
.billing-copy{display:flex;gap:12px;align-items:center;flex-wrap:wrap;min-width:0}
.billing-copy code{background:#f0f5f8;border-radius:10px;padding:12px;overflow-wrap:anywhere;word-break:break-all;flex:1;min-width:170px;color:#193d51;font-size:13px}
.billing-qr{display:block;width:200px;height:auto;max-width:100%;border:1px solid #e8eef1;border-radius:8px}
.billing-help{align-self:start}.billing-info{padding:25px!important}
@media(max-width:800px){.billing-detail-layout{grid-template-columns:1fr}.billing-row{display:block;padding:20px}.billing-row-end{justify-items:start;margin-top:20px}.billing-white{padding:22px!important}.billing-entry{align-items:start}}

/* v0.2.7 — banking UI: exclusivamente na área autenticada do assinante. */
body:has(.bank-app){background:#f3f6fb;color:#183046}
body:has(.bank-app) .public-top{background:#0a2036;padding-top:20px;padding-bottom:20px;border-bottom:1px solid #1b3852}
body:has(.bank-app) .public-top .logo small{color:#a9c9d4}
body:has(.bank-app) .public-main{min-height:0}
.bank-app{max-width:1140px;margin:0 auto;padding:33px 22px 75px;color:#162f46}
.bank-app :is(a,button):focus-visible{outline:3px solid #00a98c;outline-offset:3px}
.bank-app h1,.bank-app h2,.bank-app h3,.bank-app h4{letter-spacing:-.45px}
.bank-kicker{display:inline-flex;align-items:center;gap:9px;letter-spacing:1.75px;color:#a7e6db;font-size:10px;font-weight:850}
.bank-kicker--muted{color:#268a7c}
.bank-kicker-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#64edbe;box-shadow:0 0 0 4px #56cbaf22}
.bank-intro{border-radius:25px;background:linear-gradient(114deg,#0d3450 0%,#0b2946 48%,#0c544e 100%);box-shadow:0 18px 40px #122d4430;padding:35px 42px;color:#f9fffe;position:relative;overflow:hidden}
.bank-intro::after{content:'◈';font-size:280px;line-height:1;position:absolute;right:-34px;top:-75px;color:#ffffff0a;transform:rotate(-19deg);pointer-events:none}
.bank-intro>*{position:relative;z-index:1}
.bank-intro--dashboard{padding-bottom:27px}
.bank-intro-top{display:flex;justify-content:space-between;align-items:center;gap:15px}
.bank-logout{border:1px solid #ffffff55;background:#ffffff12;color:#e5fffb;padding:10px 16px;border-radius:10px;min-height:42px;font-size:12px;font-weight:750}
.bank-intro h1{color:#fff;font-size:clamp(28px,4vw,39px);line-height:1.18;margin:18px 0 11px;font-weight:850;max-width:680px}
.bank-intro>p{color:#b7d6df;font-size:14px;line-height:1.6;margin:0}
.bank-intro-bottom{display:flex;gap:9px;align-items:center;border-top:1px solid #ffffff20;margin-top:32px;padding-top:18px;font-size:12px;color:#bfebdc;font-weight:650}
.bank-dash-layout{display:grid;grid-template-columns:1fr 1fr;gap:17px;margin:22px 0 35px}
.bank-service{min-width:0;border:1px solid #dde9ed;border-radius:19px;display:flex;gap:18px;align-items:center;padding:22px;background:#fff;color:#12304a;box-shadow:0 8px 24px #1534500b}
.bank-service--primary{border-color:#adedd9;background:linear-gradient(120deg,#e8fbf4,#fff)}
.bank-service--primary:hover{border-color:#27b890;transform:translateY(-1px)}
.bank-service-icon{width:53px;height:53px;flex:none;display:grid;place-items:center;background:#e2f6ed;border-radius:15px;color:#07876c;font-size:25px}
.bank-service>span:nth-child(2){display:grid;gap:6px;min-width:0}
.bank-service small{color:#35927f;font-size:10px;font-weight:900;letter-spacing:1.25px}
.bank-service strong{font-size:19px;letter-spacing:-.5px}
.bank-service>span:nth-child(2)>span{color:#738c99;font-size:12px}
.bank-service>b{margin-left:auto;color:#209977;font-size:23px}
.bank-section-heading{display:flex;align-items:end;justify-content:space-between;gap:15px;margin:32px 0 20px}
.bank-section-heading h2{font-size:23px;color:#123147;margin:6px 0 0}
.bank-contract-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}
.bank-contract{display:flex;gap:17px;align-items:start;background:#fff;border:1px solid #e2ebf2;border-radius:18px;padding:23px;min-width:0}
.bank-contract-icon{flex:none;height:49px;width:49px;border-radius:13px;background:#eef6fd;color:#28688d;display:grid;place-items:center;font-size:23px}
.bank-contract-tag{font-size:9px;letter-spacing:1.05px;color:#269279;font-weight:850}
.bank-contract h3{font-size:16px;color:#17354c;margin:9px 0 5px;overflow-wrap:anywhere}
.bank-contract p{font-size:12px;line-height:1.5;margin:0;color:#78909e}
.bank-disclaimer{display:flex;align-items:flex-start;gap:10px;margin:27px 0 0;color:#667e8f;font-size:12px;line-height:1.6}
.bank-disclaimer>span{color:#108b76;font-size:16px}
.bank-topline{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:3px 0 25px;color:#688292}
.bank-back{min-height:44px;display:inline-flex;gap:10px;align-items:center;font-weight:800;color:#126d66}
.bank-back span{font-size:23px;font-weight:400}
.bank-private{font-size:11px;font-weight:750}
.bank-private span{color:#148b73;margin-right:5px}
.bank-intro--billing{padding:35px 42px 28px}
.bank-intro--billing h1{margin-top:15px}
.bank-finance-stats{display:grid;grid-template-columns:1fr 1fr;gap:0;max-width:800px;margin-top:31px;border-top:1px solid #ffffff30;padding-top:24px}
.bank-finance-stats>div{padding:0 23px;border-right:1px solid #ffffff28;min-width:0}
.bank-finance-stats>div:first-child{padding-left:0}
.bank-finance-stats>div:last-child{border:0}
.bank-finance-stats small{display:block;font-size:10px;letter-spacing:1.2px;font-weight:850;color:#b0d9dc;margin-bottom:10px}
.bank-finance-stats strong{font-size:20px;font-weight:850;color:#fff;overflow-wrap:anywhere}
.bank-counter{border-radius:100px;padding:9px 13px;background:#e7eef4;color:#577587;font-size:11px;font-weight:800}
.bank-filter{display:flex;gap:8px;flex-wrap:wrap;margin:17px 0 22px}
.bank-filter-button{display:inline-flex;align-items:center;gap:10px;padding:12px 17px;min-height:46px;border:1px solid #d9e5ed;border-radius:100px;background:white;color:#49697e;font-size:13px;font-weight:750}
.bank-filter-button span{font-size:11px;color:#728b9c;background:#f0f4f7;padding:4px 8px;border-radius:25px}
.bank-filter-button.is-active{border-color:#0e876e;background:#106e63;color:#fff}
.bank-filter-button.is-active span{background:#ffffff24;color:#fff}
.bank-invoice-section{margin:30px 0 38px}
.bank-invoice-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:13px}
.bank-invoice-heading h3{margin:0;color:#19344a;font-size:17px}
.bank-invoice-heading>span{color:#758c99;font-size:12px}
.bank-invoice-list{display:grid;gap:11px}
.bank-invoice-row{display:flex;align-items:center;justify-content:space-between;gap:18px;border-radius:18px;border:1px solid #e0eaf1;background:#fff;padding:19px 24px;box-shadow:0 4px 20px #17375409;min-width:0}
.bank-invoice-left{display:flex;gap:17px;align-items:center;min-width:0}
.bank-invoice-icon{flex:none;display:grid;place-items:center;height:51px;width:51px;border-radius:15px;background:#e8f1fd;color:#2871a3;font-size:24px}
.bank-invoice-icon--paid{background:#e6f8ef;color:#108a65;font-size:22px}
.bank-invoice-left>div{min-width:0}
.bank-invoice-row h4{font-size:16px;margin:9px 0 5px;color:#1c3449;overflow-wrap:anywhere}
.bank-invoice-row p{font-size:12px;margin:0;color:#6b8596;line-height:1.5;overflow-wrap:anywhere}
.bank-invoice-right{display:flex;align-items:center;gap:23px;flex:none}
.bank-invoice-right>strong{color:#193449;font-size:19px;white-space:nowrap}
.bank-action{min-height:43px;border-radius:10px;padding:11px 14px;display:inline-flex;gap:9px;align-items:center;justify-content:center;font-size:12px;font-weight:850;color:#fff;background:#0c806b;white-space:nowrap}
.bank-action:hover{background:#096b5b}
.bank-action--subtle{background:#e8f3f0;color:#13755f}
.bank-action--subtle:hover{background:#d5ebe4}
.bank-status{display:inline-block;border-radius:100px;padding:6px 11px;font-size:10px;font-weight:850;line-height:1.2;letter-spacing:.1px}
.bank-status--aberto{background:#e8f2ff;color:#185f9b}
.bank-status--vencido{background:#fff0e9;color:#a54320}
.bank-status--pago{background:#e5f7ec;color:#117d59}
.bank-status--outro{background:#eff1f4;color:#5e6c78}
.bank-detail-title{margin:0 0 22px}
.bank-detail-title h1{color:#163248;font-size:clamp(25px,3.5vw,32px);margin:8px 0}
.bank-detail-title p{color:#6d8897;font-size:13px;margin:0;line-height:1.6}
.bank-detail-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(235px,.7fr);gap:21px;align-items:start}
.bank-payment-card{background:#fff;border:1px solid #dfe8ee;border-radius:23px;overflow:hidden;box-shadow:0 15px 45px #0b2b4210;min-width:0}
.bank-payment-hero{background:linear-gradient(118deg,#143954,#0e3047);padding:29px 32px;color:#fff}
.bank-payment-head{display:flex;align-items:center;justify-content:space-between;gap:15px}
.bank-payment-head>span:first-child{font-size:10px;letter-spacing:1.2px;font-weight:800;color:#b5d4df}
.bank-amount-label{display:block;color:#c5dbe2;font-size:12px;margin:30px 0 5px}
.bank-payment-amount{display:block;color:#fff;font-weight:900;font-size:clamp(30px,4vw,44px);letter-spacing:-1px;overflow-wrap:anywhere}
.bank-payment-meta{display:grid;grid-template-columns:1fr 1fr;gap:15px;border-top:1px solid #ffffff33;margin-top:23px;padding-top:20px}
.bank-payment-meta>div{display:grid;gap:6px;min-width:0}
.bank-payment-meta span{font-size:11px;color:#b3cdd7}
.bank-payment-meta strong{font-size:14px;color:#fff;overflow-wrap:anywhere}
.bank-pay-content{padding:26px 32px 32px}
.bank-pay-content>h2{color:#1b3447;font-size:19px;margin:0 0 6px}
.bank-pay-subtitle{color:#728b9b;font-size:12px;line-height:1.65;margin:0 0 5px}
.bank-pay-method{margin:21px 0 0;padding:21px;border:1px solid #dfe8ee;border-radius:17px;background:#fff}
.bank-method-head{display:flex;align-items:center;gap:13px;margin-bottom:15px}
.bank-method-icon{display:grid;place-items:center;border-radius:12px;flex:none;height:43px;width:43px;color:#2379a1;background:#eaf3fd;font-size:26px}
.bank-method-icon--pix{background:#e5f7f1;color:#079378}
.bank-method-head h3{font-size:16px;margin:0 0 4px;color:#1b364b}
.bank-method-head p{font-size:12px;line-height:1.5;color:#8294a1;margin:0}
.bank-copy-code{border:1px dashed #bfcdd6;border-radius:11px;background:#f5f8fa;min-width:0;padding:12px 14px;max-height:118px;overflow:auto}
.bank-copy-code code{display:block;color:#3d5769;font:12px/1.75 ui-monospace,SFMono-Regular,Consolas,"Liberation Mono",monospace;overflow-wrap:anywhere;word-break:break-all;user-select:text}
.bank-copy-button{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;margin-top:13px;padding:13px 15px;min-height:48px;border-radius:11px;background:#0b8972;border:1px solid #0b8972;color:#fff;font-weight:850;font-size:13px}
.bank-copy-button:hover{background:#087462}
.bank-copy-button--outline{background:#e9f7f2;border-color:#d8eee5;color:#086b5c}
.bank-copy-button--outline:hover{background:#d5eee4}
.bank-copy-button>span:last-child{margin-left:0}
.bank-copy-button:disabled{opacity:.75;cursor:progress}
.bank-qr-wrap{display:flex;align-items:center;gap:17px;margin-top:17px;padding:15px;background:#f5f9f9;border-radius:12px}
.bank-qr{width:125px;height:auto;border-radius:7px;max-width:45%;background:white}
.bank-qr-wrap span{font-size:12px;line-height:1.5;color:#5e7e8c}
.bank-pay-link{margin-top:18px}
.bank-external{min-height:44px;display:inline-flex;align-items:center;gap:9px;font-size:13px;color:#087a69;font-weight:850;overflow-wrap:anywhere}
.bank-paid-info{display:flex;gap:14px;align-items:start;padding:20px;background:#eaf8f0;border-radius:14px;color:#186e56}
.bank-paid-info>span{font-size:26px}
.bank-paid-info strong{font-size:15px}
.bank-paid-info p{margin:6px 0 0;color:#3b7966;font-size:12px;line-height:1.6}
.bank-payment-aside{border:1px solid #dde9ee;border-radius:20px;background:#fff;padding:27px;box-shadow:0 7px 30px #0c2d4311}
.bank-aside-icon{display:grid;place-items:center;height:43px;width:43px;background:#e5f8ee;color:#148e70;border-radius:13px;font-size:23px}
.bank-payment-aside h2{font-size:18px;color:#213b4d;margin:18px 0 11px}
.bank-payment-aside p{font-size:13px;color:#687f91;line-height:1.75;margin:0}
.bank-aside-divider{height:1px;background:#e9edf0;margin:22px 0}
.bank-payment-aside>span{font-size:12px;line-height:1.65;color:#8293a0}
.bank-empty{border:1px solid #dfeaf0;background:#fff;padding:28px;border-radius:18px;color:#203c50}
.bank-empty h2,.bank-empty h3{color:#233c50;margin:0 0 10px}
.bank-empty p{line-height:1.65;font-size:13px;color:#748b9a;margin:0}
.bank-empty--inside{padding:20px;background:#f5f9fa}
.bank-filter-empty{padding:22px;text-align:center;background:#fff;border:1px dashed #cbdce5;border-radius:16px;color:#688297;font-size:13px}
.bank-filter-empty[hidden],[data-billing-section][hidden]{display:none!important}
.bank-copy-toast{position:fixed;z-index:110;right:22px;bottom:24px;background:#0d3547;color:#fff;padding:14px 19px;max-width:min(420px,calc(100vw - 32px));border-radius:13px;box-shadow:0 15px 45px #00202d44;font-size:13px;font-weight:800;line-height:1.4}
@media(max-width:940px){.bank-invoice-right{flex-direction:column;align-items:flex-end;gap:10px}.bank-detail-grid{grid-template-columns:1fr}.bank-payment-aside{padding:22px}.bank-invoice-row{padding:18px}}
@media(max-width:640px){.bank-app{padding:19px 15px 60px}.bank-intro{border-radius:20px;padding:27px 24px}.bank-intro h1{font-size:30px}.bank-intro--billing{padding:27px 23px}.bank-intro--billing>p{font-size:12px}.bank-dash-layout,.bank-contract-grid{grid-template-columns:1fr;gap:12px}.bank-service{padding:17px}.bank-finance-stats{grid-template-columns:1fr 1fr;row-gap:18px}.bank-finance-stats>div{padding:0 12px}.bank-finance-stats>div:first-child{padding-left:0}.bank-finance-stats>div:last-child{border-top:0;grid-column:auto;padding:0 0 0 12px}.bank-finance-stats strong{font-size:18px}.bank-section-heading h2{font-size:21px}.bank-invoice-row{align-items:stretch;flex-direction:column;gap:16px;padding:17px}.bank-invoice-left{align-items:flex-start}.bank-invoice-icon{width:43px;height:43px}.bank-invoice-right{flex-direction:row;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;border-top:1px solid #edf1f4;padding-top:14px}.bank-invoice-right>strong{font-size:18px}.bank-action{flex:1}.bank-payment-hero{padding:24px 20px}.bank-pay-content{padding:22px 15px}.bank-pay-method{padding:17px 14px}.bank-payment-head{align-items:flex-start}.bank-payment-head>span:first-child{max-width:60%;overflow-wrap:anywhere}.bank-payment-meta{gap:12px}.bank-qr-wrap{flex-direction:column;align-items:start}.bank-qr{max-width:100%;width:166px}.bank-topline{margin-bottom:16px}.bank-copy-toast{left:16px;right:16px;bottom:18px;max-width:none;text-align:center}}
@media(prefers-reduced-motion:reduce){.bank-service{transition:none!important}.bank-action{transition:none!important}}

/* v0.2.8: homologação segura, isolada do visual dos clientes comuns */
.ca-test-admin { border: 1px solid #73a3bc; }
.ca-test-admin .ca-test-admin-grid { align-items:start; gap:24px; }
.ca-test-admin .ca-test-admin-grid > form { min-width:0; border:1px solid rgba(45,91,115,.18); border-radius:16px; padding:18px; background:rgba(235,246,251,.36); }
.ca-test-admin h3 { margin:0; font-size:1.05rem; }
.ca-test-banner { margin-bottom:20px; padding:14px 18px; border:1px solid #d6aa53; border-radius:14px; background:#fffaeb; color:#72521c; line-height:1.5; font-size:14px; }
.ca-test-banner strong { color:#69420a; }
@media(max-width:700px) { .ca-test-admin .ca-test-admin-grid > form {padding:14px;} }

/* v0.2.9 — navegação de aplicativo PWA, restrita à área autenticada. */
.bank-app-nav{display:none}
@media(max-width:720px){
  .bank-app-nav{display:flex;position:fixed;inset:auto 0 0;z-index:80;align-items:stretch;justify-content:space-around;gap:6px;padding:8px 12px calc(8px + env(safe-area-inset-bottom,0px));border-top:1px solid #dde8ec;background:#fff;box-shadow:0 -10px 30px #112d3920}
  .bank-app-nav-link{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:4px;min-width:70px;min-height:54px;border:0;border-radius:11px;padding:7px 12px;background:transparent;color:#657f8e;font-family:inherit;font-weight:750;font-size:11px;line-height:1.2;text-decoration:none;cursor:pointer}
  .bank-app-nav-link>span{font-size:22px;line-height:1}
  .bank-app-nav-link.is-current{background:#e6f7f1;color:#096c5a}
  .bank-app-nav-link:focus-visible{outline:2px solid #096c5a;outline-offset:2px}
  .bank-app-nav-logout{margin:0;min-width:0}
  .bank-app-nav-logout .bank-app-nav-link{width:100%;font-family:inherit;font-size:11px;font-weight:750}
  body:has(.bank-app-nav) .public-main{padding-bottom:calc(100px + env(safe-area-inset-bottom,0px))}
}
@media(max-width:720px){
  body:has(.bank-app-nav) .bank-logout{display:none}
  body:has(.bank-app-nav) .bank-copy-toast{bottom:calc(88px + env(safe-area-inset-bottom,0px))}
}


/* v0.2.10: menu lateral Premium Top - apenas para assinante autenticado. */
.ca-client-header{display:flex;align-items:center;justify-content:flex-start;gap:14px}
.ca-client-header .logo{min-width:0}
.ca-client-header .logo strong{overflow-wrap:anywhere}
.ca-menu-trigger{width:48px;height:48px;flex:0 0 48px;display:grid;place-items:center;border:1px solid #ffffff30;border-radius:14px;background:#ffffff14;color:#fff;box-shadow:0 4px 12px #0010202c;transition:background .2s,border-color .2s}
.ca-menu-trigger:not(:disabled):hover,.ca-menu-trigger[aria-expanded="true"]{background:#184d52;border-color:#50d9a4}
.ca-menu-trigger:disabled{opacity:.45;cursor:default}
.ca-menu-trigger:focus-visible,.ca-client-drawer :is(a,button):focus-visible{outline:3px solid #5de7c0;outline-offset:3px}
.ca-menu-trigger-lines{display:flex;flex-direction:column;gap:5px;width:22px}
.ca-menu-trigger-lines i{display:block;width:100%;height:2.5px;border-radius:5px;background:currentColor}
.ca-menu-is-open{overflow:hidden}
.ca-client-drawer{position:fixed;inset:0 auto 0 0;margin:0;padding:0;width:min(370px,89vw);max-width:none;max-height:100dvh;height:100dvh;border:0;background:#081b2e;color:#eaf8fc;box-shadow:20px 0 65px #020e1b75;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.ca-client-drawer::backdrop{background:rgba(2,12,24,.67);backdrop-filter:blur(3px)}
.ca-drawer-layout{min-height:100%;display:flex;flex-direction:column;background:linear-gradient(155deg,#0e2d42 0%,#081b2e 53%,#06182b 100%)}
.ca-drawer-head{padding:24px 20px 22px;display:flex;align-items:center;gap:10px;justify-content:space-between;border-bottom:1px solid #ffffff17}
.ca-drawer-brand{display:flex;align-items:center;gap:12px;min-width:0}
.ca-drawer-brand-icon{height:45px;width:45px;flex:0 0 45px;display:grid;place-items:center;color:#62ecc3;background:#113f45;border:1px solid #276e65;border-radius:13px;font-size:24px}
.ca-drawer-brand strong{display:block;font-size:13px;letter-spacing:.35px;line-height:1.3;overflow-wrap:anywhere}
.ca-drawer-brand small{display:block;color:#8abdbb;font-size:9px;letter-spacing:1.85px;font-weight:800;margin-top:5px}
.ca-drawer-close{border:1px solid #ffffff30;border-radius:12px;color:#ddf5f7;background:#ffffff0c;width:43px;height:43px;flex:0 0 43px;font-size:28px;line-height:1;display:grid;place-items:center}
.ca-drawer-close:hover{background:#ffffff21}
.ca-drawer-welcome{padding:26px 25px 23px}
.ca-drawer-kicker,.ca-drawer-section-title{display:block;color:#67e5bb;font-size:10px;font-weight:850;letter-spacing:1.7px}
.ca-drawer-welcome h2{font-size:26px;letter-spacing:-.7px;color:white;margin:9px 0 7px}
.ca-drawer-welcome p{font-size:12px;color:#a2bfce;line-height:1.55;margin:0}
.ca-drawer-nav{padding:10px 13px 26px}
.ca-drawer-section-title{padding:0 13px 13px;color:#87a9b7}
.ca-drawer-link{display:flex;align-items:center;gap:14px;min-height:69px;padding:13px 12px;border-radius:15px;color:#d0e6ee;border:1px solid transparent;transition:background .18s,color .18s}
.ca-drawer-link:hover{color:#fff;background:#ffffff10}
.ca-drawer-link.is-active{background:#17645245;color:white;border-color:#46bc9470}
.ca-drawer-link-icon{height:42px;width:42px;flex:0 0 42px;display:grid;place-items:center;border-radius:12px;background:#ffffff12;color:#69e9bd;font-size:24px}
.ca-drawer-link>span:nth-child(2){font-size:14px;font-weight:760;min-width:0;flex:1}
.ca-drawer-link small{display:block;margin-top:4px;color:#94b4c0;font-size:11px;font-weight:500;line-height:1.4}
.ca-drawer-link>b{font-weight:500;font-size:24px;color:#84a3ad}
.ca-drawer-footer{margin-top:auto;border-top:1px solid #ffffff1c;padding:21px 24px calc(22px + env(safe-area-inset-bottom,0px));display:grid;gap:18px}
.ca-drawer-protected{display:flex;gap:12px;align-items:center;color:#bce8db;font-size:12px;font-weight:800}
.ca-drawer-protected>span{font-size:20px;color:#57d5a7}
.ca-drawer-protected small{display:block;margin-top:3px;color:#88a9b6;font-size:11px;font-weight:500}
.ca-drawer-footer form{margin:0}
.ca-drawer-logout{min-height:48px;width:100%;display:flex;align-items:center;gap:12px;justify-content:center;padding:12px 15px;border:1px solid #ffffff32;border-radius:13px;background:#ffffff0c;color:#eaf7f9;font-weight:790;font-size:13px}
.ca-drawer-logout:hover{background:#ffffff22}
.ca-drawer-logout span{font-size:21px}
.ca-drawer-version{text-align:center;color:#83a3b2;font-size:10px}
#meus-contratos{scroll-margin-top:18px}
@media(max-width:720px){.ca-client-header{padding:14px 17px;gap:12px}.ca-menu-trigger{width:46px;height:46px;flex-basis:46px}.ca-client-header .logo{gap:9px}.ca-client-header .logo-icon{height:39px;width:39px;font-size:23px}.ca-client-header .logo strong{font-size:13px}.ca-client-header .logo small{font-size:8px}}
@media(max-width:350px){.ca-client-header .logo strong{font-size:12px}.ca-drawer-link{gap:10px}}
@media(prefers-reduced-motion:reduce){.ca-menu-trigger,.ca-drawer-link{transition:none}}


/* v0.2.11 • identidade INTERPRO — marca original armazenada na pasta da Central */
:root{--navy:#071b33;--navy2:#0a2e4b;--accent:#12ad83;--interpro-blue:#087eb7;--interpro-green:#11ad7e}
.logo{gap:10px;min-width:0}
.interpro-logo-wrap{width:172px;max-width:100%;height:54px;display:flex;align-items:center;justify-content:flex-start;flex:none;border-radius:9px;background:#fff;padding:3px 9px;overflow:hidden}
.interpro-brand-img{width:100%;height:100%;max-width:100%;object-fit:contain;object-position:left center;display:block}
.public-top .logo{align-items:center;gap:12px}
.public-top .interpro-logo-wrap{width:174px;height:58px}
.public-top .interpro-brand-tag{font-size:10px;color:#a8e3d0;letter-spacing:1.7px;font-weight:800;display:inline-block;border-left:2px solid var(--interpro-green);padding:9px 0 9px 13px;margin:0}
.sidebar .logo{padding:8px 6px 38px;display:grid;justify-items:start;gap:10px}
.sidebar .interpro-logo-wrap{height:68px;width:194px}
.sidebar .logo strong{font-size:13px;letter-spacing:0}
.sidebar .logo small{font-size:9px;color:#b3dce5;letter-spacing:1.5px}
.interpro-hero-brand{display:inline-flex;padding:8px 15px;background:white;border:1px solid #c8e6e2;border-radius:16px;margin-bottom:21px;box-shadow:0 14px 38px #00132226;max-width:calc(100% - 6px)}
.interpro-hero-brand img{display:block;width:215px;max-width:100%;height:65px;object-fit:contain;object-position:left center}
.interpro-form-avatar{width:54px;height:54px;border-radius:16px;overflow:hidden;background:#082b47;display:grid;place-items:center}
.interpro-form-avatar img{width:100%;height:100%;object-fit:cover}
.ca-drawer-brand{display:flex;align-items:center;gap:11px;flex-wrap:wrap}
.interpro-drawer-logo{width:166px;height:56px;max-width:100%;object-fit:contain;object-position:left center;background:#fff;border-radius:10px;padding:5px 9px}
.interpro-drawer-label{font-size:10px;letter-spacing:1.3px;font-weight:850;color:#b6eada}
.preview-logo{flex-wrap:wrap}.preview-logo .interpro-logo-wrap{width:200px;height:65px}
.client-card-chip{border:1px solid #d0efe4;background:#eaf8f4;color:#14775e}
.client-submit{background:linear-gradient(115deg,#14b989,#0ca17c);color:#fff;box-shadow:0 11px 20px #09926a2a}
.client-submit:hover{filter:brightness(1.03)}
.bank-intro{background:linear-gradient(116deg,#06345b 0%,#07517a 58%,#097d69 100%)}
.bank-payment-hero{background:linear-gradient(116deg,#073558 0%,#095171 75%,#09695b 100%)}
.bank-action{background:#0d9b7b}.bank-filter-button.is-active{background:#0c826a}
.ca-drawer-head{gap:10px}
@media(max-width:610px){.public-top .interpro-logo-wrap{width:131px;height:47px;padding:3px 6px}.public-top .logo{gap:5px}.public-top .interpro-brand-tag{font-size:8px;letter-spacing:.8px;padding-left:7px}.interpro-drawer-logo{width:160px}.interpro-hero-brand img{width:176px;height:54px}}
@media(max-width:355px){.public-top .interpro-logo-wrap{width:117px}.public-top .interpro-brand-tag{font-size:7px;letter-spacing:.45px}}

/* v0.2.13: arte original INTERPRO, PNG transparente; 1 logotipo por tela visível. */
.interpro-logo-wrap{background:transparent!important;border:0!important;border-radius:0!important;padding:0!important;overflow:visible!important;width:190px;height:58px;flex-shrink:1;min-width:0}
.interpro-brand-img{display:block;width:100%;height:100%;object-fit:contain;object-position:left center}
.public-top .interpro-logo-wrap{width:205px;height:56px}
.sidebar .interpro-logo-wrap{width:200px;height:58px}
.sidebar .logo{gap:9px}
.interpro-drawer-logo{background:transparent!important;padding:0!important;border:0!important;border-radius:0!important;width:190px;height:54px}
.ca-drawer-brand{display:flex;flex-direction:column;align-items:flex-start;gap:6px}
.ca-drawer-brand .interpro-drawer-label{display:block;margin:0}
.preview-identity-label{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:28px;color:#fff}
.preview-identity-label strong{font-size:20px}
.preview-identity-label small{flex-basis:100%;color:#a4d2d8;letter-spacing:.8px}
.preview-color-dot{height:14px;width:14px;display:inline-block;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px #ffffff12}
.client-card-top{justify-content:flex-end}
.client-hero-copy .client-pill,.client-action-intro .client-pill{margin-top:0}
@media(max-width:610px){.public-top .interpro-logo-wrap{width:160px;height:46px}.interpro-drawer-logo{width:172px;height:49px}.public-top .interpro-brand-tag{font-size:8px}}
@media(max-width:355px){.public-top .interpro-logo-wrap{width:140px;height:43px}.public-top .interpro-brand-tag{font-size:7px;letter-spacing:0;padding-left:6px}.ca-client-header{gap:6px}}

/* Central de notificações 0.2.13: tabela responsiva e avisos */
.notice-table-wrap{width:100%;overflow-x:auto;border:1px solid #dce6ed;border-radius:16px}
.notice-table{width:100%;border-collapse:collapse;font-size:13px;min-width:670px;text-align:left}
.notice-table td,.notice-table th{padding:12px;border-bottom:1px solid #e9eef2;white-space:nowrap}
.notice-table thead{background:#edf5f8;color:#17314a}
.notice-eligible{color:#05794e;font-weight:750}
.notice-summary{display:flex;flex-wrap:wrap;gap:8px}
.notice-summary span{padding:9px 12px;border-radius:12px;background:#eaf3f7;color:#264054;display:inline-flex;gap:5px;align-items:center;font-size:13px}
.notice-summary b{color:#078a7b;font-size:16px}
.notice-rule-list{display:flex;gap:8px 16px;flex-wrap:wrap}
.notice-rule-list label{display:flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid #dce6ed;border-radius:12px;cursor:pointer}
.notice-history-row{display:flex;flex-direction:column;gap:4px;padding:12px 0;border-bottom:1px solid #e6edf2}
.notice-history-row small{font-size:12px;color:#667f91}
@media(max-width:680px){.notice-table{min-width:640px}.notice-summary span{flex:1 1 125px}}

.ca-client-header{gap:12px}.ca-client-header .logo{min-width:0;flex:1 1 auto}.ca-notification-bell{flex:none;width:43px;height:43px;display:grid;place-items:center;border:1px solid #234e65;color:#d5f4eb;background:#123a50;border-radius:13px;font-size:24px}.ca-notification-bell.is-active,.ca-notification-bell:hover{background:#146650;color:white}.ca-notification-bell:focus-visible{outline:3px solid #67dab1;outline-offset:3px}
@media(max-width:480px){.ca-client-header{gap:6px}.ca-client-header .interpro-brand-img{max-width:148px;height:auto}.ca-client-header .logo{gap:5px}.ca-notification-bell{width:39px;height:39px}.ca-menu-trigger{flex:none}}

.ca-notification-bell{position:relative}.ca-notice-count{position:absolute;top:-6px;right:-6px;min-width:21px;height:21px;padding:2px 4px;display:grid;place-items:center;border-radius:30px;background:#17c58f;color:#07342c;font-size:11px;font-weight:900;border:2px solid #0a2036}

/* v0.2.15: painel de varredura global sem bloqueio da navegação. */
#full-scan-panel .card-heading{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;flex-wrap:wrap}
#full-scan-panel .card-heading p{margin:7px 0 0}
#full-scan-panel [data-full-scan-progress]{padding:12px 16px;border:1px solid #cbdce5;border-radius:14px;background:#f6fafb}
#full-scan-panel progress{accent-color:#0aa779}
#full-scan-panel .notice-table-wrap{max-height:420px;overflow:auto}
#full-scan-panel .notice-table{min-width:690px}
#full-scan-panel [data-full-scan-summary]{line-height:1.9}

/* v0.2.16 — laboratório de boletos reais (somente administração) */
.notice-lab-lookup{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap}
.notice-lab-lookup label{min-width:200px;flex:1;max-width:380px}
.notice-lab-lookup .btn{min-height:45px}
.notice-lab-bill-form{display:flex;align-items:end;gap:9px;flex-wrap:wrap;min-width:0}
.notice-lab-select{min-width:175px;max-width:300px;flex:1}
.notice-lab-bill-form .btn{white-space:normal;min-height:44px}
.notice-lab-preview{border:1px solid #7bcdb9;border-radius:18px;padding:20px;background:#f1fdf9;display:grid;gap:11px;max-width:860px}
.notice-lab-preview h3{margin:0;color:#112f3d}
.notice-lab-preview p{margin:0;font-size:1.07rem;font-weight:600;color:#193b42}
.notice-lab-confirm{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap}
.notice-lab-confirm label{min-width:220px;max-width:450px;flex:1}
@media(max-width:520px){.notice-lab-lookup,.notice-lab-confirm,.notice-lab-bill-form{display:grid;grid-template-columns:minmax(0,1fr)}.notice-lab-lookup label,.notice-lab-confirm label,.notice-lab-select{min-width:0;max-width:100%}.notice-lab-preview{padding:14px}.notice-lab-bill-form .btn{width:100%}}

/* v0.2.17 - console de notificações, focado em operação sem page reload */
.notice-tab-bar{display:flex;gap:9px;overflow-x:auto;scrollbar-width:thin;padding:14px 1px 16px;margin-top:12px;margin-bottom:4px}
.notice-tab{flex:0 0 auto;border:1px solid #d3e3e8;background:#fff;color:#26455b;border-radius:13px;padding:12px 15px;cursor:pointer;min-height:46px;font:inherit;font-size:13px;font-weight:750}
.notice-tab[aria-selected="true"]{background:#0b3150;color:#fff;border-color:#0b3150;box-shadow:0 5px 15px #102d4622}
.notice-tab:focus-visible{outline:3px solid #25ac87;outline-offset:2px}
.notice-tab-panel[hidden],.notice-lab-flow[hidden]{display:none!important}
.notice-tab-panel{margin-top:8px}
#notice-subscriber-lab{border-top:4px solid #11ad85}
.notice-lab-target{padding:14px 16px;background:#e9f7f3;color:#16554b;border:1px solid #9bd9c9;border-radius:12px;font-weight:700}
.notice-lab-flow{display:grid;gap:16px}
.notice-lab-columns{align-items:end}
.notice-lab-error{background:#fff3ef!important;color:#a53025!important}
.notice-live-report{margin-top:18px;border-top:1px solid #dbe8ed;padding-top:12px}
.notice-report-actions{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}
#notice-subscriber-lab [data-notice-lab-preview]{max-width:none}
@media(max-width:650px){.notice-tab-bar{gap:6px}.notice-tab{padding:11px 12px;font-size:12px}.notice-lab-columns{grid-template-columns:1fr!important}}
#notice-subscriber-lab .card-heading{display:flex;align-items:flex-start;gap:14px;flex-wrap:wrap}
#notice-subscriber-lab .card-heading>div{flex:1 1 100%;min-width:0}
#notice-subscriber-lab .card-heading .badge{flex:0 0 auto;max-width:100%;white-space:normal}
#notice-subscriber-lab .card-heading p{max-width:68ch}

/* Caixa de notificações real: novos avisos, inclusive simulações manuais. */
.ca-notice-count[hidden]{display:none!important}
.notice-history-row.is-unread{border-left:4px solid #12ad83;background:rgba(18,173,131,.06);padding-left:14px}
.ca-inbox-title{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.ca-inbox-new,.ca-inbox-test{display:inline-flex;font-size:10px;font-weight:800;letter-spacing:.04em;padding:4px 8px;border-radius:15px}
.ca-inbox-new{background:#d6fff0;color:#135947}.ca-inbox-test{background:#fff1ce;color:#6d4b04}
.notice-history-row p{margin:7px 0;color:var(--text,#1f3c4b)}

.ca-inline-count{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 5px;border-radius:20px;background:#0cad81;color:#fff;font-size:11px;font-weight:900;margin-left:6px}
.ca-inline-count[hidden]{display:none!important}

[data-notice-mark-read][hidden]{display:none!important}

/* v0.2.19 — badge realmente visível/oculto em desktop e PWA instalado. */
.ca-notice-count[hidden], .ca-inline-count[hidden]{display:none!important}
@media(min-width:721px){.ca-notification-bell{flex:0 0 46px;min-width:46px;position:relative}}
@media(min-width:721px){.ca-notice-count{top:-7px;right:-7px;z-index:4}}

/* v0.2.22: modelos de notificação editáveis, exclusivos do painel. */
.notice-template-card{border:1px solid var(--border,#dde8ee);border-radius:17px;padding:18px;min-width:0;display:grid;gap:12px;background:rgba(248,252,255,.7)}
.notice-template-card legend{font-weight:800;padding:0 8px;color:inherit}
.notice-template-card label{display:grid;gap:6px}
.notice-template-card textarea{resize:vertical;min-height:78px;width:100%}
.notice-template-example{background:#eef8f6;border-left:4px solid #16a580;padding:13px;border-radius:10px;overflow-wrap:anywhere;font-size:14px;color:#193b41}
.notice-template-buttons{display:flex;gap:10px;flex-wrap:wrap}
@media(max-width:420px){.notice-template-card{padding:12px}.notice-template-buttons>*{width:100%}}

/* v0.2.22: Detalhamento transparente do valor COBRADO, não só mensalidade. */
.bank-breakdown{display:grid;gap:9px;padding:18px;margin:0 0 24px;background:#f4fafb;border:1px solid #d1e8e9;border-radius:19px;min-width:0}
.bank-breakdown-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.bank-breakdown-heading h2{margin:4px 0 8px;font-size:1.15rem;color:#0b3044}
.bank-breakdown-heading>span{color:#5b7b85;font-size:.79rem}
.bank-breakdown-item,.bank-breakdown-total{display:flex;justify-content:space-between;gap:15px;align-items:baseline;min-width:0}
.bank-breakdown-item{border-bottom:1px solid #dae9eb;padding:9px 0;font-size:.91rem;color:#395668}
.bank-breakdown-item>span{overflow-wrap:anywhere;min-width:0;flex:1}
.bank-breakdown-item>strong{color:#0b3044;white-space:nowrap;flex:none}
.bank-breakdown-item .bank-breakdown-discount{color:#13815f}
.bank-breakdown-item .bank-breakdown-addition{color:#153f72}
.bank-breakdown-total{padding:14px 3px 4px;font-size:1rem;font-weight:800;color:#092d41}
.bank-breakdown-total strong{font-size:1.3rem;color:#008665}
.bank-breakdown-note{font-size:.82rem;line-height:1.6;padding:9px 12px;border-radius:9px;background:#fff6dd;color:#604b26}
.bank-breakdown-foot{font-size:.79rem;line-height:1.55;color:#54727e;margin:4px 0 0}
.bank-invoice-right small{font-weight:500;font-size:.76rem;color:#60727a}
@media(max-width:450px){.bank-breakdown{padding:12px}.bank-breakdown-item{font-size:.84rem}.bank-breakdown-item>strong{font-size:.84rem}}

/* v0.2.25: menu do PWA sem duplicar a navegação inferior. */
.ca-drawer-nav-tip{margin:4px 12px 0;padding:10px 12px;border-radius:11px;background:#ffffff0c;color:#a9c7d0;font-size:12px;line-height:1.5}
@media(max-width:720px){.ca-drawer-desktop-logout{display:none!important}}
/* Alerta financeiro exclusivo para faturas vencidas, nunca faturas a vencer. */
.bank-app-nav-link--billing{position:relative}
.ca-finance-nav-icon{position:relative;display:inline-flex;align-items:center;justify-content:center;font-size:22px;min-width:28px;min-height:23px}
.ca-overdue-count{position:absolute;top:-9px;right:-17px;display:inline-grid;place-items:center;min-width:19px;height:19px;padding:0 5px;border-radius:99px;background:#df3c36;color:#fff;box-shadow:0 0 0 2px #fff;font-size:10px;line-height:1;font-weight:900;font-style:normal;font-family:inherit;letter-spacing:-.2px;pointer-events:none}
.ca-overdue-count[hidden]{display:none!important}
.bank-app-nav-link--billing:has(.ca-overdue-count:not([hidden])){color:#a8322d}
.bank-app-nav-link--billing.is-current:has(.ca-overdue-count:not([hidden])){background:#fff0ec;color:#932c25}
@media(prefers-reduced-motion:no-preference){.ca-overdue-count:not([hidden]){animation:ca-badge-pop .3s ease-out both}@keyframes ca-badge-pop{from{transform:scale(.65)}to{transform:scale(1)}}}
/* Cartão único da tela inicial ocupa a largura inteira após remover duplicação. */
.bank-dash-layout:has(> :only-child){grid-template-columns:minmax(0,1fr)}


/* v0.2.26 — White-label, design tokens and iPhone safe-area (no frosted overlay). */
body{--bg:var(--ca-page);--text:var(--ca-text);--muted:var(--ca-muted);--line:var(--ca-border);--interpro-green:var(--accent);background:var(--ca-page);color:var(--ca-text)}
.public-top,body:has(.bank-app) .public-top,.ca-client-header{background:var(--ca-header);border-bottom:1px solid var(--ca-header);color:var(--ca-header-text);backdrop-filter:none;-webkit-backdrop-filter:none}
.public-top .logo,.public-top .logo strong{color:var(--ca-header-text)}
.public-top .logo small,.public-top .interpro-brand-tag,body:has(.bank-app) .public-top .logo small{color:var(--ca-header-detail)}
.ca-menu-trigger{color:var(--ca-header-text);border-color:var(--ca-header-detail)}
.ca-notification-bell{color:var(--ca-header-text);border-color:var(--ca-header-detail);background:var(--ca-drawer)}
.public-main{background:var(--ca-page)}
.client-form-card,.client-action-card,.bank-app .bank-service,.bank-payment-card,.bank-pay-content,.bank-pay-method,.bank-invoice-row,.bank-invoice-card,.bank-copy-code,.bank-empty,.bank-payment-aside{border-color:var(--ca-border)}
.bank-invoice-row,.bank-payment-aside,.bank-pay-content,.bank-empty,.bank-service,.bank-copy-code,.client-form-card,.client-action-card{background-color:var(--ca-surface)}
.bank-intro,.bank-payment-hero{background:linear-gradient(118deg,var(--ca-finance-start),var(--ca-finance-middle) 59%,var(--ca-finance-end))}
.bank-action,.bank-copy-button,.client-submit,.btn.primary,.client-form-fields .client-submit{background:var(--ca-primary-btn);color:#fff}
.bank-filter-button.is-active,.bank-service--primary:hover{border-color:var(--ca-link)}
.client-form-card a,.client-new a,.client-forgot-link,.bank-back,.bank-breakdown-total strong,.bank-breakdown-discount{color:var(--ca-link)}
.bank-breakdown-addition{color:var(--ca-finance-middle)}
.bank-status--pago,.bank-invoice-status--pago{color:var(--ca-success)}
.ca-overdue-count{background:var(--ca-alert)}
.bank-app-nav{background:var(--ca-nav-bg);border-top-color:var(--ca-border)}
.bank-app-nav-link{color:var(--ca-nav-text)}
.bank-app-nav-link.is-current{background:var(--ca-nav-active);color:var(--ca-nav-active-text)}
.ca-client-drawer,.ca-drawer-layout{background:var(--ca-drawer);color:var(--ca-drawer-text)}
.ca-drawer-layout{background:linear-gradient(160deg,var(--ca-drawer) 0%,var(--ca-drawer) 100%)}
.ca-drawer-head,.ca-drawer-footer{border-color:var(--ca-header-detail)}
.ca-drawer-welcome h2,.ca-drawer-link,.ca-drawer-logout{color:var(--ca-drawer-text)}
.ca-drawer-link.is-active{border-color:var(--accent)}
.sidebar{background:var(--navy)}
.side-nav a.active{box-shadow:inset 3px 0 var(--accent)}
.card{border-color:var(--ca-border)}
.appearance-panel[hidden]{display:none!important}
/* v0.2.27 — iPhone já instalado: protege também a área LOGADA.
 * A página não pode rolar por trás da status bar do WebKit (iOS 26/27).
 * Somente o conteúdo das telas autenticadas tem rolagem interna; cabeçalho
 * opaco e faixa superior ficam fora do scroller. Não depende de reinstalar PWA.
 * Evita backdrop-filter (blur), manipulação de escala e hacks de navegação.
 */
.ca-iphone-status-surface{display:none}
@supports (-webkit-touch-callout:none){
  html.ca-ios-installed:has(> body.ca-client-screen){
    height:100%;overflow:hidden;overscroll-behavior:none;
    background:var(--ca-status);
  }
  html.ca-ios-installed body.ca-client-screen{
    position:fixed;inset:0;width:100%;max-width:100%;
    height:100vh;height:100dvh;min-height:0;max-height:100dvh;
    margin:0;padding:env(safe-area-inset-top,0px) 0 0;
    display:flex;flex-direction:column;
    overflow:hidden;overscroll-behavior:none;
    background:var(--ca-status);isolation:isolate;
  }
  html.ca-ios-installed body.ca-client-screen::before{content:none!important}
  html.ca-ios-installed body.ca-client-screen > .ca-iphone-status-surface{
    display:block;position:absolute;inset:0 0 auto 0;
    height:env(safe-area-inset-top,0px);width:100%;
    background:var(--ca-status);z-index:6;pointer-events:none;
    backdrop-filter:none;-webkit-backdrop-filter:none;
  }
  html.ca-ios-installed body.ca-client-screen > .public-top.ca-client-header{
    flex:0 0 auto;width:100%;position:relative;top:auto;
    background:var(--ca-header);border-bottom:1px solid var(--ca-header);
    z-index:5;backdrop-filter:none;-webkit-backdrop-filter:none;
  }
  html.ca-ios-installed body.ca-client-screen > .public-main{
    flex:1 1 auto;min-height:0!important;height:auto;
    overflow-y:auto;overflow-x:hidden;overscroll-behavior-y:contain;
    -webkit-overflow-scrolling:touch;
    padding-top:0;background:var(--ca-page);
    scroll-padding-top:14px;
  }
  html.ca-ios-installed body.ca-client-screen .bank-app-nav{
    flex:0 0 auto;position:relative;inset:auto;
    z-index:10;box-shadow:0 -6px 18px #0a223024;
  }
  html.ca-ios-installed body.ca-client-screen .public-main:has(.bank-app){
    padding-bottom:12px;
  }
  html.ca-ios-installed body.ca-client-screen .ca-client-drawer{
    position:fixed;z-index:100; /* dialog modal no top-layer nativo */
  }
  html.ca-ios-installed body.ca-client-screen .bank-copy-toast{
    position:fixed;bottom:calc(88px + env(safe-area-inset-bottom,0px));
  }
}
/* Outras plataformas e páginas públicas continuam usando rolagem original. */
/* Visual admin: groups + file slots + live mobile mockup. */
.appearance-tabs{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 20px}
.appearance-tabs button{border:1px solid #dce7ef;color:#395a6c;background:var(--ca-surface);padding:13px 18px;border-radius:12px;font:inherit;font-size:13px;font-weight:700;cursor:pointer}
.appearance-tabs button.is-active{background:var(--accent);color:#07382c;border-color:var(--accent)}
.appearance-name{display:grid;grid-template-columns:1fr minmax(230px,350px);gap:18px;align-items:center;margin-bottom:20px}
.appearance-name p{margin:0}.appearance-name input{margin-top:8px}
.appearance-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.appearance-group{margin:0}.appearance-group h2{margin:0 0 20px}
.appearance-colors{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.appearance-color-field{font-size:12px;min-width:0}.appearance-color-field>span{display:block;min-height:37px;line-height:1.35}
.appearance-color-control{display:flex;gap:9px;align-items:center;max-width:100%;padding:5px 9px;border:1px solid #dfebf2;border-radius:12px;background:#f8fafc}
.appearance-color-control input[type=color]{width:50px;min-width:50px;height:41px;margin:0;padding:0;border:0;background:none;border-radius:8px;cursor:pointer}
.appearance-color-control output{font:700 12px/1.3 ui-monospace,SFMono-Regular,monospace;color:#284d62;overflow-wrap:anywhere}
.appearance-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:20px 0 30px}
.appearance-actions small{color:#657d8b;max-width:320px;line-height:1.5}
.appearance-images{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:20px}
.appearance-image-preview{height:155px;padding:12px;background:#092137;border-radius:13px;display:flex;align-items:center;justify-content:center}
.appearance-image-preview img{max-height:100%;max-width:100%;object-fit:contain}
.appearance-image-info{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin:15px 0}
.appearance-image-info h3{margin:0;font-size:15px}
.appearance-image-card form{margin-top:10px}.appearance-upload-form{display:flex;flex-direction:column;gap:11px}
.appearance-upload-form input[type=file]{background:#f7f9fc;border:1px dashed #bcd1dd;border-radius:10px;width:100%;padding:12px}
.appearance-image-card .badge{padding:7px 10px}
.appearance-preview-layout{display:flex;gap:35px;justify-content:center;align-items:flex-start}
.appearance-phone{width:min(100%,368px);flex:none;border:9px solid #122233;border-radius:35px;background:var(--ca-page);overflow:hidden;box-shadow:0 25px 75px #092d4340;color:var(--ca-text);min-height:670px}
.appearance-phone-status{padding:13px 24px;background:var(--ca-status);color:white;display:flex;justify-content:space-between;font-size:13px;font-weight:800}
.appearance-phone-head{display:flex;align-items:center;justify-content:space-between;padding:12px 18px;background:var(--ca-header);color:var(--ca-header-text)}
.appearance-phone-head img{width:168px;height:48px;object-fit:contain;object-position:left}
.appearance-phone-body{padding:25px 18px 28px}.appearance-phone-body>small{color:var(--ca-link);font-weight:850;letter-spacing:1px}
.appearance-phone-body h2{font-size:22px;margin:8px 0 20px;color:var(--ca-text)}
.appearance-phone-finance{background:linear-gradient(118deg,var(--ca-finance-start),var(--ca-finance-middle),var(--ca-finance-end));padding:25px 20px;border-radius:20px;color:#fff;display:grid;gap:10px;margin-bottom:18px}
.appearance-phone-finance small{font-size:10px;letter-spacing:1px;opacity:.85}.appearance-phone-finance strong{font-size:31px}
.appearance-phone-card{padding:18px 14px;margin-bottom:10px;border:1px solid var(--ca-border);background:var(--ca-surface);border-radius:12px;display:flex;justify-content:space-between}
.appearance-phone-body>button{padding:15px;border:0;border-radius:12px;background:var(--ca-primary-btn);color:white;font-weight:800;margin-top:15px;width:100%}
.appearance-phone-nav{display:flex;justify-content:space-around;background:var(--ca-nav-bg);border-top:1px solid var(--ca-border);padding:14px 8px}
.appearance-phone-nav span{display:grid;justify-items:center;gap:5px;color:var(--ca-nav-text);font-size:21px}.appearance-phone-nav span:first-child{color:var(--ca-nav-active-text);background:var(--ca-nav-active);border-radius:10px;padding:2px 10px}
.appearance-phone-nav small{font-size:10px;font-weight:750}.appearance-preview-help{max-width:310px}
@media(max-width:860px){.appearance-groups,.appearance-images{grid-template-columns:1fr}.appearance-preview-layout{flex-direction:column;align-items:center}.appearance-preview-help{max-width:368px;width:100%}}
@media(max-width:520px){.appearance-name{grid-template-columns:1fr}.appearance-colors{grid-template-columns:repeat(2,minmax(0,1fr))}.appearance-group{padding:18px}.appearance-tabs button{flex:1 1 auto}.appearance-image-card{padding:19px}}

/* v0.2.28 — contraste coerente no login e app logado, sem sacrificar personalização. */
html{color-scheme:light;-webkit-text-size-adjust:100%;text-size-adjust:100%;overflow-x:clip}
body{overflow-x:clip}
:is(.public-top,.ca-client-header) .interpro-brand-tag,
:is(.public-top,.ca-client-header) .logo small{color:var(--ca-readable-header-detail,var(--ca-header-detail))}
.ca-client-header .ca-notification-bell,.ca-client-header .ca-menu-trigger{color:var(--ca-readable-header,var(--ca-header-text))}
.bank-app{color:var(--ca-readable-text,var(--ca-text))}
.bank-app-nav-link{color:var(--ca-readable-nav,var(--ca-nav-text))}
.bank-app-nav-link.is-current{color:var(--ca-readable-nav-active,var(--ca-nav-active-text))}
.ca-drawer-link,.ca-drawer-welcome h2,.ca-drawer-logout{color:var(--ca-readable-drawer,var(--ca-drawer-text))}
.client-form-card>p,.client-lead,.client-hero-bottom small{color:#d0e5ed}
.client-form-card>p{color:#435d70}
.client-form-fields label{color:#28475a;font-size:13px}
.client-form-fields input{color:#123247;background:#fff;border-color:#9eb5c4;font-size:16px}
.client-form-fields input::placeholder{color:#536a7c;opacity:1}
.client-benefits,.client-benefits span{color:#e2f5f2}
.client-new span,.client-secure{color:#486377}
.bank-action:not(.bank-action--subtle),.bank-copy-button:not(.bank-copy-button--outline),.client-submit,.btn.primary{color:var(--ca-readable-button,#ffffff)}
.bank-intro>p,.bank-intro-bottom,.bank-finance-stats small{color:#d6ebec}
.bank-kicker,.bank-payment-hero .bank-amount-label,.bank-payment-meta span{color:#ccebee}
.bank-contract p,.bank-invoice-row p,.bank-pay-subtitle,.bank-empty p,.bank-detail-title p,.bank-payment-aside p,.bank-pay-method p,.bank-method-head p{color:#465f71}
.bank-service>span:nth-child(2)>span,.bank-copy-code code,.bank-qr-wrap span{color:#425d6e}
.bank-app .bank-back,.client-form-card a,.client-new a,.client-forgot-link{color:var(--ca-readable-link,var(--ca-link))}
.bank-invoice-heading>span,.bank-topline,.bank-private{color:#405e72}
.bank-app :is(p,small,span,a,button,strong){overflow-wrap:break-word}
.bank-app :is(.bank-invoice-row,.bank-invoice-left,.bank-invoice-right,.bank-payment-card,.bank-pay-method,.bank-pay-content,.bank-copy-code,.bank-service,.bank-contract){min-width:0}
.bank-app :is(.bank-copy-code,.bank-copy-code code,.billing-copy code){overflow-wrap:anywhere;word-break:break-word}
.bank-app :is(img,svg,video,canvas){max-width:100%;height:auto}
.bank-payment-amount,.bank-total,.bank-invoice-right>strong{overflow-wrap:anywhere;white-space:normal}
.bank-app-nav{max-width:100%}
.bank-app-nav-link{min-width:0;flex:1 1 0;padding-inline:5px}
.bank-app-nav-logout{flex:1 1 0;min-width:0}
.ca-pwa-update[hidden]{display:none!important}
.ca-pwa-update{position:fixed;z-index:200;right:max(12px,env(safe-area-inset-right,0px));bottom:calc(12px + env(safe-area-inset-bottom,0px));max-width:min(440px,calc(100vw - 24px));display:flex;align-items:center;flex-wrap:wrap;gap:10px;background:#102f45;color:#fff;border:1px solid #54cda9;border-radius:15px;box-shadow:0 15px 40px #001c3866;padding:13px 15px;font-size:13px;font-weight:650;line-height:1.5}
.ca-pwa-update>span{flex:1 1 170px}
.ca-pwa-update button{border:0;border-radius:9px;background:#d4ffee;color:#064b3b;font-weight:800;padding:9px 12px;min-height:42px}
.ca-pwa-update .ca-pwa-update-close{background:transparent;color:#fff;font-size:23px;line-height:1;min-width:39px}
.ca-pwa-update :focus-visible{outline:3px solid #fff;outline-offset:2px}
@media(max-width:720px){
 .ca-pwa-update{bottom:calc(86px + env(safe-area-inset-bottom,0px))}
 .bank-invoice-row,.bank-invoice-right{flex-wrap:wrap}
 .bank-invoice-right{flex:1 1 100%;justify-content:space-between;align-items:center;gap:12px}
 .bank-finance-stats strong{overflow-wrap:anywhere}
 .bank-payment-head{flex-wrap:wrap}
 .bank-app-nav{padding-inline:max(4px,env(safe-area-inset-left,0px)) max(4px,env(safe-area-inset-right,0px))}
}
@media(max-width:360px){
 .bank-app{padding-inline:10px}
 .bank-intro,.bank-intro--billing,.bank-payment-hero,.bank-pay-content{padding-inline:15px}
 .bank-payment-meta{grid-template-columns:1fr}
 .bank-app-nav-link{font-size:10px}
 .ca-client-header{padding-inline:10px}
 .bank-intro h1{font-size:clamp(23px,8vw,30px)}
}
/* Pinch-to-zoom Safari: fixed-root causes layout fracture when visualViewport changes.
   Fall back to document scroll ONLY while zoomed; restore isolated scroll at 1x. */
@supports (-webkit-touch-callout:none){
 html.ca-ios-installed.ca-ios-zoomed:has(> body.ca-client-screen){height:auto!important;overflow-x:hidden!important;overflow-y:auto!important}
 html.ca-ios-installed.ca-ios-zoomed body.ca-client-screen{
   position:relative!important;inset:auto!important;height:auto!important;min-height:100dvh!important;max-height:none!important;
   overflow:visible!important;display:block!important;isolation:auto;
 }
 html.ca-ios-installed.ca-ios-zoomed body.ca-client-screen>.public-top.ca-client-header{
   position:sticky!important;top:0!important;z-index:10!important;background:var(--ca-header)!important;
 }
 html.ca-ios-installed.ca-ios-zoomed body.ca-client-screen>.public-main{
   height:auto!important;min-height:0!important;max-height:none!important;overflow:visible!important;
   padding-bottom:calc(105px + env(safe-area-inset-bottom,0px))!important;
 }
 html.ca-ios-installed.ca-ios-zoomed body.ca-client-screen .bank-app-nav{
   position:fixed!important;inset:auto 0 0!important;
 }
}

/* CENTRAL v0.2.29 | Skin-accessibility + 5 genuinely different application structures.
   Contraste base WCAG AA: tema certificado pelo servidor e tokens de texto efetivos.
   NÃO substitui CSS de iPhone viewport; apenas cores, espaçamento e hierarquia. */
:root{
 --ca-radius:18px;--ca-card-shadow:0 8px 28px #112c4220;--ca-content-width:1140px;
 --ca-skin-space:22px;--ca-ui-outline:2px solid var(--ca-link);
}
html,body{color-scheme:light}
body{--text:var(--ca-readable-text);--muted:var(--ca-readable-muted);--line:var(--ca-border);color:var(--ca-readable-text);background:var(--ca-page)}
:where(.public-main) :where(button,a,input,textarea,select):focus-visible,
.ca-studio-choice:focus-within,.appearance-tabs button:focus-visible{outline:3px solid var(--ca-readable-link,var(--ca-link));outline-offset:3px}
/* ANTES DE LOGIN: região escura estável, cartões com texto escuro consistente. */
body:not(.ca-client-screen):not(:has(.shell)){background:var(--ca-header);color:#f8ffff}
body:not(.ca-client-screen):not(:has(.shell)) .public-main{background:linear-gradient(165deg,var(--ca-header) 0%,var(--ca-finance-start) 65%,var(--ca-header) 100%);color:#fff}
.client-hero-copy h1,.client-action-intro h1{color:#ffffff}
.client-hero-copy h1 em,.client-action-intro h1 em{color:var(--ca-hero-accent,#e2fff8)}
.client-benefits b,.client-hero-bottom>span{color:var(--ca-hero-accent,#e2fff8)}
.client-form-outer:before{background:color-mix(in srgb,var(--accent) 30%,transparent);border-color:var(--ca-border)}
.client-lead,.client-action-intro>p,.client-benefits span,.client-hero-bottom small{color:#e9f5fa}
.client-pill{background:#ffffff14;border:1px solid #ffffff66;color:#fff}
.client-live-dot{background:#bafde5;box-shadow:0 0 0 4px #bafde528}
.client-highlights .client-highlight{background:var(--ca-finance-start);border-color:#ffffff55;color:#fff}
.client-highlight :is(h3,p){color:#fff}
.client-highlight p{opacity:1}
.client-highlight-icon{color:#fff;background:#ffffff23}
.client-hero-bottom strong{color:#fff}
.client-form-card,.client-action-card{background:var(--ca-surface);color:var(--ca-readable-on-surface);border:1px solid var(--ca-border)}
.client-form-card h2,.client-action-card h2,.client-form-card>p,.client-form-card label,
.client-new span,.client-secure{color:var(--ca-readable-on-surface)}
.client-form-fields input,.client-action-card input,.client-form-fields select{color:var(--ca-readable-on-surface);background:var(--ca-surface);border:1px solid var(--ca-border)}
.client-form-fields input::placeholder,.client-action-card input::placeholder{color:var(--ca-readable-muted)}
.client-new a,.client-forgot-link,.client-form-card a{color:var(--ca-readable-link);font-weight:800}
.client-submit,.bank-action:not(.bank-action--subtle),.bank-copy-button:not(.bank-copy-button--outline),
.appearance-phone-body>button{background:var(--ca-primary-btn);color:var(--ca-readable-button)}
.client-submit:hover,.bank-action:not(.bank-action--subtle):hover{filter:brightness(.92)}
.client-new{border-color:var(--ca-border)}
.client-footer{color:#e9f5fa}
/* DEPOIS DE LOGIN: textos e fundos seguem a paleta, não os hex hardcoded legados. */
.ca-client-screen .public-main{background:var(--ca-page);color:var(--ca-readable-text)}
.ca-client-header,.public-top{background:var(--ca-header);color:var(--ca-readable-header)}
.ca-client-header .logo small,.ca-client-header .interpro-brand-tag,.public-top .logo small{color:var(--ca-readable-header-detail)}
.bank-app{max-width:var(--ca-content-width);color:var(--ca-readable-text)}
.bank-app :is(.bank-section-heading h2,.bank-detail-title h1,.bank-invoice-heading h3,.bank-contract h3,
 .bank-service strong,.bank-invoice-row h4,.bank-invoice-right>strong,.bank-payment-amount:not(.bank-payment-hero .bank-payment-amount),
 .bank-pay-content h2,.bank-method-head h3){color:var(--ca-readable-on-surface)}
.bank-app :is(.bank-back,.bank-breakdown-total strong,.bank-back span){color:var(--ca-readable-link)}
.bank-app :is(.bank-topline,.bank-private,.bank-section-heading>span,.bank-invoice-heading>span,
 .bank-contract p,.bank-invoice-row p,.bank-service>span:nth-child(2)>span,
 .bank-disclaimer,.bank-detail-title p,.bank-method-head p,.bank-pay-subtitle,
 .bank-payment-aside p,.bank-pay-method p,.bank-qr-wrap span,.bank-copy-code code){color:var(--ca-readable-muted)}
.bank-app :is(.bank-service,.bank-invoice-row,.bank-contract,.bank-payment-card,.bank-pay-content,
 .bank-payment-aside,.bank-pay-method,.bank-empty,.bank-copy-code){
 background-color:var(--ca-surface);border-color:var(--ca-border);color:var(--ca-readable-on-surface)
}
.bank-service--primary{background:var(--ca-nav-active)!important;border-color:var(--ca-border)!important}
.bank-service--primary :is(strong,small,span){color:var(--ca-readable-nav-active)!important}
.bank-service-icon,.bank-invoice-icon,.bank-contract-icon{background:var(--ca-nav-active);color:var(--ca-readable-nav-active)}
.bank-intro,.bank-payment-hero{background:linear-gradient(115deg,var(--ca-finance-start),var(--ca-finance-middle),var(--ca-finance-end));color:#fff}
.bank-intro :is(h1,h2,h3,small,strong,p,span),.bank-payment-hero :is(h1,h2,h3,small,strong,p,span){color:#fff}
.bank-intro .bank-kicker,.bank-intro .bank-intro-bottom,.bank-intro>p,
.bank-finance-stats small,.bank-payment-meta span,.bank-payment-head>span:first-child,
.bank-payment-hero .bank-amount-label{color:#fff;opacity:1}
.bank-intro .bank-logout{background:#ffffff18;border-color:#ffffff99;color:#fff}
.bank-counter,.bank-filter-button{color:var(--ca-readable-text);background:var(--ca-surface);border-color:var(--ca-border)}
.bank-filter-button span{color:var(--ca-readable-muted);background:var(--ca-page)}
.bank-filter-button.is-active{background:var(--ca-link);color:var(--ca-readable-link-inverse);border-color:var(--ca-link)}
.bank-filter-button.is-active span{color:inherit;background:#ffffff26}
.bank-app-nav{background:var(--ca-nav-bg);border-color:var(--ca-border)}
.bank-app-nav-link{color:var(--ca-readable-nav)}
.bank-app-nav-link.is-current{background:var(--ca-nav-active);color:var(--ca-readable-nav-active)}
.ca-notification-bell,.ca-menu-trigger{background:#ffffff13;color:var(--ca-readable-header);border-color:#ffffff77}
.ca-drawer-layout,.ca-client-drawer{background:var(--ca-drawer);color:var(--ca-readable-drawer)}
.ca-drawer-layout :is(.ca-drawer-nav-tip,.ca-drawer-welcome p,.ca-drawer-link small,.ca-drawer-protected small){color:var(--ca-readable-drawer);opacity:1}
.ca-drawer-link,.ca-drawer-logout{color:var(--ca-readable-drawer)}
.bank-action--subtle{background:var(--ca-nav-active);color:var(--ca-readable-nav-active)}
.bank-status--aberto{background:#e2edff;color:#164e7a}
.bank-status--vencido{background:#ffe3da;color:#922d16}
.bank-status--pago{background:#d7f3e1;color:#075b39}
.bank-status--outro{background:#e6ecf1;color:#425468}
.bank-app .bank-invoice-status{font-weight:850}
.bank-pay-content input,.bank-pay-content select,.bank-pay-content textarea{
 color:var(--ca-readable-on-surface);background:var(--ca-surface);border-color:var(--ca-border)
}
/* CONTRASTE: texto pequeno não depende de transparência de opacidade fraca. */
.bank-app :is(.bank-private,.bank-disclaimer,.bank-payment-meta,.bank-finance-stats,small){opacity:1}
.bank-app small,.client-form-card small{line-height:1.5}
/* O gráfico do laboratório deve reproduzir a legibilidade das telas reais. */
.appearance-phone{--ca-radius:18px;background:var(--ca-page);color:var(--ca-readable-text)}
.appearance-phone-status{background:var(--ca-status);color:#fff}
.appearance-phone-head{background:var(--ca-header);color:var(--ca-readable-header)}
.appearance-phone-body>small{color:var(--ca-readable-link)}
.appearance-phone-body h2{color:var(--ca-readable-text)}
.appearance-phone-finance{background:linear-gradient(120deg,var(--ca-finance-start),var(--ca-finance-middle),var(--ca-finance-end));color:#fff}
.appearance-phone-card{background:var(--ca-surface);color:var(--ca-readable-on-surface);border-color:var(--ca-border)}
.appearance-phone-nav{background:var(--ca-nav-bg);color:var(--ca-readable-nav);border-color:var(--ca-border)}
.appearance-phone-nav span{color:var(--ca-readable-nav)}
.appearance-phone-nav span:first-child{color:var(--ca-readable-nav-active);background:var(--ca-nav-active)}
/* DESIGN STUDIO — controles grandes, clicáveis e selecionados sem depender só da cor. */
.ca-studio-head{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap;background:#f0f7f9}
.ca-studio-head h2,.ca-studio-section h2{margin:13px 0 9px;color:#13334a}
.ca-studio-section{margin-bottom:20px}
.ca-studio-section>p{color:#415a69;max-width:810px}
.ca-studio-choice-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-top:18px}
.ca-studio-choice{position:relative;display:flex;flex-direction:column;gap:8px;border:2px solid #bac8d2;border-radius:16px;padding:14px;cursor:pointer;min-width:0;background:#fff;color:#183044;transition:box-shadow .15s,border-color .15s}
.ca-studio-choice:hover{border-color:#246985}
.ca-studio-choice:has(input:checked){border-color:#076652;box-shadow:0 0 0 2px #07665235;background:#f0faf6}
.ca-studio-choice input[type=radio]{position:absolute;right:12px;top:12px;width:18px;height:18px;accent-color:#076652;opacity:1}
.ca-studio-choice strong{font-size:14px;line-height:1.4;margin-top:4px;padding-right:8px}
.ca-studio-choice small{color:#405667;line-height:1.55;font-size:11px;min-height:46px}
.ca-studio-mini-layout{display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:21px 18px 18px;gap:4px;max-width:120px;width:100%;height:66px;padding:5px;background:#e8eef3;border-radius:8px;margin-bottom:7px}
.ca-studio-mini-layout i{display:block;background:#346174;border-radius:3px}
.ca-studio-mini-layout i:first-child{grid-column:span 4;background:#113d5a}
.ca-studio-mini-executive i:nth-child(2),.ca-studio-mini-executive i:nth-child(3){grid-column:span 2}
.ca-studio-mini-executive i:nth-child(4),.ca-studio-mini-executive i:nth-child(5){grid-column:span 2}
.ca-studio-mini-focus i:not(:first-child){grid-column:2/span 2}
.ca-studio-mini-mosaic i:not(:first-child){grid-column:span 1}
.ca-studio-mini-editorial i:nth-child(2){grid-column:span 3;grid-row:span 2}
.ca-studio-mini-editorial i:nth-child(3),.ca-studio-mini-editorial i:nth-child(4){grid-column:span 1}
.ca-studio-mini-compact{gap:2px}
.ca-studio-mini-compact i{grid-column:span 4;height:5px}
.ca-studio-mini-compact i:first-child{height:auto}
.ca-studio-swatches{display:flex;align-items:center;height:66px;margin-bottom:7px;gap:3px}
.ca-studio-swatches i{width:26px;height:52px;border:1px solid #69798850}
.ca-studio-swatches i:first-child{border-radius:9px 0 0 9px}
.ca-studio-swatches i:last-child{border-radius:0 9px 9px 0}
.ca-studio-custom-symbol{height:66px;display:grid;place-items:center;font-size:32px;color:#164e66}
.ca-studio-save-status{margin-top:16px;background:#ecf5ff;color:#1b4562;border-left:4px solid #176d98;padding:15px 18px;border-radius:10px;font-size:13px;font-weight:680}
.ca-studio-manual-heading{margin:32px 0 19px;color:#173d50}
.ca-studio-manual-heading small{font-size:12px;font-weight:500;color:#526978}
@media(max-width:1250px){.ca-studio-choice-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:720px){.ca-studio-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ca-studio-choice{padding:12px}.ca-studio-choice small{min-height:0}}
@media(max-width:350px){.ca-studio-choice-grid{grid-template-columns:1fr 1fr;gap:6px}.ca-studio-choice{padding:9px}.ca-studio-choice strong{font-size:12px}}
/* =============== 5 ESTRUTURAS REAIS =============== */
/* Executiva = base aprovada; preserva alinhamento e cards. */
/* Foco = fluxo de leitura linear, login direto e conteúdo financeirO central. */
html[data-layout="focus"]{--ca-content-width:850px;--ca-radius:16px}
html[data-layout="focus"] .client-landing{max-width:850px;grid-template-columns:minmax(0,1fr);text-align:center;gap:24px}
html[data-layout="focus"] .client-hero-copy h1{font-size:clamp(35px,5vw,52px);margin:12px auto}
html[data-layout="focus"] .client-hero-copy .client-lead{margin-inline:auto}
html[data-layout="focus"] .client-benefits{justify-content:center;margin:18px auto}
html[data-layout="focus"] .client-hero-bottom{display:none}
html[data-layout="focus"] .client-form-card{max-width:490px;margin-inline:auto}
html[data-layout="focus"] .bank-dash-layout,html[data-layout="focus"] .bank-contract-grid{grid-template-columns:1fr}
html[data-layout="focus"] .bank-intro{padding:32px;max-width:100%}
html[data-layout="focus"] .bank-invoice-row{padding:17px}
html[data-layout="focus"] .bank-detail-grid{grid-template-columns:1fr}
/* Mosaico = três colunas em desktop, hero enxuto, melhor visualização em telas largas. */
html[data-layout="mosaic"]{--ca-content-width:1320px;--ca-radius:22px}
html[data-layout="mosaic"] .bank-dash-layout{grid-template-columns:repeat(3,minmax(0,1fr))}
html[data-layout="mosaic"] .bank-contract-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
html[data-layout="mosaic"] .bank-intro{padding:29px 35px}
html[data-layout="mosaic"] .bank-service{flex-direction:column;align-items:flex-start;gap:14px}
html[data-layout="mosaic"] .bank-service>b{margin:0 0 0 auto}
html[data-layout="mosaic"] .bank-invoice-list{grid-template-columns:repeat(2,minmax(0,1fr))}
html[data-layout="mosaic"] .bank-invoice-row{flex-direction:column;align-items:stretch;gap:15px}
html[data-layout="mosaic"] .bank-invoice-right{width:100%;justify-content:space-between}
html[data-layout="mosaic"] .client-highlights{grid-template-columns:repeat(3,minmax(0,1fr))}
/* Editorial = uma experiência mais arejada, hero assimétrico e títulos grandes. */
html[data-layout="editorial"]{--ca-content-width:1260px;--ca-radius:26px}
html[data-layout="editorial"] .client-landing{grid-template-columns:1.35fr minmax(350px,.8fr);gap:55px}
html[data-layout="editorial"] .client-hero-copy h1{font-size:clamp(45px,6.5vw,89px);line-height:1.06}
html[data-layout="editorial"] .bank-intro{padding:46px 54px;border-radius:32px}
html[data-layout="editorial"] .bank-intro h1{font-size:clamp(36px,4.4vw,53px);max-width:840px}
html[data-layout="editorial"] .bank-dash-layout{grid-template-columns:1.3fr .7fr;gap:23px}
html[data-layout="editorial"] .bank-section-heading h2{font-size:27px}
html[data-layout="editorial"] .bank-invoice-row{padding:27px 31px;gap:24px}
html[data-layout="editorial"] .bank-contract-grid{gap:25px}
/* Compacta = lista financeira densa, filtros e atalhos sem decoração pesada. */
html[data-layout="compact"]{--ca-content-width:1120px;--ca-radius:9px;--ca-skin-space:12px}
html[data-layout="compact"] .bank-app{padding-top:16px}
html[data-layout="compact"] :is(.bank-intro,.bank-payment-hero){padding:19px 24px;border-radius:10px}
html[data-layout="compact"] .bank-intro:after{display:none}
html[data-layout="compact"] .bank-intro h1{font-size:26px;margin:8px 0}
html[data-layout="compact"] .bank-intro-bottom{margin-top:15px;padding-top:12px}
html[data-layout="compact"] .bank-dash-layout{margin:14px 0;gap:10px}
html[data-layout="compact"] :is(.bank-service,.bank-contract,.bank-invoice-row){border-radius:9px;padding:12px 15px;box-shadow:none;gap:9px}
html[data-layout="compact"] .bank-service-icon{width:38px;height:38px;border-radius:8px}
html[data-layout="compact"] .bank-section-heading{margin:20px 0 10px}
html[data-layout="compact"] .bank-section-heading h2{font-size:19px}
html[data-layout="compact"] .bank-invoice-list{gap:7px}
html[data-layout="compact"] .bank-invoice-row h4{font-size:14px}
html[data-layout="compact"] .bank-filter{margin:11px 0;gap:6px}
html[data-layout="compact"] .bank-filter-button{padding:8px 11px;min-height:42px}
html[data-layout="compact"] .client-landing{min-height:0;padding-block:26px;gap:24px}
html[data-layout="compact"] .client-hero-copy h1{font-size:clamp(37px,4.5vw,52px)}
html[data-layout="compact"] .client-highlights{gap:8px}
html[data-layout="compact"] .client-highlight{padding:15px;border-radius:10px}
/* Layout preview: demonstrar diferenças de hierarquia, não só um rótulo. */
.appearance-phone[data-layout="focus"] .appearance-phone-body{padding-inline:29px;text-align:center}
.appearance-phone[data-layout="focus"] .appearance-phone-finance{border-radius:12px}
.appearance-phone[data-layout="mosaic"] .appearance-phone-body{display:grid;grid-template-columns:1fr 1fr;gap:9px;padding:19px 12px}
.appearance-phone[data-layout="mosaic"] .appearance-phone-body>small,.appearance-phone[data-layout="mosaic"] .appearance-phone-body>h2,
.appearance-phone[data-layout="mosaic"] .appearance-phone-finance,.appearance-phone[data-layout="mosaic"] .appearance-phone-body>button{grid-column:span 2}
.appearance-phone[data-layout="mosaic"] .appearance-phone-card{min-width:0;font-size:11px;padding:11px;display:block}
.appearance-phone[data-layout="editorial"] .appearance-phone-body{padding:31px 19px}
.appearance-phone[data-layout="editorial"] .appearance-phone-body h2{font-size:28px}
.appearance-phone[data-layout="editorial"] .appearance-phone-finance{padding:35px 22px;border-radius:26px}
.appearance-phone[data-layout="compact"] .appearance-phone-body{padding:15px 13px}
.appearance-phone[data-layout="compact"] .appearance-phone-body h2{font-size:18px;margin:5px 0 10px}
.appearance-phone[data-layout="compact"] .appearance-phone-finance{border-radius:9px;padding:13px;margin-bottom:8px;gap:4px}
.appearance-phone[data-layout="compact"] .appearance-phone-card{border-radius:7px;padding:9px;margin:5px 0}
.appearance-phone[data-layout="compact"] .appearance-phone-body>button{padding:10px;border-radius:7px;margin-top:7px}
@media(max-width:1100px){
 html[data-layout="mosaic"] .bank-dash-layout,html[data-layout="mosaic"] .bank-contract-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 html[data-layout="editorial"] .client-landing{grid-template-columns:1fr;max-width:700px}
}
@media(max-width:720px){
 html[data-layout="mosaic"] .bank-dash-layout,html[data-layout="mosaic"] .bank-contract-grid,html[data-layout="mosaic"] .bank-invoice-list{grid-template-columns:1fr}
 html[data-layout="mosaic"] .bank-service{flex-direction:row;align-items:center}
 html[data-layout="editorial"] .bank-intro{padding:26px 22px;border-radius:20px}
 html[data-layout="editorial"] .bank-intro h1{font-size:clamp(25px,8vw,37px)}
 html[data-layout="editorial"] .bank-dash-layout{grid-template-columns:1fr;gap:13px}
 html[data-layout="editorial"] .bank-invoice-row{padding:19px}
 html[data-layout="focus"] .client-landing{text-align:left}
 html[data-layout="focus"] .client-benefits{justify-content:flex-start}
 html[data-layout="compact"] .bank-app{padding-inline:12px}
 html[data-layout="compact"] .bank-dash-layout{grid-template-columns:1fr}
}
/* Meu PWA > Avisos e preferências: corrige cartão escuro herdado do layout antigo. */
.ca-client-screen .client-account>.card,
.ca-client-screen .client-account .card.stack,
.ca-client-screen .bank-app .card{background:var(--ca-surface);color:var(--ca-readable-on-surface);border:1px solid var(--ca-border)}
.ca-client-screen .client-account .card :is(h2,h3,strong,label,p,small){color:var(--ca-readable-on-surface)}
.ca-client-screen .client-account .card .hint{color:var(--ca-readable-on-surface)}
.ca-client-screen .client-account .card select{color:var(--ca-readable-on-surface);background:var(--ca-surface);border:1px solid var(--ca-border)}
.ca-client-screen .client-account .notice-history-row{border-bottom-color:var(--ca-border);color:var(--ca-readable-on-surface)}
.ca-client-screen .client-account .notice-history-row p{color:var(--ca-readable-on-surface)}
.ca-client-screen .client-account .notice-history-row small{color:var(--ca-readable-muted)}
.ca-client-screen .client-account .notice-history-row.is-unread{border-left:4px solid var(--ca-link);background:var(--ca-nav-active)}
.ca-client-screen .client-account .notice-history-row.is-unread :is(strong,p){color:var(--ca-readable-nav-active)}
.ca-client-screen .client-account .notice-history-row .ca-inbox-new{background:#d1f3e2;color:#07563a}
.ca-client-screen .client-account .notice-history-row .ca-inbox-test{background:#fceacb;color:#64400c}
/* Conteúdo comum (cadastro, faturas e avisos) não herda textos brancos de cartões anteriores. */
.ca-client-screen .public-main :is(.bank-empty,.bank-contract,.bank-payment-aside) p{color:var(--ca-readable-muted)}
.ca-client-screen .public-main :is(.bank-invoice-row,.bank-service,.bank-contract) strong{color:var(--ca-readable-on-surface)}
.ca-client-screen .public-main .bank-intro strong{color:#fff}
.ca-client-screen .public-main .bank-app-nav-link{color:var(--ca-readable-nav)}
.ca-client-screen .public-main .bank-app-nav-link.is-current{color:var(--ca-readable-nav-active)}
/* Guardrail mobile: a linha e suas ações nunca disputam largura em telas estreitas. */
@media(max-width:720px){
 .ca-client-screen .bank-invoice-list .bank-invoice-row{
   display:flex;flex-direction:column;align-items:stretch;gap:12px;
   min-width:0;overflow:hidden
 }
 .ca-client-screen .bank-invoice-list .bank-invoice-left{width:100%;min-width:0}
 .ca-client-screen .bank-invoice-list .bank-invoice-right{
   display:flex;flex:none;flex-direction:row;align-items:center;justify-content:space-between;
   gap:12px;width:100%;max-width:100%;min-height:0;padding-top:12px;border-top:1px solid var(--ca-border);
 }
 .ca-client-screen .bank-invoice-list .bank-invoice-right>.bank-action{
   flex:0 1 auto;min-width:0;max-width:100%;white-space:normal;text-align:center
 }
 .ca-client-screen .bank-invoice-list .bank-invoice-right>strong{flex:1 1 auto;white-space:normal}
}
.bank-app .bank-service small,.bank-app .bank-contract-tag,.bank-app .bank-kicker--muted{color:var(--ca-readable-link);opacity:1}
