.client-ui{--client-bg:#fbf8f2;--client-surface:#fffdfa;--client-surface-2:#f5efe5;--client-navy:#061a33;--client-navy-2:#102a44;--client-champagne:#c7a16b;--client-bronze:#9b6a2f;--client-beige:#e7ddcf;--client-graphite:#36404b;--client-muted:#718096;--client-border:rgba(112,87,53,.14);--client-success:#28945b;--client-warning:#94671f;--client-error:#9c4039;--client-disabled:#a6abb0;--client-radius-sm:12px;--client-radius-md:18px;--client-radius-lg:25px;--client-shadow:0 14px 38px rgba(31,25,17,.06);color:var(--client-navy);background:var(--client-bg)}
.client-ui body,.client-ui .app-shell{background:radial-gradient(circle at 112% -6%,rgba(199,161,107,.14),transparent 26rem),linear-gradient(135deg,rgba(255,255,255,.6),transparent 42%),var(--client-bg)}
.client-ui .page,.client-ui .access-page{position:relative}.client-ui .page{padding:23px 18px 116px}.client-ui h1,.client-ui h2,.client-ui h3,.client-ui p{text-wrap:pretty}.client-ui .page-header{margin-bottom:22px}.client-ui .page-header h1{margin:2px 0 0;color:var(--client-navy);font-size:29px;font-weight:780}.client-ui .page-header .muted{margin:7px 0 0;max-width:330px;font-size:13px}.client-ui .eyebrow{color:var(--client-bronze);font-size:9px;letter-spacing:.21em}.client-ui .muted{color:var(--client-muted)}
.client-ui .brand{color:var(--client-navy)}.client-ui .brand-main{font-size:19px;font-weight:900;letter-spacing:.11em}.client-ui .brand-sub{margin-top:5px;color:var(--client-bronze);font-size:8px;letter-spacing:.38em}
.client-ui .progress-card,.client-ui .section-block,.client-ui .account-card,.client-ui .list-card,.client-ui .benefit-card,.client-ui .access-card{border-color:var(--client-border);background:rgba(255,253,250,.94);box-shadow:var(--client-shadow)}
.client-ui .primary-button,.client-ui .secondary-button{min-height:50px;border-radius:999px}.client-ui .primary-button{background:var(--client-navy);color:#fff}.client-ui .primary-button:hover{background:var(--client-navy-2)}.client-ui .bronze-button{background:linear-gradient(105deg,#cba876,#a67538)}.client-ui .secondary-button{border:1px solid #d8c8b4;background:transparent;color:var(--client-navy)}.client-ui button[aria-busy=true]::after{content:"";width:15px;height:15px;margin-left:9px;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:client-spin .8s linear infinite}@keyframes client-spin{to{transform:rotate(360deg)}}
.offline-banner{position:fixed;z-index:100;top:max(8px,env(safe-area-inset-top));left:50%;transform:translateX(-50%);width:min(calc(100% - 24px),406px);padding:11px 15px;border:1px solid #ead6aa;border-radius:13px;background:#fff7df;color:#70521d;box-shadow:var(--client-shadow);font-size:12px;text-align:center}.offline-banner[hidden]{display:none}
/* Entrada de marca: splash visual sem nova rota ou autenticação paralela. */
.client-ui .access-page{width:min(100%,430px);padding:0 18px 34px;justify-content:flex-start}.access-hero{min-height:272px;margin:0 -18px;padding:max(38px,calc(22px + env(safe-area-inset-top))) 29px 28px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;position:relative;background:var(--client-navy);color:#fff;border-radius:0 0 34px 34px}.access-hero::before,.access-hero::after{content:"";position:absolute;border-radius:50%;border:1px solid rgba(213,181,133,.25)}.access-hero::before{width:290px;height:290px;right:-145px;top:-95px}.access-hero::after{width:210px;height:210px;right:-108px;top:-54px}.access-hero .brand{position:relative;z-index:1}.access-hero .brand-main{color:#fff}.access-hero .brand-sub{color:#d9b47b}.access-hero-copy{position:relative;z-index:1}.access-hero-copy p{margin:13px 0 0;font-family:Georgia,"Times New Roman",serif;font-size:25px;font-weight:400;line-height:1.03}.access-hero-copy strong{color:#f3e7d5;font-weight:400}.access-rule{display:block;width:38px;height:2px;background:var(--client-champagne)}.access-hero-compact{min-height:154px}.access-hero-compact>p{position:relative;z-index:1;margin:auto 0 0;color:#ead9c0;font-family:Georgia,"Times New Roman",serif;font-size:18px}
.client-ui .access-card{margin-top:-20px;padding:25px 22px;position:relative;z-index:2;border-radius:25px}.client-ui .access-card h1{margin:7px 0 10px;color:var(--client-navy);font-family:Georgia,"Times New Roman",serif;font-size:31px;font-weight:500;line-height:1.04}.client-ui .access-card h1 span{color:var(--client-bronze)}.client-ui .access-card>.muted{margin:0;font-size:13px;line-height:1.5}.client-ui .access-card form{margin-top:20px;gap:8px}.client-ui .access-card label{color:var(--client-graphite)}.client-ui .access-card input{border-color:#e1d8cb;background:#fffefa;color:var(--client-navy)}.client-ui .access-card input:focus{border-color:var(--client-champagne);box-shadow:0 0 0 3px rgba(199,161,107,.18)}.client-ui .notice{border:1px solid var(--client-border);background:var(--client-surface-2);color:var(--client-graphite)}.client-ui .claim-error{border-color:#efd3ce;background:#fff0ee;color:var(--client-error)}.client-ui .pilot-note{border-color:#ecd9ae;background:#fff8e7;color:var(--client-warning)}.client-ui .privacy-note{color:#7e8791}
.home-header{align-items:center;margin-bottom:22px!important}.client-ui .privacy-dot{width:8px;height:8px;background:var(--client-bronze);box-shadow:0 0 0 6px rgba(199,161,107,.13)}.welcome-row{display:flex;align-items:center;gap:12px;margin-bottom:16px}.customer-avatar{flex:0 0 auto;width:43px;height:43px;display:grid;place-items:center;border-radius:50%;background:linear-gradient(145deg,#d4b17c,#a67136);color:#fff;font-family:Georgia,serif;font-size:17px}.welcome-row .greeting{margin:0;color:var(--client-navy);font-size:18px;font-weight:800;letter-spacing:-.02em}.welcome-row p:last-child{margin:2px 0 0;color:var(--client-muted);font-size:10px}
.client-ui .progress-card{padding:18px;margin-bottom:12px;border-radius:19px;overflow:hidden}.client-ui .progress-card::before{content:none}.progress-heading{display:flex;align-items:center;justify-content:space-between}.client-ui .progress-number{margin:7px 0 8px}.client-ui .progress-number strong{color:var(--client-navy);font-size:34px;font-weight:850;letter-spacing:-.055em}.client-ui .progress-number span{color:var(--client-navy);font-size:18px;font-weight:700}.progress-arrow{color:var(--client-champagne);font-size:30px}.client-ui .stamp-grid{gap:3px;margin:3px 0 9px}.client-ui .stamp{aspect-ratio:2.5;border:0;border-radius:99px;background:#e9e1d5}.client-ui .stamp.filled{background:linear-gradient(90deg,#d2b07b,#a77337);box-shadow:none}.client-ui .progress-card .muted{margin:0;font-size:10px;line-height:1.35}
.quick-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-bottom:12px}.quick-actions a{min-height:92px;padding:13px 9px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;border:1px solid var(--client-border);border-radius:16px;background:rgba(255,253,250,.94);box-shadow:0 9px 24px rgba(31,25,17,.045);text-decoration:none;text-align:center}.quick-actions strong{color:var(--client-navy);font-size:11px}.quick-actions small{color:var(--client-muted);font-size:8px}.action-icon{width:27px;height:27px;display:grid;place-items:center;color:var(--client-bronze);font-size:25px;line-height:1}.action-scan,.action-qr{position:relative;border:2px solid var(--client-bronze)}.action-scan{border-radius:6px;border-left-color:transparent;border-right-color:transparent}.action-scan::before{content:"";width:8px;height:8px;border:2px solid var(--client-bronze)}.action-qr{background:repeating-linear-gradient(45deg,transparent 0 3px,rgba(155,106,47,.35) 3px 5px)}.action-clock{font-size:27px}
.lifestyle-card{min-height:130px;padding:20px;position:relative;overflow:hidden;border-radius:19px;background:linear-gradient(125deg,#06192f 0%,#102841 72%,#604b35 130%);color:#fff}.lifestyle-card>div:first-child{position:relative;z-index:2}.lifestyle-card .eyebrow{color:#d9b47b;font-size:7px}.lifestyle-card h2{margin:10px 0 12px;font-family:Georgia,"Times New Roman",serif;font-size:22px;font-weight:400;line-height:.98}.lifestyle-card h2+span{display:block;width:28px;height:2px;background:var(--client-champagne)}.lifestyle-shape{position:absolute;width:135px;height:72px;right:-12px;bottom:-13px;transform:rotate(-8deg);border-radius:65% 18% 0 0;background:linear-gradient(155deg,rgba(220,190,147,.58),rgba(8,24,40,.3) 42%,#030d19 43%);box-shadow:-22px -10px 45px rgba(255,255,255,.1)}
.client-ui .bottom-nav{width:min(100%,430px);padding:8px 8px calc(8px + env(safe-area-inset-bottom));border-color:rgba(93,73,48,.12);background:rgba(255,253,249,.94);box-shadow:0 -10px 35px rgba(31,25,17,.055)}.client-ui .nav-item{min-height:52px;gap:3px;border-radius:13px;color:#8190a0}.client-ui .nav-item.is-active{color:var(--client-bronze);background:rgba(199,161,107,.08)}.client-ui .nav-icon{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.client-ui .claim-access{padding-top:max(22px,env(safe-area-inset-top))}.claim-access>.back-link{margin:0 0 16px}.client-ui .claim-access .access-card{margin-top:0;text-align:center}.claim-symbol{width:74px;height:74px;margin:0 auto 18px;position:relative;border-radius:22px;background:var(--client-surface-2)}.claim-symbol::before,.claim-symbol::after,.claim-symbol span::before,.claim-symbol span::after{content:"";position:absolute;width:16px;height:16px;border-color:var(--client-champagne);border-style:solid}.claim-symbol::before{left:15px;top:15px;border-width:2px 0 0 2px}.claim-symbol::after{right:15px;top:15px;border-width:2px 2px 0 0}.claim-symbol span::before{left:15px;bottom:15px;border-width:0 0 2px 2px}.claim-symbol span::after{right:15px;bottom:15px;border-width:0 2px 2px 0}.claim-access form{text-align:left}.geo-card{margin-top:11px;padding:13px;display:flex;gap:10px;align-items:flex-start;border:1px solid #d7e8dd;border-radius:14px;background:#eff8f2}.geo-pin{width:20px;height:20px;flex:0 0 auto;position:relative;border:2px solid var(--client-success);border-radius:50% 50% 50% 0;transform:rotate(-45deg)}.geo-pin::after{content:"";width:5px;height:5px;position:absolute;inset:0;margin:auto;border-radius:50%;background:var(--client-success)}.geo-card strong{color:#246440;font-size:11px}.client-ui .geo-status{min-height:0;margin:3px 0 0;color:#557060;font-size:10px;text-align:left}
.client-ui .success-card{padding-top:42px;text-align:center}.client-ui .success-mark{width:100px;height:100px;margin:0 auto 26px;display:grid;place-items:center;position:relative;border-radius:50%;background:radial-gradient(circle,#edd8b7,#bc8748);color:#fff;box-shadow:0 0 0 13px rgba(202,166,111,.12),0 16px 35px rgba(127,84,35,.18)}.client-ui .success-mark::before{content:"";position:absolute;inset:-26px;background:repeating-conic-gradient(from 4deg,#bd8d53 0 2deg,transparent 2deg 30deg);-webkit-mask:radial-gradient(circle,transparent 0 65%,#000 66% 69%,transparent 70%);mask:radial-gradient(circle,transparent 0 65%,#000 66% 69%,transparent 70%)}.client-ui .success-mark span{font-size:40px}.success-card>h1{max-width:290px;margin-left:auto!important;margin-right:auto!important}.client-ui .balance-confirm{margin:26px 0 15px;padding:17px;align-items:flex-start;background:#f7f0e5;text-align:left}.client-ui .balance-confirm span{color:var(--client-navy);font-size:11px;font-weight:800}.client-ui .balance-confirm strong{font-size:35px}.client-ui .balance-confirm small{color:var(--client-muted);font-size:10px}.success-context{color:var(--client-graphite);font-size:11px}
.client-ui .benefit-earned{margin:0 0 14px;border-color:#dfcaa9;background:#fbf3e7;color:#755123;text-align:left}
.benefit-section{margin-bottom:25px}.client-ui .benefit-section>h2,.client-ui .history-group h2{color:var(--client-bronze);font-size:9px;letter-spacing:.18em}.client-ui .benefit-card{min-height:126px;padding:10px;display:grid;grid-template-columns:92px minmax(0,1fr);gap:13px;align-items:stretch;border-radius:17px}.benefit-visual{min-height:103px;display:grid;place-items:center;overflow:hidden;position:relative;border-radius:12px;background:linear-gradient(145deg,#092039,#9b7245);color:#f2dfc3}.benefit-visual::after{content:"";width:85px;height:85px;position:absolute;right:-40px;bottom:-48px;border:15px solid rgba(255,255,255,.12);border-radius:50%}.benefit-visual span{font-size:38px}.benefit-copy{min-width:0;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.client-ui .benefit-card h3{margin:8px 0 4px;color:var(--client-navy);font-size:15px}.client-ui .benefit-card p{margin:0 0 5px;font-size:10px}.client-ui .benefit-card small{font-size:9px}.client-ui .status-badge{padding:5px 8px;background:#f3e7d4;color:var(--client-bronze)}.client-ui .muted-badge{background:#ece9e3;color:#68717b}.client-ui .benefit-card.is-muted{background:rgba(249,247,242,.8)}.client-ui .benefit-card.is-muted .benefit-visual{filter:grayscale(.85);opacity:.72}.client-ui .empty-state,.client-ui .empty-inline{border-color:var(--client-border);background:rgba(255,253,250,.75)}
.client-ui .list-card{overflow:hidden;border-radius:17px}.client-ui .history-row{grid-template-columns:35px 1fr;gap:11px;padding:14px}.client-ui .history-marker{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#eeeae3;color:#6f7780}.client-ui .history-marker.positive{background:#e4f4e9;color:var(--client-success)}.client-ui .history-marker.benefit{background:#fae9e5;color:#b85845}.client-ui .history-marker span{font-size:14px}.client-ui .history-copy strong{color:var(--client-navy)}
.account-profile{display:flex;gap:13px;align-items:center;margin-bottom:16px;padding:4px}.account-profile div{display:flex;flex-direction:column;gap:3px}.account-profile strong{color:var(--client-navy);font-size:16px}.account-profile small{color:var(--client-muted);font-size:10px}.client-ui .account-card{border-radius:18px}.client-ui .account-row{border-color:var(--client-border)}.client-ui .account-row span{color:var(--client-muted)}.client-ui .account-row strong{color:var(--client-navy)}
.client-ui .qr-copy{margin-top:45px}.client-ui .qr-copy h1{color:var(--client-navy);font-family:Georgia,serif;font-weight:500}.client-ui .qr-placeholder{border-color:var(--client-border);background:rgba(255,253,250,.9)}.client-ui .qr-grid{border-color:#eee4d5}.client-ui .qr-grid::before,.client-ui .qr-grid::after{border-color:#d2b485}.client-ui button:focus-visible,.client-ui a:focus-visible,.client-ui input:focus-visible{outline:2px solid var(--client-bronze);outline-offset:3px}
@media(max-width:390px){.client-ui .page{padding-left:16px;padding-right:16px}.client-ui .progress-card{padding:16px}.quick-actions a{min-height:87px}.client-ui .benefit-card{grid-template-columns:82px minmax(0,1fr)}}
@media(max-width:360px){.client-ui .access-page{padding-left:15px;padding-right:15px}.access-hero{margin-left:-15px;margin-right:-15px;padding-left:25px}.client-ui .page{padding-left:14px;padding-right:14px}.quick-actions{gap:7px}.quick-actions a{min-height:83px;padding:10px 7px}.lifestyle-card{min-height:121px}.client-ui .benefit-card{grid-template-columns:76px minmax(0,1fr);gap:10px}.benefit-visual{min-height:96px}}

/* Assinaturas oficiais: a janela apenas remove a margem do PNG, sem distorcer a marca. */
.client-ui .brand-logo{display:block;width:154px;height:46px;overflow:hidden;line-height:0;background:#fff}
.client-ui .brand-logo img{display:block;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center;filter:none;opacity:1}
.client-ui .access-hero{background:#000}
.client-ui .access-hero .brand-logo{width:190px;height:58px;background:#000;position:relative;z-index:1}
.client-ui .internal-brand{margin:0 0 18px}
.client-ui .internal-brand-header{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 16px}
.client-ui .internal-brand-header .back-link{flex:0 0 auto}
.client-ui .success-brand{display:flex;justify-content:center;margin:0 0 16px}
.client-ui .success-brand+.access-card{margin-top:0}
@media(max-width:360px){.client-ui .brand-logo{width:144px;height:43px}.client-ui .access-hero .brand-logo{width:178px;height:54px}}
.client-ui .hml-test-access{margin-top:20px;padding-top:18px;border-top:1px solid var(--client-border);text-align:center}
.client-ui .hml-test-access>span{display:inline-flex;padding:5px 8px;border-radius:999px;background:#fff4dc;color:#795817;font-size:8px;font-weight:850;letter-spacing:.12em;text-transform:uppercase}
.client-ui .hml-test-access>p{margin:9px auto 0;max-width:280px;color:var(--client-muted);font-size:10px;line-height:1.45}
.client-ui .hml-test-access form{margin-top:12px}
.client-ui .hml-test-access .secondary-button{margin-top:0}
