:root{font-family:'DM Sans',sans-serif;color:#e7eaf3;background:#0b1020;font-synthesis:none;text-rendering:optimizeLegibility;--muted:#858da5;--line:#242b3e;--panel:#111729;--purple:#7969f3}*{box-sizing:border-box}body{margin:0;min-width:360px;background:#0b1020}.app-shell{min-height:100vh}.sidebar{width:244px;position:fixed;inset:0 auto 0 0;background:#0d1323;border-right:1px solid #1d2538;padding:25px 15px 14px;display:flex;flex-direction:column;z-index:3}.brand{display:flex;align-items:center;gap:11px;color:#f5f6fc;text-decoration:none;font:800 22px Manrope,sans-serif;letter-spacing:-1px;padding:0 7px}.brand-mark{display:grid;place-items:center;width:35px;height:35px;border-radius:11px;background:linear-gradient(140deg,#9385ff,#5c4cdd);font:800 23px Manrope;color:white;text-transform:uppercase;box-shadow:0 5px 22px #6859e955}.brand-sub{display:block;font:600 8px 'DM Sans';letter-spacing:1.35px;color:#77809a;margin-top:1px}.workspace{display:flex;align-items:center;gap:10px;background:#141b2d;border:1px solid #242c40;border-radius:10px;padding:10px;margin:31px 0 29px}.workspace-icon{width:30px;height:30px;border-radius:8px;background:#564abd;color:#fff;display:grid;place-items:center;font-weight:700}.workspace strong,.workspace small,.profile strong,.profile small{display:block}.workspace strong{font-size:12px}.workspace small,.profile small{font-size:10px;color:var(--muted);margin-top:3px}.chevron{margin-left:auto;color:#77809a}.nav-label{font-size:9px;letter-spacing:1.15px;font-weight:700;color:#69728a;padding:0 10px;margin-bottom:9px}.nav{display:grid;gap:4px}.nav a,.sidebar-bottom>a{height:39px;padding:0 10px;border-radius:7px;text-decoration:none;display:flex;align-items:center;gap:12px;color:#9aa3b8;font-size:12px}.nav a>span,.sidebar-bottom>a>span{font-size:17px;width:17px;text-align:center;color:#7c86a0}.nav a.active{background:#211d3d;color:#b6adff;font-weight:600}.nav a.active>span{color:#a397ff}.nav em{font-style:normal;margin-left:auto;font-size:10px;color:#78829a}.soon{margin-left:auto;font-size:8px!important;color:#737d94!important;border:1px solid #30394e;padding:2px 4px;border-radius:4px}.second-label{margin-top:28px}.sidebar-bottom{margin-top:auto}.sidebar-bottom>a{height:38px}.profile{border-top:1px solid #222a3b;padding:15px 5px 2px;margin-top:14px;display:flex;align-items:center;gap:9px}.profile strong{font-size:11px}.avatar{width:30px;height:30px;border-radius:50%;background:linear-gradient(140deg,#e7a071,#a95071);display:grid;place-items:center;color:#fff;font-size:10px;font-weight:700}.main{margin-left:244px;max-width:1660px;padding:0 35px 28px}.topbar{height:61px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #1d2538}.breadcrumb{font-size:11px;color:#7d879e}.breadcrumb span{padding:0 9px;color:#4f5871}.breadcrumb b{font-weight:500;color:#cad0df}.top-actions{display:flex;align-items:center;gap:9px;color:#8791a7;font-size:10px}.live-dot{width:7px;height:7px;border-radius:50%;background:#35c98b;box-shadow:0 0 9px #35c98b66}.icon-button{position:relative;background:transparent;color:#abb2c5;border:0;font-size:18px;margin:0 8px}.icon-button i{position:absolute;width:5px;height:5px;right:1px;top:2px;background:#ed7384;border:1px solid #0b1020;border-radius:50%}.avatar.small{width:27px;height:27px}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;padding:31px 0 22px}.eyebrow{font-size:9px;font-weight:700;letter-spacing:1px;color:#9099ae}.spark{color:#9687ff;font-size:14px;margin-right:4px}.page-heading h1{font:700 25px Manrope,sans-serif;letter-spacing:-.65px;margin:9px 0 5px;color:#f4f5fa}.wave{color:#e8b45b;font-size:19px}.page-heading p,.panel-heading p{font-size:11px;color:#8992a8;margin:0}.button{border:0;border-radius:7px;padding:10px 14px;font:600 11px 'DM Sans';display:flex;align-items:center;gap:8px;cursor:pointer}.primary{background:#7565ef;color:white;box-shadow:0 5px 16px #6755df30}.primary:hover{background:#8173f5}.button:disabled{opacity:.7;cursor:wait}.button>span{font-size:16px}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.stat-card,.panel{background:var(--panel);border:1px solid #252d40;border-radius:10px}.stat-card{height:114px;padding:14px 15px 12px;position:relative}.stat-top{display:flex;justify-content:space-between;align-items:center;color:#929bb1;font-size:9px;font-weight:600;letter-spacing:.65px}.stat-icon{display:grid;place-items:center;width:25px;height:25px;border-radius:7px;font-size:14px}.stat-icon.blue{background:#182949;color:#66a4ff}.stat-icon.green{background:#14332e;color:#49d5a0}.stat-icon.violet{background:#282246;color:#a095ff}.stat-icon.amber{background:#352a20;color:#f1b95d}.stat-value{font:700 22px Manrope,sans-serif;letter-spacing:-.5px;margin-top:7px;color:#f3f4fa}.stat-foot{display:flex;align-items:center;gap:5px;font-size:9px;color:#78839c;margin-top:3px}.positive{color:#43ce98;font-weight:600}.sparkline{font-size:17px;letter-spacing:-2px;margin-left:auto;line-height:1}.blue-line{color:#5e9fff}.green-line{color:#3ac994}.violet-line{color:#9a8aff}.amber-line{color:#efb758}.content-grid{display:grid;grid-template-columns:minmax(0,1.07fr) minmax(0,.93fr);gap:13px;margin-top:14px}.panel{padding:17px 17px 13px}.rfm-panel,.revenue-panel{min-height:354px}.panel-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.panel-heading h2{font:700 13px Manrope,sans-serif;margin:0 0 5px;color:#e8eaf3}.title-row{display:flex;align-items:center;gap:7px}.info{width:13px;height:13px;display:grid;place-items:center;border:1px solid #606b84;color:#8994aa;border-radius:50%;font:600 9px serif}.select-button,.filter-button{background:#151c2e;border:1px solid #2a3348;color:#b2bad0;border-radius:6px;padding:7px 9px;font:500 9px 'DM Sans';white-space:nowrap}.select-button span{padding-left:10px;color:#79849d}.rfm-map{height:228px;margin-top:16px;border-radius:7px;overflow:hidden;display:grid;grid-template-columns:repeat(12,1fr);grid-template-rows:repeat(6,1fr);gap:2px;background:#111729}.rfm-block{border:0;color:white;text-align:left;padding:11px 10px;display:flex;flex-direction:column;justify-content:space-between;cursor:pointer;transition:filter .15s;min-width:0}.rfm-block:hover{filter:brightness(1.12)}.rfm-block b{font-size:10px;font-weight:600}.rfm-block>span{font:600 12px Manrope,sans-serif}.rfm-block small{font:500 9px 'DM Sans';opacity:.85}.lost{grid-area:4/1/7/4;background:#505364}.hibernating{grid-area:3/3/5/6;background:#72758a}.cantlose{grid-area:1/1/2/6;background:#e34e55}.at-risk{grid-area:2/1/4/6;background:#e99136}.need-attention{grid-area:3/6/5/9;background:#e9b837}.about-sleep{grid-area:5/6/7/9;background:#888b9b}.loyal{grid-area:1/6/3/9;background:#2899d4}.potential{grid-area:3/9/6/13;background:#72ad54}.champions{grid-area:1/9/3/13;background:#31a957}.promising{grid-area:6/9/7/11;background:#6946b7}.new{grid-area:6/11/7/13;background:#08aabb}.map-legend{display:flex;gap:16px;margin-top:12px;color:#8a94aa;font-size:9px}.map-legend span{display:flex;align-items:center;gap:5px}.dot{width:6px;height:6px;border-radius:50%}.dot.red{background:#e6655e}.dot.yellow{background:#e6bb4a}.dot.green{background:#43b573}.chart-legend{display:flex;gap:14px;color:#919bb1;font-size:9px;margin:18px 0 5px}.chart-legend span{display:flex;align-items:center;gap:6px}.legend-line{width:14px;height:2px;background:#796bf3}.legend-line.dashed{height:0;border-top:2px dashed #50c8bd}.chart-area{height:191px;display:grid;grid-template-columns:48px 1fr;align-items:stretch}.y-labels{display:flex;flex-direction:column;justify-content:space-between;padding:5px 0 2px;color:#717c94;font-size:8px}.chart-area svg{height:100%;width:100%;overflow:visible}.chart-grid{fill:none;stroke:#283047;stroke-width:1;stroke-dasharray:3 4}.area{fill:url(#fill)}.line-main,.line-dashed{fill:none;stroke:#8273f5;stroke-width:2.5;vector-effect:non-scaling-stroke}.line-dashed{stroke:#51c9bd;stroke-dasharray:5 5;stroke-width:1.7}.x-labels{display:flex;justify-content:space-between;padding-left:49px;color:#737e96;font-size:8px;margin-top:2px}.chart-summary{display:flex;gap:32px;padding:13px 0 0;margin-top:9px;border-top:1px solid #252d40}.chart-summary small,.profile-stats small{display:block;color:#7f899f;font-size:8px;letter-spacing:.55px;margin-bottom:5px}.chart-summary strong{font:700 13px Manrope;color:#e5e8f0}.chart-summary>div+div{border-left:1px solid #293148;padding-left:25px}.customers-panel{margin-top:14px;padding-bottom:0}.text-link{color:#a89fff;font-size:10px;text-decoration:none;white-space:nowrap}.text-link span{font-size:14px;padding-left:4px}.table-tools{display:flex;gap:8px;margin:17px 0 11px}.search-box{height:32px;display:flex;align-items:center;gap:7px;padding:0 9px;border:1px solid #2a3348;background:#0f1627;border-radius:6px;flex:1;max-width:350px;color:#79839a}.search-box span{font-size:18px}.search-box input{width:100%;background:transparent;color:#dce0eb;border:0;outline:0;font:10px 'DM Sans'}.search-box input::placeholder{color:#707b93}.filter-button{font-size:9px;padding:7px 9px;cursor:pointer}.filter-button span{padding:0 5px}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;white-space:nowrap}thead th{text-align:left;color:#77829a;font-size:8px;letter-spacing:.65px;font-weight:600;padding:10px 8px;border-bottom:1px solid #293146}tbody td{padding:9px 8px;border-bottom:1px solid #20293a;font-size:9px;color:#aab2c5}tbody tr{cursor:pointer}tbody tr:hover{background:#171f32}.customer-cell{display:flex;align-items:center;gap:8px}.customer-cell b{display:block;color:#e1e5ef;font-size:10px;font-weight:600}.customer-cell small{display:block;font-size:8px;color:#7f8aa2;margin-top:3px}.person{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font-size:8px;font-weight:700;color:#e9eaff;flex:none}.person.peach{background:#513a3b;color:#ffbb9b}.person.lavender{background:#403b62;color:#c5baff}.person.mint{background:#264b47;color:#8ce1ca}.person.sky{background:#2b405d;color:#9bc9ff}.person.rose{background:#543647;color:#ffb5d0}.badge{display:inline-flex;align-items:center;gap:5px;border-radius:20px;padding:4px 7px;font-size:8px}.badge i{width:5px;height:5px;border-radius:50%;background:currentColor}.badge.champions,.badge.loyal{background:#18372f;color:#70d8ac}.badge.potential,.badge.promising{background:#1c3039;color:#70c8d1}.badge.attention,.badge.sleep,.badge.cantlose{background:#3a3020;color:#e5bd68}.badge.new{background:#253146;color:#93baff}.badge.risk,.badge.lost,.badge.hibernating{background:#3b242d;color:#e7909a}.numeric{text-align:center}.bold{color:#e0e4ee;font-weight:600}.row-more{border:0;background:transparent;color:#76829b;font-size:16px;cursor:pointer}.empty{text-align:center!important;padding:30px;color:#929bb1}.table-footer{height:42px;display:flex;align-items:center;justify-content:space-between;color:#7c879f;font-size:9px}.pagination{display:flex;align-items:center;gap:4px}.pagination button{width:22px;height:22px;color:#9da6bb;border:1px solid #2b3448;background:#141b2c;border-radius:4px;font-size:9px}.pagination button.current{background:#5549b9;border-color:#6657d4;color:#fff}.pagination button:disabled{opacity:.45}.pagination span{padding:0 4px}.footer{display:flex;justify-content:space-between;color:#67728a;font-size:9px;padding:16px 2px}.footer a{color:#9589fb;text-decoration:none}.toast{position:fixed;z-index:9;bottom:20px;right:22px;max-width:min(420px,calc(100vw - 30px));padding:12px 16px;border:1px solid #38415a;background:#182137;color:#e9edf8;border-radius:8px;font-size:11px;opacity:0;transform:translateY(8px);pointer-events:none;transition:.2s}.toast.show{opacity:1;transform:translateY(0)}.toast.success{border-color:#296b56}.toast.error{border-color:#8b4350}.modal-backdrop{position:fixed;inset:0;display:none;align-items:center;justify-content:center;padding:18px;background:#050812bd;z-index:8;backdrop-filter:blur(4px)}.modal-backdrop.open{display:flex}.modal{position:relative;background:#131a2c;border:1px solid #303a51;border-radius:13px;padding:28px;width:min(470px,100%);box-shadow:0 24px 90px #0009;max-height:90vh;overflow:auto}.modal-close{position:absolute;right:16px;top:13px;background:none;border:0;color:#929db4;font-size:24px;cursor:pointer}.modal-kicker{font-size:9px;color:#a49aff;letter-spacing:1px;font-weight:700}.modal h2{font:700 20px Manrope;margin:7px 0;color:#f2f4fb}.modal-desc{font-size:11px;line-height:1.6;color:#9ba5ba;margin:0 0 19px}.modal form label{display:block;font-size:10px;font-weight:600;color:#cbd1df;margin:13px 0}.input-wrap{height:39px;display:flex;align-items:center;gap:9px;margin-top:6px;padding:0 10px;border:1px solid #323b51;background:#0d1424;border-radius:6px;color:#8692ac}.input-wrap input{background:none;border:0;outline:0;color:#e8ecf5;font:11px 'DM Sans';width:100%}.input-wrap input::placeholder{color:#68748e}.modal form label>small{display:block;font-weight:400;color:#77839b;font-size:9px;margin-top:5px}.credential-note{border:1px solid #263d41;background:#142529;border-radius:6px;padding:9px 10px;font-size:9px;color:#a3d6c7;line-height:1.5;margin:16px 0}.modal-submit{width:100%;justify-content:center;height:39px}.form-error{font-size:10px;color:#f39aa5;margin-top:10px}.docs-link{font-size:9px;color:#7f8aa0;margin:15px 0 0}.docs-link a{color:#aaa0ff}.spinner{width:13px;height:13px;border:2px solid #ffffff55;border-top-color:white;border-radius:50%;animation:spin .65s linear infinite;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.customer-profile{display:flex;align-items:center;gap:12px;margin:8px 0 20px}.person.large{width:48px;height:48px;font-size:13px}.customer-profile h2{font-size:18px;margin:4px 0}.customer-profile p{margin:0;color:#8f9ab0;font-size:10px}.profile-stats{display:grid;grid-template-columns:1.5fr .7fr 1fr;gap:9px;padding:14px 0;border-top:1px solid #2b344a;border-bottom:1px solid #2b344a}.profile-stats strong{display:block;font:700 14px Manrope;color:#eef0f8}.profile-detail{display:flex;justify-content:space-between;padding:11px 0;border-bottom:1px solid #252e43;font-size:10px;color:#8994ab}.profile-detail b{font-weight:500;color:#dde2ee}.note-bottom{margin:14px 0 0;font-size:10px}
@media(min-width:1550px){.main{padding-left:45px;padding-right:45px}.rfm-panel,.revenue-panel{min-height:382px}.rfm-map{height:255px}.chart-area{height:214px}}
@media(max-width:1050px){.sidebar{width:205px}.main{margin-left:205px;padding:0 22px 24px}.content-grid{grid-template-columns:1fr}.rfm-panel,.revenue-panel{min-height:auto}.rfm-map{height:240px}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.sidebar{width:57px;padding:18px 8px}.brand{padding:0;justify-content:center}.brand>span:last-child,.workspace,.nav-label,.nav a:not(.active),.nav a.active{font-size:0}.brand-sub,.sidebar-bottom>a,.profile{display:none}.brand-mark{width:34px;height:34px}.nav{margin-top:30px}.nav a,.sidebar-bottom>a{justify-content:center;padding:0;font-size:0}.nav a>span{font-size:18px}.nav a.active{width:40px;margin:auto}.nav a.active em{display:none}.second-label{margin-top:25px}.main{margin-left:57px;padding:0 13px 18px}.topbar{height:52px}.top-actions{font-size:0;gap:5px}.top-actions .live-dot,.icon-button{display:none}.store-picker{max-width:105px;padding:6px 4px;font-size:8px}.add-store{font-size:8px;padding:6px}.page-heading{align-items:flex-start;gap:12px;padding:24px 0 18px;flex-direction:column}.page-heading h1{font-size:22px}.page-heading p{font-size:10px;max-width:280px;line-height:1.5}.button{font-size:10px;padding:9px 11px}.stats-grid{gap:8px}.stat-card{height:103px;padding:11px 10px}.stat-top{font-size:7px;letter-spacing:.3px}.stat-value{font-size:17px}.stat-foot{font-size:8px;gap:3px}.sparkline{font-size:12px}.content-grid{gap:9px;margin-top:9px}.panel{padding:13px 11px 10px}.panel-heading h2{font-size:12px}.panel-heading p{font-size:9px}.select-button{font-size:8px;padding:6px}.rfm-map{height:210px;margin-top:13px}.rfm-block{padding:7px 5px}.rfm-block b{font-size:7px}.rfm-block>span{font-size:9px}.rfm-block small{font-size:7px}.map-legend{gap:7px;font-size:7px}.chart-summary{gap:14px}.chart-summary>div+div{padding-left:13px}.chart-summary small{font-size:7px}.chart-summary strong{font-size:10px}.table-tools{flex-wrap:wrap}.search-box{max-width:none;flex-basis:100%}.filter-button{font-size:8px}.customers-panel{margin-top:9px}.text-link{font-size:8px}.table-footer{font-size:8px}.footer{font-size:7px;gap:10px}.modal{padding:22px 17px}.breadcrumb{font-size:10px}}
 .store-picker{max-width:170px;background:#141b2d;border:1px solid #2a3348;color:#bfc7d8;border-radius:6px;padding:7px 25px 7px 9px;font:500 9px 'DM Sans';outline:none}.store-picker.connected{border-color:#365c53;color:#a6dec8}.add-store{background:#1d2040;border:1px solid #38335f;border-radius:6px;color:#bdb5ff;padding:7px 9px;font:600 9px 'DM Sans';cursor:pointer;white-space:nowrap}.add-store:hover{background:#292752}
.payment-section{margin:15px 0 14px;padding:18px;background:#fff;border:1px solid #e4e7e4;border-radius:14px;color:#203b34}.payment-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px}.payment-kicker{font-size:9px;font-weight:700;letter-spacing:1.2px;color:#688176}.payment-heading h2{margin:4px 0 5px;font:700 16px Manrope,sans-serif;color:#203b34}.payment-heading p{margin:0;color:#78857f;font-size:10px}.payment-period{padding:7px 10px;background:#f3f6f3;border:1px solid #e5ebe6;border-radius:7px;color:#75827c;font-size:9px;white-space:nowrap}.payment-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.payment-card{min-width:0;min-height:292px;padding:15px 15px 12px;border:1px solid #e0e4e1;border-radius:13px;background:#fff;box-shadow:0 2px 7px #1c3b2d08}.payment-card-title{display:flex;align-items:center;gap:10px;min-height:34px}.payment-card-title h3{margin:0;color:#59645f;font-size:11px;font-weight:600}.payment-icon{width:32px;height:32px;border-radius:8px;display:grid;place-items:center;font-size:18px;font-weight:700}.payment-icon.wallet{background:#e2f4f1;color:#009d8c}.payment-icon.card{background:#fff2df;color:#ff9900}.payment-icon.boleto{background:#edf1f3;color:#748f9b}.payment-icon.pix{background:#e2f8fb;color:#08b6ca}.payment-donut-wrap{height:197px;display:grid;place-items:center}.payment-donut{width:176px;height:176px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(#ff9c25 0% 0%,#44c2d1 0% 0%,#e9edef 0%)}.payment-donut:before{content:"";position:absolute;width:136px;height:136px;background:#fff;border-radius:50%}.payment-donut>div{position:relative;z-index:1;display:grid;text-align:center;gap:2px}.payment-donut strong{font:500 26px Manrope,sans-serif;color:#596d83}.payment-donut span{font-size:9px;color:#85918b}.payment-legend{display:grid;grid-template-columns:auto 1fr auto 1fr auto 1fr;align-items:center;gap:5px;color:#727d77;font-size:8px}.payment-legend b{text-align:right;color:#53675e;font-size:9px}.payment-legend i{display:inline-block;width:7px;height:7px;border-radius:2px;margin-right:4px}.legend-card{background:#44c2d1}.legend-pix{background:#ff9c25}.legend-boleto{background:#b7c4c8}.payment-gauge{width:148px;height:90px;margin:18px auto 10px;position:relative;overflow:hidden}.payment-gauge:before{content:"";position:absolute;inset:0;border:6px solid #edf0f1;border-bottom-color:transparent;border-radius:100px 100px 0 0}.payment-gauge:after{content:"";position:absolute;inset:0;border:6px solid var(--gauge-color);border-bottom-color:transparent;border-radius:100px 100px 0 0;clip-path:inset(0 calc(100% - var(--gauge-progress,0%)) 0 0);transform:rotate(0deg);transform-origin:center}.payment-gauge>div{position:absolute;inset:32px 0 auto;display:grid;justify-items:center;gap:5px}.payment-gauge strong{font:500 25px Manrope,sans-serif;color:#5e7085}.payment-gauge span{font-size:9px;color:#6f8092;font-weight:600}.payment-gauge.orange{--gauge-color:#ff9c25}.payment-gauge.cyan{--gauge-color:#22bed0}.payment-gauge.slate{--gauge-color:#8fa5ad}.payment-amounts{display:grid;grid-template-columns:1fr 1fr;margin-top:8px;text-align:center}.payment-amounts>div{min-width:0;padding:0 5px}.payment-amounts>div+div{border-left:1px solid #e0e5e3}.payment-amounts span,.payment-amounts b{display:block}.payment-amounts span{font-size:8px;color:#7c8580;white-space:nowrap}.payment-amounts b{margin-top:7px;font-size:10px;font-weight:500;color:#6d7772;white-space:nowrap}.payment-note{margin:12px 2px 0;color:#87918b;font-size:9px}.payment-section+.customers-panel{margin-top:14px}@media(max-width:1150px){.payment-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.payment-section{padding:13px 10px;margin-top:10px}.payment-heading{flex-direction:column;gap:9px}.payment-heading h2{font-size:14px}.payment-grid{gap:8px}.payment-card{padding:11px 9px 10px;min-height:260px}.payment-card-title{gap:6px}.payment-card-title h3{font-size:9px}.payment-icon{width:27px;height:27px;font-size:15px}.payment-donut-wrap{height:167px}.payment-donut{width:145px;height:145px}.payment-donut:before{width:112px;height:112px}.payment-gauge{transform:scale(.86);margin:12px auto 3px}.payment-amounts{margin-top:5px}.payment-amounts span{font-size:7px}.payment-amounts b{font-size:8px}.payment-legend{font-size:7px;gap:3px}.payment-legend b{font-size:8px}}
.payment-filters{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}.payment-period{padding:8px 10px;background:#fff;border:1px solid #dce4de;border-radius:7px;color:#53655b;font:500 9px 'DM Sans';cursor:pointer}.payment-custom-range{display:flex;align-items:center;gap:5px}.payment-custom-range[hidden]{display:none}.payment-custom-range input{width:112px;padding:7px 6px;border:1px solid #dce4de;border-radius:6px;color:#53655b;font:9px 'DM Sans';background:#fff}.payment-custom-range span{font-size:8px;color:#87918b}.payment-gauge svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.payment-gauge .gauge-track,.payment-gauge .gauge-value{fill:none;stroke:#edf0f1;stroke-width:7;stroke-linecap:round}.payment-gauge .gauge-value{stroke:var(--gauge-color);stroke-dasharray:238;stroke-dashoffset:238}.payment-gauge.orange .gauge-value{stroke:#ff9c25}.payment-gauge.cyan .gauge-value{stroke:#22bed0}.payment-gauge.slate .gauge-value{stroke:#8fa5ad}@media(max-width:650px){.payment-filters{justify-content:flex-start}.payment-custom-range input{width:95px}}
.payment-gauge:before,.payment-gauge:after{display:none}

:root {
  --forest: #103e34;
  --forest-deep: #0b2c26;
  --leaf: #397b62;
  --leaf-light: #dcebe2;
  --sun: #f2bf5c;
  --coral: #d97858;
  --paper: #f4f3ec;
  --ink: #1c3129;
  --quiet: #738078;
  --line: #e2e5dc;
  --panel: #fff;
}

body {
  background:
    radial-gradient(ellipse at 88% 4%, #f1dfb755 0, transparent 23rem),
    var(--paper);
  color: var(--ink);
}

.sidebar {
  overflow: hidden;
  background:
    radial-gradient(circle at 4% 91%, #37735c44 0 100px, transparent 101px),
    linear-gradient(165deg, #174b3d 0%, var(--forest) 55%, var(--forest-deep) 100%);
  border: 0;
  color: #fff;
  padding: 25px 14px 15px;
  box-shadow: 12px 0 36px #102c2410;
}

.brand { gap: 12px; min-height: 60px; font-size: 18px; letter-spacing: 1.2px; }
.brand-emblem { width: 56px !important; height: 56px !important; flex: 0 0 56px; display: block; object-fit: cover; border: 2px solid #d9efff; border-radius: 50% !important; padding: 0; background: #79b8e8; box-shadow: 0 2px 8px #061d1830; }
.brand-caption { color: #fff; font: 800 18px Manrope, sans-serif; letter-spacing: 2.4px; }
.brand-mark {
  width: 39px;
  height: 39px;
  border-radius: 13px 13px 13px 5px;
  background: linear-gradient(145deg, #ffd779, var(--sun));
  box-shadow: 0 7px 18px #061d183d;
}
.brand-mark i { width: 10px; height: 10px; background: var(--forest); }
.brand-mark i:nth-child(1) { left: 9px; top: 9px; transform: rotate(-10deg); }
.brand-mark i:nth-child(2) { right: 9px; top: 9px; transform: rotate(80deg); }
.brand-mark i:nth-child(3) { left: 9px; bottom: 9px; transform: rotate(-100deg); }
.brand-mark i:nth-child(4) { right: 9px; bottom: 9px; transform: rotate(170deg); }
.brand-sub { color: #b7cdbd; letter-spacing: 1.7px; font-size: 7px; }

.workspace {
  background: #ffffff0c;
  border-color: #ffffff20;
  border-radius: 12px;
  margin-top: 30px;
}
.workspace-icon { background: var(--sun); color: var(--forest); border-radius: 9px; }
.workspace small, .sidebar .chevron { color: #b4cbbd; }
.nav-label { color: #93b1a1; letter-spacing: 1.35px; }
.nav a, .sidebar-bottom>a { border-radius: 9px; color: #c4d5cb; }
.nav a>span, .sidebar-bottom>a>span { color: #a1bdad; }
.nav a.active {
  background: linear-gradient(90deg, #ffffff1a, #ffffff08);
  color: #fff;
  box-shadow: inset 3px 0 var(--sun);
}
.nav a.active>span { color: var(--sun); }
.soon { border-color: #547466 !important; color: #c1d1c4 !important; }
.profile { border-color: #ffffff20; }
.profile strong { color: #fff; }
.profile small { color: #b4c7ba; }
.avatar { background: linear-gradient(135deg, var(--sun), #da8b58); color: #19392e; }

.main { max-width: 1760px; padding: 0 40px 32px; }
.topbar { border-color: #dfe3d9; }
.breadcrumb { color: #78847b; }
.breadcrumb span { color: #b9c2b8; }
.breadcrumb b { color: #294238; }
.top-actions { color: #738078; }
.avatar.small { background: #e9c978; color: #214337; }
.store-picker {
  background: #fff;
  border: 1px solid #d9e2d8;
  border-radius: 999px;
  color: #355348;
}
.store-picker.connected { border-color: #88ad91; color: #2f6c4e; }
.add-store {
  background: #e9f0e8;
  border: 1px solid #d5e2d5;
  border-radius: 999px;
  color: #315e47;
}
.add-store:hover { background: #dce9dc; }

.page-heading {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  align-items: center;
  min-height: 190px;
  margin: 21px 0 16px;
  padding: 27px 30px;
  border: 1px solid #e2e5d9;
  border-radius: 22px;
  background:
    radial-gradient(circle at 93% 18%, #f2c45e40 0 8px, transparent 9px),
    radial-gradient(circle at 89% 78%, #85a99438 0 14px, transparent 15px),
    linear-gradient(115deg, #fffefa 0%, #f5f4ec 66%, #edf2e8 100%);
  box-shadow: 0 12px 35px #2946380a;
}
.page-heading::after {
  content: "";
  position: absolute;
  z-index: -1;
  width: 210px;
  height: 210px;
  right: 80px;
  top: -20px;
  border: 1px solid #d6d9c588;
  border-radius: 42% 58% 58% 42%;
  box-shadow: 0 0 0 18px #e9ebde55, 0 0 0 38px #f3e4bd38;
  transform: rotate(-22deg);
}
.page-heading>div, .page-heading>button { position: relative; z-index: 1; }
.eyebrow { color: #5d796a; letter-spacing: 1.35px; }
.spark { color: #cf8d43; }
.page-heading h1 {
  color: #173b30;
  font: 700 33px/1.08 Georgia, "Times New Roman", serif;
  letter-spacing: -.65px;
  margin: 11px 0 9px;
}
.page-heading h1 em { color: #55846b; font-weight: 400; }
.page-heading p { color: #6f7e73; font-size: 12px; }
.button { border-radius: 999px; }
.primary {
  background: var(--forest);
  color: #fff;
  box-shadow: 0 7px 19px #123c3025;
}
.primary:hover { background: #1e5947; }

.stats-grid { gap: 14px; }
.stat-card, .panel {
  background: var(--panel);
  border: 1px solid #e3e6de;
  border-radius: 15px;
  box-shadow: 0 4px 16px #1d3b2c08;
}
.stat-card {
  height: 120px;
  padding: 16px 17px 13px;
  position: relative;
  overflow: hidden;
}
.stat-card::after {
  content: "";
  position: absolute;
  right: -20px;
  bottom: -31px;
  width: 82px;
  height: 82px;
  border-radius: 50%;
  border: 1px solid #dce6dc;
  box-shadow: 0 0 0 10px #f7f8f3, 0 0 0 20px #fbfbf7;
  opacity: .7;
  pointer-events: none;
}
.stat-top { color: #738178; font-size: 8px; letter-spacing: 1px; }
.stat-icon { border-radius: 10px; background: #f3f5ef !important; border: 1px solid #e7eae2; }
.stat-icon.blue { color: #477b83; }
.stat-icon.green { color: #398060; }
.stat-icon.violet { color: #987245; }
.stat-icon.amber { color: #c96f4f; }
.stat-value { color: #1d3a2f; font: 700 25px Georgia, "Times New Roman", serif; }
.stat-foot { color: #838d84; }
.positive { color: #438365; }
.blue-line { color: #6b99a2; }
.green-line { color: #4d8a67; }
.violet-line { color: #a28350; }
.amber-line { color: #c97d59; }

.content-grid { gap: 14px; margin-top: 14px; }
.panel { padding: 19px 20px 15px; }
.rfm-panel, .revenue-panel { min-height: 363px; }
.panel-heading h2 { color: #203b30; font: 700 15px Georgia, "Times New Roman", serif; }
.panel-heading p { color: #7b877e; }
.select-button, .filter-button {
  background: #fbfcf8;
  border-color: #e1e6de;
  border-radius: 999px;
  color: #526258;
}
.select-button span { color: #829187; }
.rfm-map { background: #f0f3ed; border-radius: 12px; gap: 3px; }
.rfm-block { padding: 11px 10px; border-radius: 7px; transition: filter .16s, transform .16s; }
.rfm-block:hover { filter: brightness(1.06); transform: translateY(-1px); z-index: 1; }
.rfm-block b { font-size: 9px; letter-spacing: .1px; }
.rfm-block>span { font: 700 12px Georgia, "Times New Roman", serif; }
.rfm-block small { font: 500 9px Arial, sans-serif; }
.lost { background: #687a71; }
.hibernating { background: #97a79b; }
.cantlose { background: #c2664d; }
.at-risk { background: #d9895e; }
.need-attention { background: #d9b75e; }
.about-sleep { background: #bbc6ba; color: #34483b; }
.loyal { background: #558994; }
.potential { background: #83a76e; }
.champions { background: #3d7959; }
.promising { background: #806b88; }
.new { background: #55a39b; }
.map-legend, .chart-legend { color: #78847a; }
.dot.red { background: #c46b52; }
.dot.yellow { background: #d6b65d; }
.dot.green { background: #5d936c; }
.legend-line { background: #36795b; }
.legend-line.dashed { border-color: #d47a58; }
.y-labels, .x-labels { color: #89948b; }
.chart-grid { stroke: #e6eae1; stroke-dasharray: 2 4; }
.area { fill: url(#fill); }
.line-main { stroke: #347b59; }
.line-dashed { stroke: #d47b59; }
.chart-summary { border-color: #e4e8e0; }
.chart-summary small, .profile-stats small { color: #7e897f; }
.chart-summary strong { color: #233c30; }
.chart-summary>div+div { border-color: #e5e8e0; }

.payment-section {
  margin-top: 16px;
  padding: 20px;
  border: 1px solid #e2e6dc;
  border-radius: 18px;
  background: linear-gradient(135deg, #f1f4ec, #f8f7f1 65%, #f4eee0);
}
.payment-heading h2 { color: #203b30; font: 700 19px Georgia, "Times New Roman", serif; }
.payment-heading p { color: #78847a; }
.payment-kicker { color: #63826c; letter-spacing: 1.2px; }
.payment-card { border-radius: 15px; border-color: #e1e5dd; box-shadow: 0 4px 16px #203a2b08; }
.payment-card-title h3 { color: #3a4c42; }
.payment-icon { border-radius: 11px; }
.payment-icon.wallet { background: #e3f0e9; color: #258a70; }
.payment-icon.card { background: #fbefdc; color: #c78a31; }
.payment-icon.boleto { background: #e8edef; color: #637f8a; }
.payment-icon.pix { background: #dff2ed; color: #269e94; }
.payment-donut { filter: drop-shadow(0 5px 9px #286f5d14); }
.payment-gauge .gauge-track { stroke: #ebeee8; }
.payment-gauge.orange .gauge-value { stroke: #d89b3d; }
.payment-gauge.cyan .gauge-value { stroke: #328c7d; }
.payment-gauge.slate .gauge-value { stroke: #9aa9a6; }
.payment-note { color: #7b877e; }

.customers-panel { margin-top: 14px; }
.text-link, .footer a { color: #397657; }
.search-box { background: #fbfcf9; border-color: #e0e5dc; color: #819083; border-radius: 999px; }
.search-box input { color: #33463a; }
.search-box input::placeholder { color: #929c93; }
.filter-button { cursor: pointer; }
.filter-button:hover, .select-button:hover { background: #eef3eb; }
.table-wrap table thead th { color: #839087; border-color: #e7eae3; }
.table-wrap tbody td { color: #59665d; border-color: #edf0ea; }
.table-wrap tbody tr:hover { background: #f8faf6; }
.customer-cell b { color: #26382e; }
.customer-cell small { color: #8b958c; }
.person.peach { background: #f4e7de; color: #9e6045; }
.person.lavender { background: #eee8f2; color: #735c84; }
.person.mint { background: #e4f0e9; color: #47765f; }
.person.sky { background: #e4edf0; color: #4c7180; }
.person.rose { background: #f4e5e7; color: #a4586b; }
.badge.champions, .badge.loyal { background: #e9f2eb; color: #47815b; }
.badge.potential, .badge.promising { background: #e7f1ef; color: #4e8880; }
.badge.attention, .badge.sleep, .badge.cantlose { background: #f6f0df; color: #9d7b36; }
.badge.new { background: #e8eff2; color: #547d8d; }
.badge.risk, .badge.lost, .badge.hibernating { background: #f5e9e5; color: #a96753; }
.row-more { color: #728075; }
.table-footer, .footer { color: #859087; }
.pagination button { color: #58695d; border-color: #e0e5dc; background: #fafbf9; }
.pagination button.current { background: #315e48; border-color: #315e48; color: #fff; }

.modal { background: #fff; border-color: #e0e5db; border-radius: 18px; box-shadow: 0 24px 80px #18392b24; }
.modal h2 { font-family: Georgia, "Times New Roman", serif; color: #23362c; }
.modal-desc { color: #758177; }
.modal-kicker { color: #64836c; }
.input-wrap { background: #fbfcf9; border-color: #dfe5dc; color: #78887b; border-radius: 9px; }
.input-wrap input { color: #26392e; }
.input-wrap input::placeholder { color: #98a198; }
.modal form label { color: #394b40; }
.modal form label>small, .docs-link { color: #858f86; }
.credential-note { background: #eef5ef; border-color: #d6e5d8; color: #4d765c; }
.docs-link a { color: #4c795d; }
.form-error { color: #b34d4e; }
.profile-stats { border-color: #e2e7df; }
.profile-stats strong { color: #24382c; }
.profile-detail { border-color: #e8ebe5; color: #748077; }
.profile-detail b { color: #34473a; }
.toast { background: #fff; color: #283a2f; border-color: #dce4da; box-shadow: 0 6px 24px #21362a18; }
.toast.success { border-color: #bed7c2; }
.toast.error { border-color: #e0bbbb; }

.auth-screen {
  position: fixed;
  inset: 0;
  z-index: 20;
  display: grid;
  place-items: center;
  padding: 22px;
  background:
    radial-gradient(circle at 83% 18%, #efd68a45 0 5px, transparent 6px),
    radial-gradient(circle at 78% 27%, #83a9912a 0 13px, transparent 14px),
    radial-gradient(ellipse at 78% 18%, #dce9d7 0, transparent 32%),
    radial-gradient(ellipse at 8% 87%, #e3eadd 0, transparent 34%),
    #f3f2eb;
}
.auth-screen[hidden] { display: none !important; }
.auth-brand {
  display: flex;
  align-items: center;
  gap: 11px;
  margin: 0 0 34px;
  font: 700 14px Arial, sans-serif;
  letter-spacing: 1.1px;
  color: #173e32;
}
.auth-brand small {
  display: block;
  margin-top: 3px;
  font-size: 8px;
  letter-spacing: 1.4px;
  color: #839287;
}
.auth-kicker { display: block; font-size: 9px; font-weight: 700; letter-spacing: 1.7px; color: #68846f; }
.auth-card h1 { margin: 9px 0 7px; }
.auth-card>p { margin: 0 0 24px; font-size: 11px; color: #718078; }
.auth-card form { display: block; }
.auth-card label {
  display: block;
  margin: 14px 0;
  font-size: 10px;
  font-weight: 600;
  color: #46564b;
}
.auth-card input {
  display: block;
  width: 100%;
  height: 42px;
  margin-top: 6px;
  padding: 0 11px;
  border: 1px solid #dce3da;
  border-radius: 9px;
  background: #fbfcfa;
  color: #20352a;
  font: 12px Arial, sans-serif;
  outline-color: #78977d;
}
.auth-card button { display: flex; width: 100%; justify-content: center; margin-top: 8px; }
.auth-footnote { display: block; margin-top: 18px; text-align: center; font-size: 9px; color: #78867c; }
.crm-app.locked { filter: blur(2px); pointer-events: none; user-select: none; }
.auth-card {
  position: relative;
  overflow: hidden;
  width: min(460px, 100%);
  padding: 38px;
  border: 1px solid #e1e6dd;
  border-radius: 20px 20px 20px 6px;
  box-shadow: 0 25px 80px #173b2b18;
}
.auth-card::before {
  content: "";
  position: absolute;
  width: 125px;
  height: 125px;
  top: -73px;
  right: -37px;
  border-radius: 50%;
  border: 1px solid #e3d49c99;
  box-shadow: 0 0 0 13px #f7f4e955, 0 0 0 28px #f5f6ef55;
  pointer-events: none;
}
.auth-brand .brand-mark { width: 39px; height: 39px; }
.auth-kicker { color: #68846f; letter-spacing: 1.7px; }
.auth-card h1 { color: #183d32; font: 600 28px Georgia, "Times New Roman", serif; }
.auth-card button { border-radius: 999px; }
.logout-button { border-radius: 999px; }
.logout-button[hidden] { display: none; }
#overview[hidden], #module-screen[hidden] { display: none !important; }
#module-screen { min-height: 100vh; }
.module-topbar { min-height: 64px; margin-bottom: 12px; }
.module-store-label { display: grid; gap: 6px; min-width: 220px; color: #35554a; font-size: 13px; font-weight: 600; }
.rfm-map .hibernating { grid-area: 4 / 4 / 7 / 6; }
.module-heading{margin:30px 0 22px}.module-heading h1{font-size:clamp(30px,4vw,44px);margin:10px 0 6px;color:#123f34}.module-heading p,.module-panel .panel-heading p{color:#71827b}.module-panel{margin:18px 0 24px}.module-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(205px,1fr));gap:14px;margin-top:18px}.module-card{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:20px;border:1px solid #e2e9e1;border-radius:16px;background:#fff;color:#24493d;text-align:left;cursor:pointer;transition:transform .18s,box-shadow .18s}.module-card:hover{transform:translateY(-2px);box-shadow:0 12px 28px #164d3b12}.module-card i{width:11px;height:11px;border-radius:50%}.module-card strong{font-size:28px}.module-card small,.module-card span,.module-note{color:#78867f}.module-cards.metrics .module-card{cursor:default}.module-form{display:grid;gap:14px;max-width:680px;padding:20px;border:1px solid #e4eae4;border-radius:16px;background:#fff}.module-form label{display:grid;gap:7px;font-weight:600;color:#35554a}.module-form input:not([type=checkbox]),.module-form select,.module-form textarea{width:100%;padding:11px 12px;border:1px solid #d9e2da;border-radius:10px;background:#fbfcfa;font:inherit;color:#233e35}.module-form textarea{resize:vertical}.module-form .checkline{display:flex;align-items:center;gap:10px}.module-note{font-size:13px;line-height:1.55;margin:10px 0}.module-empty{display:flex;flex-direction:column;gap:7px;padding:26px;border-radius:14px;background:#f6f8f4;color:#25473b}.module-empty span{color:#71827b}.module-actions{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0}.store-list{display:grid;gap:10px;margin-top:18px}.store-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:14px;border:1px solid #e4eae4;border-radius:13px;background:#fff}.store-row>span:nth-child(2){display:grid;gap:4px;flex:1}.store-row small{color:#74847d}.store-badge{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#fff1cf;color:#164638;font-weight:800}.button.danger{border:1px solid #f2d5d2;background:#fff7f6;color:#b84439}.module-panel .table-wrap{margin-top:16px}.module-panel .table-wrap td{padding:14px 12px}.help-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;margin:18px 0}.help-grid details{padding:16px;border:1px solid #e4eae4;border-radius:13px;background:#fff}.help-grid summary{font-weight:700;cursor:pointer;color:#204b3e}.help-grid p{color:#71827b;line-height:1.6}.module-rfm{min-height:410px}.rfm-block b{display:block!important;visibility:visible!important}
@media(max-width:700px){.module-heading{margin-top:18px}.store-row{align-items:flex-start}.module-panel{padding:16px}.module-form{padding:15px}}

@media (max-width: 1050px) {
  .main { padding-left: 24px; padding-right: 24px; }
  .page-heading::after { right: 10px; opacity: .5; }
}
@media (max-width: 650px) {
  .main { padding-left: 13px; padding-right: 13px; }
  .page-heading { min-height: 0; padding: 23px 18px; margin-top: 13px; border-radius: 17px; }
  .page-heading h1 { font-size: 27px; }
  .page-heading::after { right: -110px; top: -52px; opacity: .4; }
  .page-heading>button { margin-top: 15px; }
  .stats-grid { gap: 8px; }
  .stat-card { height: 108px; padding: 12px; border-radius: 12px; }
  .stat-value { font-size: 20px; }
  .rfm-map { height: 210px; }
  .panel { padding: 13px 11px 10px; border-radius: 13px; }
  .sidebar { background: linear-gradient(165deg, #174b3d, var(--forest-deep)); }
  .payment-section { padding: 14px 11px; border-radius: 15px; }
  .auth-card { padding: 28px 23px; }
}

#users-nav[hidden]{display:none!important}.module-feedback{padding:10px 12px;border-radius:10px;font-size:13px}.module-feedback.success{background:#eaf5ee;color:#236447}.module-feedback.error{background:#fff0ed;color:#a84639}.user-role{padding:6px 10px;border-radius:999px;background:#edf3ed;color:#315c46;font-size:12px;font-weight:700}

@media (max-width: 650px) { .brand-emblem { width: 41px !important; height: 41px !important; flex-basis: 41px; } .brand-caption { display: none; } }


.stat-hint { color: var(--quiet); font-size: 11px; }
.chart-empty { min-height: 260px; display: grid; place-items: center; padding: 24px; color: var(--quiet); text-align: center; border-radius: 12px; background: linear-gradient(180deg, #f6f8f5, #fff); }
