/* ogv-fonts: Plus Jakarta Sans (400/600/800) now loads from Google Fonts via
   HTML/layout.twig. The base64 TTF payload that used to sit here was ~380KB,
   63% of this file. Same family and weights, so rendering is unchanged. */
@import url('https://fonts.cdnfonts.com/css/satoshi');
:root{--ogv-deep:#3b0078;--ogv-primary:#943af8;--ogv-bright:#a148f4;--ogv-soft:#d7b5ff;--ogv-pale:#ead8ff;--ogv-gold:#ffb347;--ogv-ink:#17141d;--ogv-muted:#5f5a67;--ogv-line:#ebe7ef;--ogv-surface:#faf8fc}
*{box-sizing:border-box}html{scroll-behavior:smooth}body:has(.ogv-home){margin:0;padding-bottom:0!important;background:#fff;color:var(--ogv-muted);font-family:Satoshi,Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:16px;line-height:1.5}.ogv-home{overflow:hidden;background:#fff;color:var(--ogv-muted);font-family:Satoshi,Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.ogv-shell{width:100%;max-width:1200px}.ogv-section{padding:112px 0}.ogv-kicker{display:inline-block;margin-bottom:14px;color:var(--ogv-primary);font-size:14px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.ogv-heading{max-width:720px;margin:0 auto 56px;text-align:center}.ogv-heading h2{margin:0;color:var(--ogv-ink);font-size:46px;font-weight:700;line-height:1.15;letter-spacing:-.025em}.ogv-heading p{max-width:630px;margin:20px auto 0;font-size:18px;line-height:28px}
body:has(.ogv-home) .navbar{min-height:67px;margin:0;border:0;border-radius:0;background:#fff;box-shadow:none}body:has(.ogv-home) .navbar>.container{width:100%;max-width:none;padding:0 24px}body:has(.ogv-home) .navbar-brand{height:auto;padding:19px 0;color:var(--ogv-primary);font-size:22px;font-weight:700;line-height:28px}body:has(.ogv-home) .navbar-nav>li>a{padding:23px 22px;color:var(--ogv-ink);font-size:16px;line-height:21px}body:has(.ogv-home) .navbar-nav>.active>a,
body:has(.ogv-home) .navbar-nav>.active>a:hover{background:transparent;color:var(--ogv-primary)}
.ogv-hero{padding:54px 0 0;background:#fff;text-align:center}.ogv-hero__container{width:100%;max-width:1320px;padding:0 12px}.ogv-hero h1{margin:0;color:var(--ogv-ink);font-size:60px;font-weight:700;line-height:1.2;letter-spacing:-.02em}.ogv-hero__lead{max-width:790px;margin:36px auto 0;font-size:20px;font-weight:500;line-height:30px}.ogv-hero__actions{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:48px}.ogv-btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;border-radius:100px;font:700 16px/24px inherit;text-align:center;text-decoration:none!important;box-shadow:0 1px 2px rgba(16,24,40,.05);cursor:pointer;transition:transform .2s,box-shadow .2s}.ogv-btn:hover{transform:translateY(-1px);box-shadow:0 8px 24px rgba(59,0,120,.16)}.ogv-btn--primary{padding:14px 32px;border:1px solid var(--ogv-primary);background:linear-gradient(135deg,var(--ogv-deep),var(--ogv-bright));color:#fff!important}.ogv-btn--outline{padding:13px 28px;border:1px solid var(--ogv-line);background:#fff;color:var(--ogv-ink)!important}.ogv-btn--light{padding:14px 32px;border:0;background:#fff;color:var(--ogv-deep)!important}.ogv-hero__art{display:block;width:100%;margin-top:0}.ogv-hero__art img{display:block;width:100%;height:auto;margin:0 auto}
.ogv-trust{padding:76px 0 82px;background:#fff;text-align:center}.ogv-trust p{margin:0 0 24px;font-weight:500}.ogv-platforms{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:28px}.ogv-platforms>span{display:flex;align-items:center;gap:9px;color:var(--ogv-ink);font-size:14px;font-weight:700}.ogv-platform{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;color:#fff;font-style:normal;font-size:14px;font-weight:800}.ogv-platform--ig{background:linear-gradient(135deg,#8a3ab9,#fd1d1d,#fcb045)!important}.ogv-platform--fb{background:#1877f2!important}.ogv-platform--tk,
.ogv-platform--x{background:#111!important}.ogv-platform--tg{background:#2aabee!important}.ogv-platform--yt{background:#f00!important}
.ogv-features{background:var(--ogv-surface)}.ogv-feature-grid{display:grid;grid-template-columns:1.12fr .88fr;grid-template-rows:520px 430px;gap:24px}.ogv-feature-card{position:relative;overflow:hidden;padding:42px;border:1px solid var(--ogv-line);border-radius:32px;background:#fff;box-shadow:0 8px 30px rgba(38,13,55,.04)}.ogv-feature-card--dashboard{grid-row:span 1}.ogv-feature-card--services{background:linear-gradient(145deg,#fff 45%,#f3e7ff)}.ogv-feature-copy{position:relative;z-index:2;max-width:480px}.ogv-feature-copy>span{color:var(--ogv-primary);font-size:13px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.ogv-feature-copy h3{margin:10px 0 12px;color:var(--ogv-ink);font-size:28px;font-weight:700;line-height:1.2}.ogv-feature-copy p{margin:0;font-size:16px;line-height:25px}.ogv-dashboard-ui{position:absolute;right:-28px;bottom:-38px;display:grid;grid-template-columns:122px 1fr;width:92%;height:300px;border:1px solid #d8cce4;border-radius:24px 0 0 0;background:#fff;box-shadow:0 22px 60px rgba(59,0,120,.14);transform:rotate(-2deg)}.ogv-ui-nav{padding:28px 18px;background:linear-gradient(180deg,var(--ogv-deep),#5f149e);color:#fff}.ogv-ui-nav b{display:block;margin-bottom:30px;font-size:15px}.ogv-ui-nav i{display:block;width:72px;height:9px;margin:18px 0;border-radius:10px;background:rgba(255,255,255,.28)}.ogv-ui-main{padding:28px}.ogv-ui-top{display:flex;justify-content:space-between}.ogv-ui-top span{width:32%;height:12px;border-radius:10px;background:#eee8f3}.ogv-ui-stats{display:flex;gap:10px;margin:24px 0}.ogv-ui-stats i{flex:1;height:58px;border-radius:12px;background:linear-gradient(145deg,#f7f1ff,#eee0ff)}.ogv-ui-chart{display:flex;align-items:flex-end;gap:9px;height:105px;padding:12px;border-radius:14px;background:#fbf8fd}.ogv-ui-chart span{flex:1;border-radius:6px 6px 2px 2px;background:linear-gradient(var(--ogv-bright),var(--ogv-deep))}.ogv-ui-chart span:nth-child(1){height:31%}.ogv-ui-chart span:nth-child(2){height:50%}.ogv-ui-chart span:nth-child(3){height:42%}.ogv-ui-chart span:nth-child(4){height:78%}.ogv-ui-chart span:nth-child(5){height:64%}.ogv-ui-chart span:nth-child(6){height:92%}.ogv-ui-chart span:nth-child(7){height:82%}.ogv-wallet-ui{position:absolute;right:34px;bottom:32px;left:34px;padding:26px;border-radius:24px;background:linear-gradient(135deg,var(--ogv-deep),var(--ogv-bright));color:#fff;box-shadow:0 20px 40px rgba(86,17,139,.25)}.ogv-wallet-ui span{display:block;font-size:13px;opacity:.75}.ogv-wallet-ui strong{display:block;margin:4px 0 18px;font-size:30px}.ogv-wallet-ui button{padding:9px 16px;border:0;border-radius:20px;background:#fff;color:var(--ogv-deep);font-weight:800}.ogv-wallet-ui div{display:flex;gap:8px;margin-top:20px}.ogv-wallet-ui i{display:block;width:28%;height:7px;border-radius:8px;background:rgba(255,255,255,.35)}.ogv-mini-chart{position:absolute;right:36px;bottom:40px;left:36px;display:flex;align-items:flex-end;gap:13px;height:175px;padding:22px;border-radius:22px;background:linear-gradient(180deg,#faf6ff,#f2e8ff)}.ogv-mini-chart span{flex:1;border-radius:8px 8px 3px 3px;background:linear-gradient(var(--ogv-bright),var(--ogv-deep))}.ogv-service-cloud{position:absolute;right:18px;bottom:28px;left:18px;height:180px}.ogv-service-cloud i{position:absolute;display:grid;place-items:center;width:64px;height:64px;border:8px solid #fff;border-radius:50%;color:#fff;font-style:normal;font-weight:900;box-shadow:0 12px 28px rgba(26,20,29,.13)}.ogv-service-cloud i:nth-child(1){left:6%;bottom:12px}.ogv-service-cloud i:nth-child(2){left:29%;bottom:78px}.ogv-service-cloud i:nth-child(3){left:48%;bottom:18px}.ogv-service-cloud i:nth-child(4){right:17%;bottom:91px}.ogv-service-cloud i:nth-child(5){right:1%;bottom:24px}
.ogv-why{background:#fff}.ogv-benefit-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.ogv-benefit-grid article{padding:30px 26px;border:1px solid var(--ogv-line);border-radius:24px;background:#fff;transition:transform .2s,box-shadow .2s}.ogv-benefit-grid article:hover{transform:translateY(-5px);box-shadow:0 18px 42px rgba(59,0,120,.09)}.ogv-benefit-grid i{display:grid;place-items:center;width:52px;height:52px;border-radius:15px;background:var(--ogv-pale);color:var(--ogv-primary);font-style:normal;font-size:21px}.ogv-benefit-grid h3{margin:24px 0 10px;color:var(--ogv-ink);font-size:20px}.ogv-benefit-grid p{margin:0;font-size:15px;line-height:24px}
.ogv-audiences{background:var(--ogv-surface)}.ogv-audience-list{display:flex;flex-direction:column;gap:112px}.ogv-audience-row{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:88px}.ogv-audience-row--reverse .ogv-audience-art{order:2}.ogv-audience-art{min-height:500px;border-radius:32px;background-image:url('https://storage.perfectcdn.com/1k3ejy/74bxklc1s8lr3fau.png');background-repeat:no-repeat;background-size:200% 200%;box-shadow:0 24px 60px rgba(41,12,56,.12)}.ogv-audience-art--streamer{background-position:0 0}.ogv-audience-art--musician{background-position:100% 0}.ogv-audience-art--business{background-position:0 100%}.ogv-audience-art--leader{background-position:100% 100%}.ogv-audience-copy>span{color:var(--ogv-primary);font-size:14px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.ogv-audience-copy h3{margin:14px 0 18px;color:var(--ogv-ink);font-size:38px;line-height:1.18;letter-spacing:-.02em}.ogv-audience-copy>p{margin:0 0 22px;font-size:17px;line-height:27px}.ogv-audience-copy ul{margin:0 0 28px;padding:0;list-style:none}.ogv-audience-copy li{position:relative;margin:13px 0;padding-left:30px;color:var(--ogv-ink);font-weight:600}.ogv-audience-copy li:before{content:"\2713";position:absolute;left:0;top:1px;display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--ogv-pale);color:var(--ogv-primary);font-size:12px}.ogv-text-link{padding:0;border:0;background:transparent;color:var(--ogv-primary);font-size:16px;font-weight:800;cursor:pointer}.ogv-text-link b{display:inline-block;margin-left:8px;transition:transform .2s}.ogv-text-link:hover b{transform:translateX(5px)}
.ogv-testimonials{background:#fff}.ogv-review-track{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.ogv-review-track article{display:flex;flex-direction:column;min-height:290px;padding:32px;border:1px solid var(--ogv-line);border-radius:26px;background:#fff;box-shadow:0 8px 28px rgba(30,14,38,.04)}.ogv-stars{color:var(--ogv-gold);font-size:19px;letter-spacing:3px}.ogv-review-track p{flex:1;margin:26px 0;color:var(--ogv-ink);font-size:18px;line-height:29px}.ogv-review-track footer{display:flex;flex-direction:column}.ogv-review-track footer b{color:var(--ogv-ink)}.ogv-review-track footer span{font-size:14px}
.ogv-faq{background:var(--ogv-surface)}.ogv-faq-shell{max-width:900px}.ogv-faq-list{border-top:1px solid var(--ogv-line)}.ogv-faq-list details{border-bottom:1px solid var(--ogv-line)}.ogv-faq-list summary{position:relative;padding:25px 54px 25px 0;color:var(--ogv-ink);font-size:18px;font-weight:700;list-style:none;cursor:pointer}.ogv-faq-list summary::-webkit-details-marker{display:none}.ogv-faq-list summary i:before,
.ogv-faq-list summary i:after{content:"";position:absolute;top:50%;right:8px;width:16px;height:2px;border-radius:2px;background:var(--ogv-primary)}.ogv-faq-list summary i:after{transform:rotate(90deg);transition:transform .2s}.ogv-faq-list details[open] summary i:after{transform:rotate(0)}.ogv-faq-list details p{margin:-5px 56px 26px 0;font-size:16px;line-height:26px}
.ogv-final-cta{position:relative;overflow:hidden;padding:96px 0;background:linear-gradient(135deg,var(--ogv-deep),var(--ogv-bright));color:#fff}.ogv-final-cta:before{content:"";position:absolute;top:-250px;right:-180px;width:620px;height:620px;border:1px solid rgba(255,255,255,.15);border-radius:50%;box-shadow:0 0 0 90px rgba(255,255,255,.03),0 0 0 180px rgba(255,255,255,.025)}.ogv-final-cta .ogv-shell{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:70px}.ogv-cta-copy{position:relative;z-index:2}.ogv-cta-copy>span{font-size:14px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;opacity:.8}.ogv-cta-copy h2{max-width:580px;margin:16px 0 20px;font-size:46px;line-height:1.12;letter-spacing:-.03em}.ogv-cta-copy p{max-width:550px;margin:0 0 32px;font-size:18px;line-height:28px;opacity:.83}.ogv-cta-ui{position:relative;height:410px}.ogv-cta-phone{position:absolute;top:0;left:50%;width:250px;height:430px;padding:42px 24px 24px;border:8px solid #fff;border-radius:42px;background:#fff;color:var(--ogv-ink);box-shadow:0 30px 70px rgba(25,0,48,.35);transform:translateX(-50%) rotate(5deg)}.ogv-cta-phone>i{position:absolute;top:12px;left:50%;width:75px;height:18px;border-radius:20px;background:var(--ogv-ink);transform:translateX(-50%)}.ogv-cta-phone>b{display:block;margin-top:14px;font-size:14px}.ogv-cta-phone>strong{display:block;margin:18px 0;color:var(--ogv-primary);font-size:34px}.ogv-cta-bars{display:flex;align-items:flex-end;gap:8px;height:120px;padding:16px;border-radius:18px;background:#f6effd}.ogv-cta-bars span{flex:1;border-radius:6px;background:linear-gradient(var(--ogv-bright),var(--ogv-deep))}.ogv-cta-bars span:nth-child(1){height:35%}.ogv-cta-bars span:nth-child(2){height:50%}.ogv-cta-bars span:nth-child(3){height:64%}.ogv-cta-bars span:nth-child(4){height:82%}.ogv-cta-bars span:nth-child(5){height:96%}.ogv-cta-phone em{display:block;margin-top:22px;padding:12px;border-radius:12px;background:#ecfff3;color:#14804a;font-size:12px;font-style:normal;font-weight:700}.ogv-cta-float{position:absolute;padding:14px 18px;border-radius:14px;background:#fff;color:var(--ogv-ink);font-size:13px;font-weight:800;box-shadow:0 16px 35px rgba(25,0,48,.24)}.ogv-cta-float--one{top:85px;left:3%}.ogv-cta-float--two{right:1%;bottom:80px;color:var(--ogv-primary)}
.ogv-footer{padding:76px 0 30px;background:#160724;color:#bcaec7}.ogv-footer-grid{display:grid;grid-template-columns:2fr repeat(3,1fr);gap:60px}.ogv-footer-brand a{color:#fff;font-size:26px;font-weight:800;text-decoration:none}.ogv-footer-brand p{max-width:330px;margin:18px 0 0;line-height:25px}.ogv-footer-grid h3{margin:5px 0 18px;color:#fff;font-size:15px}.ogv-footer-grid div:not(.ogv-footer-brand){display:flex;flex-direction:column;align-items:flex-start;gap:12px}.ogv-footer-grid a,
.ogv-footer-grid button,
.ogv-footer-grid span{padding:0;border:0;background:none;color:#bcaec7;font:inherit;text-decoration:none;cursor:pointer}.ogv-footer-grid a:hover,
.ogv-footer-grid button:hover{color:#fff}.ogv-footer-bottom{display:flex;justify-content:space-between;margin-top:60px;padding-top:24px;border-top:1px solid rgba(255,255,255,.1);font-size:13px}
.ogv-login-modal{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:24px;visibility:hidden;opacity:0;transition:opacity .2s,visibility .2s}.ogv-login-modal.is-open{visibility:visible;opacity:1}.ogv-modal-backdrop{position:absolute;inset:0;border:0;background:rgba(17,5,27,.68);backdrop-filter:blur(6px)}.ogv-login-card{position:relative;z-index:1;width:100%;max-width:480px;max-height:calc(100vh - 48px);overflow:auto;padding:34px;border:1px solid var(--ogv-line);border-radius:30px;background:#fff;box-shadow:0 30px 90px rgba(16,0,28,.32);transform:translateY(16px) scale(.98);transition:transform .2s}.ogv-login-modal.is-open .ogv-login-card{transform:none}.ogv-modal-close{position:absolute;top:15px;right:18px;z-index:2;width:36px;height:36px;border:0;border-radius:50%;background:#f5f1f7;color:var(--ogv-ink);font-size:24px;line-height:30px}.ogv-login-card__header{margin-bottom:27px;text-align:center}.ogv-login-mark{display:grid;place-items:center;width:48px;height:48px;margin:0 auto 15px;border-radius:16px;background:linear-gradient(135deg,var(--ogv-deep),var(--ogv-bright));color:#fff;font-size:22px;font-weight:900}.ogv-login-card__header h2{margin:0 0 8px;color:var(--ogv-ink);font-size:28px;line-height:34px}.ogv-login-card__header p{margin:0}.ogv-google-signin{width:100%;min-height:40px;margin-bottom:18px;overflow:hidden}.ogv-google-signin>div{width:100%!important}.ogv-divider{display:flex;align-items:center;margin-bottom:18px;color:#98a2b3}.ogv-divider:before,
.ogv-divider:after{content:"";flex:1;height:1px;background:var(--ogv-line)}.ogv-divider span{padding:0 16px}.ogv-field{display:flex;flex-direction:column;gap:8px;margin:0 0 17px}.ogv-field .control-label{margin:0;color:var(--ogv-ink);font-size:14px;font-weight:700}.ogv-field__input{position:relative;display:flex}.ogv-field__input svg{position:absolute;top:50%;left:16px;z-index:1;width:20px;height:20px;fill:none;stroke:var(--ogv-ink);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;transform:translateY(-50%);pointer-events:none}.ogv-field__input .form-control{width:100%;height:50px;padding:12px 16px 12px 48px;border:1px solid var(--ogv-line);border-radius:12px;background:#fff;box-shadow:none}.ogv-field__input .form-control:focus{border-color:var(--ogv-primary);box-shadow:0 0 0 4px rgba(148,58,248,.12)}.ogv-forgot{position:static!important;margin-top:-1px}.ogv-forgot a,
.ogv-field .forgot-password{position:static!important;color:var(--ogv-muted);font-size:14px;text-decoration:none}.ogv-captcha{margin-bottom:18px;overflow:hidden}.ogv-submit{display:flex;align-items:center;justify-content:center;width:100%;height:52px;margin-top:5px;border:0;border-radius:100px;background:linear-gradient(135deg,var(--ogv-deep),var(--ogv-bright));color:#fff;font-size:17px;font-weight:700}.ogv-submit:hover,
.ogv-submit:focus{background:linear-gradient(135deg,#310064,#8732db);color:#fff}.ogv-login-footer{margin:14px 0 0;text-align:center}.ogv-login-footer a{color:var(--ogv-primary);text-decoration:underline}.ogv-alert{border:0;border-radius:12px;font-size:14px}.ogv-modal-open{overflow:hidden}.ogv-auth-text{margin-top:32px;margin-bottom:32px;padding:24px;border:1px solid var(--ogv-line);border-radius:24px;background:#fff}.ogv-home--rtl{direction:rtl}.ogv-home--rtl .ogv-field__input svg{right:16px;left:auto}.ogv-home--rtl .ogv-field__input .form-control{padding-right:48px;padding-left:16px}
@media(max-width:991px){.ogv-section{padding:88px 0}.ogv-heading h2{font-size:40px}.ogv-feature-grid{grid-template-columns:1fr;grid-template-rows:500px 430px 430px 430px}.ogv-benefit-grid{grid-template-columns:repeat(2,1fr)}.ogv-audience-row{gap:45px}.ogv-audience-art{min-height:410px}.ogv-audience-copy h3{font-size:32px}.ogv-final-cta .ogv-shell{gap:25px}.ogv-footer-grid{grid-template-columns:2fr 1fr 1fr}.ogv-footer-grid>div:last-child{display:none!important}}
@media(max-width:767px){body:has(.ogv-home) .navbar{min-height:63px}body:has(.ogv-home) .navbar>.container{padding:0 16px}body:has(.ogv-home) .navbar-brand{padding:17px 0;font-size:18px}body:has(.ogv-home) .navbar-toggle{margin:12px 0;padding:9px;border-color:var(--ogv-line)}.ogv-shell{padding-right:20px;padding-left:20px}.ogv-section{padding:76px 0}.ogv-heading{margin-bottom:40px}.ogv-heading h2{font-size:32px;line-height:1.18}.ogv-heading p{margin-top:16px;font-size:16px;line-height:24px}.ogv-hero{padding-top:36px}.ogv-hero__container{padding:0 12px}.ogv-hero h1{font-size:36px;line-height:43.2px}.ogv-hero__lead{margin-top:40px;font-size:18px;line-height:27px}.ogv-hero__actions{flex-direction:column;margin-top:48px}.ogv-hero__art{width:calc(100% + 24px);margin:46px -12px 0}.ogv-trust{padding:0 12px 70px}.ogv-platforms{gap:16px 18px}.ogv-platforms>span{font-size:12px}.ogv-platform{width:26px;height:26px}.ogv-feature-grid{display:block}.ogv-feature-card{min-height:430px;margin-bottom:18px;padding:28px 24px;border-radius:24px}.ogv-feature-card--dashboard{min-height:485px}.ogv-feature-copy h3{font-size:24px}.ogv-dashboard-ui{right:-75px;width:122%;height:260px}.ogv-wallet-ui{right:22px;bottom:24px;left:22px}.ogv-mini-chart{right:22px;bottom:25px;left:22px;height:170px}.ogv-service-cloud{bottom:24px}.ogv-benefit-grid{grid-template-columns:1fr}.ogv-benefit-grid article{padding:26px}.ogv-audience-list{gap:76px}.ogv-audience-row{display:flex;flex-direction:column;gap:32px}.ogv-audience-row--reverse .ogv-audience-art{order:0}.ogv-audience-art{width:100%;min-height:350px;border-radius:24px}.ogv-audience-copy h3{font-size:29px}.ogv-review-track{display:flex;width:100%;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:14px}.ogv-review-track article{flex:0 0 88%;min-height:280px;scroll-snap-align:start}.ogv-faq-list summary{padding:22px 42px 22px 0;font-size:16px}.ogv-faq-list details p{margin-right:32px}.ogv-final-cta{padding:76px 0}.ogv-final-cta .ogv-shell{display:block;text-align:center}.ogv-cta-copy h2{font-size:34px}.ogv-cta-ui{height:365px;margin-top:54px}.ogv-cta-phone{width:220px;height:380px}.ogv-cta-float--one{left:-5px}.ogv-cta-float--two{right:-4px}.ogv-footer{padding-top:60px}.ogv-footer-grid{grid-template-columns:1fr 1fr;gap:42px 24px}.ogv-footer-brand{grid-column:1/-1}.ogv-footer-grid>div:last-child{display:flex!important}.ogv-footer-bottom{flex-direction:column;gap:8px}.ogv-login-modal{padding:12px}.ogv-login-card{max-height:calc(100vh - 24px);padding:28px 18px;border-radius:24px}.ogv-login-card__header h2{font-size:24px}.ogv-field__input .form-control{height:46px}.ogv-submit{height:48px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.ogv-btn,
.ogv-benefit-grid article,
.ogv-login-card{transition:none}}
.ogv-platform{font-weight:700}.ogv-platform svg,
.ogv-service-cloud svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.ogv-platform .ogv-icon-fill,
.ogv-service-cloud .ogv-icon-fill{fill:currentColor;stroke:none}.ogv-service-cloud i{font-weight:400}.ogv-service-cloud svg{width:26px;height:26px;stroke-width:1.8}.ogv-benefit-grid i{font-size:0}.ogv-benefit-grid i svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.ogv-platform img{display:block;width:30px;height:30px;object-fit:contain}.ogv-platform--x svg{width:26px;height:26px;color:#111}.ogv-service-cloud i{background:#fff!important}.ogv-service-cloud img{display:block;width:34px;height:34px;object-fit:contain}.ogv-benefit-grid re-icon{display:block;color:var(--ogv-primary)}.ogv-stars{display:flex;gap:4px;letter-spacing:0}.ogv-stars re-icon{display:block;color:var(--ogv-gold)}.ogv-cta-float--one{display:flex;align-items:center;gap:7px}.ogv-cta-float--one re-icon{display:block;color:#16a05d}
.ogv-feature-card{padding-bottom:0}.ogv-feature-visual{position:absolute;right:0;bottom:0;left:0;height:63%;background-repeat:no-repeat;background-position:center bottom}.ogv-feature-visual--dashboard{background-image:url('https://storage.perfectcdn.com/1k3ejy/t9oq3ni6krbd09lo.png');background-size:cover}.ogv-feature-visual--wallet{background-image:url('https://storage.perfectcdn.com/1k3ejy/y7m7b0p89mkc78dk.png');background-size:88% auto;background-position:center bottom 24px}.ogv-feature-visual--analytics{background-image:url('https://storage.perfectcdn.com/1k3ejy/bf9tm01gn3annmrk.png');background-size:auto 82%;background-position:center bottom 22px}.ogv-feature-visual--services{background-image:url('https://storage.perfectcdn.com/1k3ejy/s18tht4n7ab4xbdt.png');background-size:cover}.ogv-cta-product{position:relative;z-index:1;width:100%;height:540px;background:url('https://storage.perfectcdn.com/1k3ejy/2j6w3xg8q5kewawb.png') center/contain no-repeat;filter:drop-shadow(0 28px 48px rgba(28,0,54,.22))}
@media(max-width:767px){.ogv-feature-visual{height:61%}.ogv-feature-card--dashboard .ogv-feature-visual{height:64%}.ogv-final-cta .ogv-cta-product{height:520px;margin-top:30px}.ogv-final-cta .ogv-cta-ui{display:none}}
@media(max-width:767px){
 body:has(.ogv-home) .navbar{position:relative;top:auto;z-index:1040;width:100%;height:63px;min-height:63px;background:#fff}
 body:has(.ogv-home) .navbar>.container{width:100%;height:63px;padding:0 24px}
 body:has(.ogv-home) .navbar-header{width:100%;height:63px;margin:0!important}
 body:has(.ogv-home) .navbar-brand{display:flex;align-items:center;width:130px;min-width:130px;height:63px;margin-left:0!important;padding:0;overflow:visible;color:transparent!important;font-size:0;line-height:1;white-space:nowrap}
 body:has(.ogv-home) .navbar-brand:before{content:"OgaViral";display:block;background:linear-gradient(135deg,var(--ogv-deep),var(--ogv-bright));-webkit-background-clip:text;background-clip:text;color:transparent;font-size:24px;font-weight:800;line-height:1.2;letter-spacing:-.04em;white-space:nowrap}
 body:has(.ogv-home) .navbar-toggle{position:relative;z-index:1054;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;width:54px;height:38px;margin:12px 0;padding:4px 12px;border:0;border-radius:10px;background:transparent!important;box-shadow:none}
 body:has(.ogv-home) .navbar-toggle .icon-bar{display:block;width:24px;height:1.5px;margin:0!important;border-radius:3px;background:var(--ogv-ink);transition:transform .22s ease,opacity .18s ease}
 body:has(.ogv-home) .navbar-toggle:not(.collapsed){position:fixed;top:12px;right:14px;margin:0}
 body:has(.ogv-home) .navbar-toggle:not(.collapsed) .icon-bar:nth-child(2){transform:translateY(6.5px) rotate(45deg)}
 body:has(.ogv-home) .navbar-toggle:not(.collapsed) .icon-bar:nth-child(3){opacity:0}
 body:has(.ogv-home) .navbar-toggle:not(.collapsed) .icon-bar:nth-child(4){transform:translateY(-6.5px) rotate(-45deg)}
 body:has(.ogv-home) .navbar:has(#navbar.in):after{content:"";position:fixed;inset:0;z-index:1050;background:rgba(20,17,23,.48);backdrop-filter:blur(1px)}
 body:has(.ogv-home) #navbar.navbar-collapse{position:fixed!important;top:0;right:0;bottom:0;z-index:1052;display:block!important;visibility:hidden;width:min(384px,84vw);height:100vh!important;margin:0!important;padding:82px 24px 112px;border:0;background:#fff;box-shadow:-18px 0 50px rgba(24,10,32,.14);overflow-y:auto;transform:translateX(100%);transition:transform .24s ease,visibility .24s ease}
 body:has(.ogv-home) #navbar.navbar-collapse.in{visibility:visible;transform:translateX(0)}
 body:has(.ogv-home) #navbar:before{content:"OgaViral";position:absolute;top:20px;left:24px;background:linear-gradient(135deg,var(--ogv-deep),var(--ogv-bright));-webkit-background-clip:text;background-clip:text;color:transparent;font-size:25px;font-weight:800;line-height:32px;letter-spacing:-.04em}
 body:has(.ogv-home) #navbar .navbar-nav{float:none!important;margin:0}
 body:has(.ogv-home) #navbar .navbar-nav>li{float:none;margin:0}
 body:has(.ogv-home) #navbar .navbar-nav>li>a{display:block;padding:13px 4px;background:transparent!important;color:var(--ogv-ink);font-size:18px;font-weight:500;line-height:25px}
 body:has(.ogv-home) #navbar .navbar-nav>.active>a{color:var(--ogv-primary)}
 body:has(.ogv-home) #navbar .navbar-nav>li:last-child{position:absolute;right:24px;bottom:22px;left:24px}
 body:has(.ogv-home) #navbar .navbar-nav>li:last-child>a{display:flex;align-items:center;justify-content:center;min-height:48px;padding:12px 24px;border-radius:100px;background:linear-gradient(135deg,var(--ogv-deep),var(--ogv-bright))!important;color:#fff!important;font-weight:700;box-shadow:0 8px 24px rgba(59,0,120,.2)}
}

/* OgaViral /services — live pricing catalogue, modelled on MoreThanPanel's hierarchy. */

/* Desktop greeting follows the quiet Famsup header rhythm. */
@media(min-width:768px){
  .ogv-app-topbar{height:86px}
  .ogv-app-topbar__title .ogv-app-greeting h1{margin:0 0 4px;font-size:21px;line-height:1.15;letter-spacing:-.035em}
  .ogv-app-topbar__title .ogv-app-greeting>span{display:block;color:#817684;font-size:11px;font-weight:500;line-height:1.35;letter-spacing:0;text-transform:none}
}

/* OgaViral authenticated workspace */
body.ogv-app-body{margin:0!important;padding:0!important;min-height:100vh;overflow-x:hidden;background:#f7f4fa;color:#19151f;font-family:Satoshi,Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}
.ogv-app-body *{box-sizing:border-box}
.ogv-app-shell{min-height:100vh}
.ogv-app-sidebar{position:fixed;inset:0 auto 0 0;z-index:1040;display:flex;width:272px;min-height:100vh;flex-direction:column;padding:24px 18px 20px;border-right:1px solid #eee8f1;background:#fff;box-shadow:8px 0 34px rgba(40,17,57,.035)}
.ogv-app-sidebar__head{display:flex;align-items:center;justify-content:space-between;padding:3px 9px 27px}
.ogv-app-logo{display:inline-flex;align-items:center;text-decoration:none!important}
.ogv-app-logo img{display:block;max-width:154px;max-height:42px;object-fit:contain}
.ogv-app-logo span{font-size:27px;font-weight:850;letter-spacing:-1.4px;background:linear-gradient(110deg,#3b0078 8%,#943af8 64%,#b25cff);-webkit-background-clip:text;background-clip:text;color:transparent}
.ogv-app-sidebar__close,
.ogv-app-menu{display:none;border:0;background:transparent;color:#241a2b}
.ogv-app-nav{display:flex;min-height:0;flex:1;flex-direction:column;gap:6px;overflow-y:auto;padding:0 4px 18px}
.ogv-app-nav__label{padding:0 13px 8px;color:#a59baa;font-size:10px;font-weight:800;letter-spacing:.15em;text-transform:uppercase}
.ogv-app-nav__link{position:relative;display:flex;min-height:48px;align-items:center;gap:13px;padding:11px 13px;border-radius:14px;color:#6e6473!important;font-size:14px;font-weight:700;text-decoration:none!important;transition:.2s ease}
.ogv-app-nav__link:hover{background:#faf7fc;color:#5207a1!important;transform:translateX(2px)}
.ogv-app-nav__link.is-active{background:linear-gradient(105deg,#f0e2ff,#f8f1ff);color:#6509bd!important;box-shadow:inset 0 0 0 1px rgba(148,58,248,.08),0 7px 18px rgba(107,31,170,.07)}
.ogv-app-nav__link.is-active:before{position:absolute;top:12px;bottom:12px;left:-4px;width:3px;border-radius:5px;background:#943af8;content:""}
.ogv-app-nav__icon{display:grid;width:22px;height:22px;place-items:center;font-size:17px}
.ogv-app-sidebar__support{margin:7px 4px 17px;padding:17px;border:1px solid #eadcf7;border-radius:18px;background:linear-gradient(145deg,#fbf7ff,#f2e7ff);color:#5a386c}
.ogv-app-sidebar__support re-icon{color:#943af8}
.ogv-app-sidebar__support strong,
.ogv-app-sidebar__support span{display:block}
.ogv-app-sidebar__support strong{margin:10px 0 4px;color:#2c1539;font-size:13px}
.ogv-app-sidebar__support span{font-size:11px;line-height:1.55}
.ogv-app-sidebar__support a{display:inline-block;margin-top:11px;color:#6e0ac6;font-size:12px;font-weight:800;text-decoration:none}
.ogv-app-sidebar__account{padding:4px}
.ogv-app-sidebar__account a{display:block;padding:8px 12px;color:#776d7b;font-size:12px;font-weight:700;text-decoration:none}
.ogv-app-main{display:flex;min-width:0;min-height:100vh;margin-left:272px;flex-direction:column}
.ogv-app-topbar{position:sticky;top:0;z-index:1020;display:flex;height:78px;align-items:center;justify-content:space-between;padding:0 34px;border-bottom:1px solid rgba(231,224,235,.9);background:rgba(255,255,255,.9);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.ogv-app-topbar__title{display:flex;align-items:center;gap:12px}
.ogv-app-topbar__title>span{font-size:16px;font-weight:800;letter-spacing:-.02em}
.ogv-app-topbar__actions{display:flex;align-items:center;gap:10px}
.ogv-app-icon-button{display:grid;width:42px;height:42px;place-items:center;border:1px solid #ebe4ef;border-radius:13px;background:#fff;color:#5b4e61!important;text-decoration:none!important;box-shadow:0 5px 14px rgba(39,17,50,.04)}
.ogv-app-balance,
.ogv-app-currency>a{display:flex;height:42px;align-items:center;padding:0 15px;border:1px solid #ebe4ef;border-radius:13px;background:#fff;color:#4a3654!important;font-size:12px;font-weight:800;text-decoration:none!important;box-shadow:0 5px 14px rgba(39,17,50,.04)}
.ogv-app-currency .dropdown-menu{right:0;left:auto;padding:8px;border:1px solid #ede5f1;border-radius:14px;box-shadow:0 18px 48px rgba(40,16,55,.14)}
.ogv-app-user{display:flex;height:44px;align-items:center;gap:9px;padding:0 12px 0 5px;border-radius:15px;color:#322839!important;text-decoration:none!important}
.ogv-app-user__avatar{display:grid;width:36px;height:36px;place-items:center;border-radius:12px;background:linear-gradient(135deg,#3b0078,#943af8);color:#fff;box-shadow:0 7px 18px rgba(103,12,187,.2)}
.ogv-app-user__meta{display:flex;flex-direction:column;max-width:130px}
.ogv-app-user__meta strong{overflow:hidden;color:#2c2231;font-size:12px;text-overflow:ellipsis;white-space:nowrap}
.ogv-app-user__meta small{color:#a095a5;font-size:10px}
.ogv-app-content{width:100%;max-width:1320px;margin:0 auto;padding:36px 38px 45px}
.ogv-app-footer{display:flex;width:100%;max-width:1320px;align-items:center;justify-content:space-between;margin:auto auto 0;padding:25px 38px 30px;color:#a196a6;font-size:11px}
.ogv-app-overlay{display:none}

.ogv-dashboard-page{width:100%}
.ogv-dashboard-welcome{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:27px}
.ogv-dashboard-eyebrow{display:block;margin-bottom:7px;color:#943af8;font-size:10px;font-weight:850;letter-spacing:.15em;text-transform:uppercase}
.ogv-dashboard-welcome h1{margin:0;color:#1e1722;font-size:clamp(28px,3vw,39px);font-weight:780;letter-spacing:-.045em;line-height:1.08}
.ogv-dashboard-welcome p{max-width:620px;margin:9px 0 0;color:#807583;font-size:14px;line-height:1.65}
.ogv-dashboard-primary-link{display:inline-flex;min-height:44px;flex:0 0 auto;align-items:center;justify-content:center;gap:8px;padding:0 17px;border-radius:13px;background:#1d1024;color:#fff!important;font-size:12px;font-weight:800;text-decoration:none!important;box-shadow:0 11px 25px rgba(35,17,43,.16);transition:.2s ease}
.ogv-dashboard-primary-link:hover{transform:translateY(-2px);box-shadow:0 15px 28px rgba(35,17,43,.2)}
.ogv-dashboard-stats{display:grid;grid-template-columns:1.08fr .96fr .96fr;gap:18px;margin-bottom:24px}
.ogv-dashboard-stat{position:relative;min-height:164px;overflow:hidden;padding:24px;border:1px solid #ece5ef;border-radius:24px;background:#fff;box-shadow:0 13px 35px rgba(47,19,63,.055),0 2px 5px rgba(47,19,63,.025)}
.ogv-dashboard-stat:after{position:absolute;right:-29px;bottom:-49px;width:137px;height:137px;border:1px solid rgba(148,58,248,.15);border-radius:42px;content:"";transform:rotate(24deg)}
.ogv-dashboard-stat__icon{display:grid;width:40px;height:40px;place-items:center;margin-bottom:23px;border-radius:13px;background:#f4e9ff;color:#7d18d9}
.ogv-dashboard-stat>span{display:block;margin-bottom:5px;color:#95899a;font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.ogv-dashboard-stat strong{position:relative;z-index:1;display:block;color:#281d2e;font-size:24px;font-weight:800;letter-spacing:-.04em}
.ogv-dashboard-stat--balance{border-color:#4d078d;background:linear-gradient(140deg,#31005e 0%,#5900a3 52%,#8730dc 100%);color:#fff;box-shadow:0 18px 38px rgba(73,0,134,.2)}
.ogv-dashboard-stat--balance:before{position:absolute;top:-65px;right:-25px;width:190px;height:190px;border-radius:50%;background:radial-gradient(circle,rgba(230,199,255,.35),transparent 68%);content:""}
.ogv-dashboard-stat--balance:after{border-color:rgba(255,255,255,.18)}
.ogv-dashboard-stat--balance .ogv-dashboard-stat__icon{background:rgba(255,255,255,.15);color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.16)}
.ogv-dashboard-stat--balance>span{color:rgba(255,255,255,.66)}
.ogv-dashboard-stat--balance strong{color:#fff;font-size:27px}
.ogv-dashboard-stat--status{background:linear-gradient(145deg,#fff,#f8efff)}
.ogv-dashboard-stat--orders{background:linear-gradient(145deg,#fff,#faf8fb)}
.ogv-dashboard-stat__actions{position:absolute;right:21px;bottom:21px;z-index:2;display:flex;gap:7px}
.ogv-dashboard-stat__actions a{display:grid;width:32px;height:32px;place-items:center;border-radius:10px;background:rgba(255,255,255,.14);color:#fff!important;text-decoration:none!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.18)}

.ogv-order-layout{display:grid;grid-template-columns:minmax(0,1fr) 292px;align-items:start;gap:22px}
.ogv-order-card__header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding-bottom:22px;border-bottom:1px solid #f0eaf2}
.ogv-order-card__header span,
.ogv-order-aside__kicker{display:block;margin-bottom:5px;color:#943af8;font-size:10px;font-weight:850;letter-spacing:.13em;text-transform:uppercase}
.ogv-order-card__header h3{margin:0;color:#251a2a;font-size:21px;font-weight:800;letter-spacing:-.035em}
.ogv-order-card__header p{margin:5px 0 0;color:#928795;font-size:12px}
.ogv-order-card__step{display:grid;width:40px;height:40px;flex:0 0 auto;place-items:center;border:1px solid #ebdcf9;border-radius:13px;background:#f8f0ff;color:#7c17d5;font-size:11px;font-weight:850}
.ogv-order-filters{display:flex;gap:8px;overflow-x:auto;margin:22px 0 20px;padding-bottom:2px;scrollbar-width:none}
.ogv-order-filters::-webkit-scrollbar{display:none}
.ogv-order-filter{display:inline-flex;height:35px;flex:0 0 auto;align-items:center;gap:7px;padding:0 12px;border:1px solid #ebe4ef;border-radius:11px;background:#fff;color:#756a79;font-size:11px;font-weight:750;cursor:pointer;transition:.2s ease}
.ogv-order-filter:hover,
.ogv-order-filter.is-active{border-color:#ead8ff;background:#f5ebff;color:#7211ca}
.ogv-order-filter re-icon{color:#943af8}
.ogv-order-form .form-group{margin-bottom:18px}
.ogv-order-form label.control-label{display:block;margin-bottom:8px;color:#493e4e;font-size:11px;font-weight:800;letter-spacing:.015em}
.ogv-order-form .form-control,
.ogv-order-form select.form-control,
.ogv-order-form .select2-selection{width:100%;height:53px;border:1px solid #e7e0ea!important;border-radius:14px!important;background:#fbfafc!important;color:#302735;font-size:13px;box-shadow:none!important;outline:0;transition:.18s ease}
.ogv-order-form .form-control{padding:0 15px}
.ogv-order-form textarea.form-control{height:auto;min-height:104px;padding-top:14px}
.ogv-order-form .form-control:focus,
.ogv-order-form .select2-container--open .select2-selection{border-color:#a959ed!important;background:#fff!important;box-shadow:0 0 0 4px rgba(148,58,248,.09)!important}
.ogv-order-form .select2-container{width:100%!important}
.ogv-order-form .select2-selection__rendered{padding:0 42px 0 15px!important;line-height:51px!important}
.ogv-order-form .select2-selection__arrow{top:13px!important;right:12px!important}
.ogv-order-search .input-wrapper,
.ogv-order-charge__input{position:relative}
.ogv-order-search .input-wrapper>re-icon,
.ogv-order-charge__input>re-icon{position:absolute;top:50%;left:15px;z-index:2;color:#a790ad;transform:translateY(-50%);pointer-events:none}
.ogv-order-search .form-control,
.ogv-order-charge .form-control{padding-left:44px}
.ogv-order-description .panel-body{padding:15px 17px;border:1px solid #ebe4ee;border-radius:14px;background:#faf8fc;color:#746a78;font-size:12px;line-height:1.65}
.ogv-order-charge{max-width:330px}
.ogv-order-terms label{display:flex!important;align-items:flex-start;gap:9px;color:#7d7281!important;font-weight:600!important;line-height:1.45}
.ogv-order-terms input{margin-top:2px;accent-color:#943af8}
.ogv-order-terms a{color:#7616ca}
.ogv-order-submit{display:flex!important;width:100%;height:53px;align-items:center;justify-content:center;gap:9px;margin-top:4px;border:0!important;border-radius:14px!important;background:linear-gradient(110deg,#3b0078,#7e1bd1 62%,#943af8)!important;color:#fff!important;font-size:13px!important;font-weight:850!important;box-shadow:0 13px 27px rgba(84,5,151,.22)!important;transition:.2s ease}
.ogv-order-submit:hover{transform:translateY(-1px);box-shadow:0 16px 31px rgba(84,5,151,.28)!important}
.ogv-order-alert{border:0;border-radius:14px;font-size:12px}
.ogv-order-aside{display:flex;flex-direction:column;gap:18px}
.ogv-dashboard-note{margin-top:22px;padding:22px 25px;border:1px solid #eae2ed;border-radius:20px;background:#fff;color:#746a78;font-size:12px;line-height:1.7;box-shadow:0 10px 28px rgba(44,17,57,.04)}

@media(max-width:1180px){
 .ogv-app-content{padding-right:27px;padding-left:27px}
 .ogv-order-layout{grid-template-columns:minmax(0,1fr) 264px}
}
@media(max-width:991px){
 .ogv-app-sidebar{width:278px;transform:translateX(-105%);box-shadow:22px 0 55px rgba(29,9,40,.18);transition:transform .25s ease}
 .ogv-app-nav-open .ogv-app-sidebar{transform:translateX(0)}
 .ogv-app-sidebar__close,
.ogv-app-menu{display:grid;width:38px;height:38px;place-items:center;border-radius:11px}
 .ogv-app-sidebar__close{background:#f8f3fb}
 .ogv-app-main{margin-left:0}
 .ogv-app-overlay{position:fixed;inset:0;z-index:1030;display:block;background:rgba(25,10,34,.35);opacity:0;visibility:hidden;backdrop-filter:blur(3px);transition:.25s ease}
 .ogv-app-nav-open .ogv-app-overlay{opacity:1;visibility:visible}
 .ogv-app-topbar{height:70px;padding:0 24px}
 .ogv-order-layout{grid-template-columns:1fr}
 .ogv-order-aside{display:grid;grid-template-columns:1fr 1fr}
 .ogv-dashboard-stats{grid-template-columns:1fr 1fr}
 .ogv-dashboard-stat--orders{grid-column:1/-1}
}
@media(max-width:767px){
 .ogv-app-topbar{height:66px;padding:0 16px}
 .ogv-app-topbar__title>span{display:none}
 .ogv-app-topbar__actions{gap:5px}
 .ogv-app-icon-button{width:38px;height:38px;border-radius:12px}
 .ogv-app-currency{display:none}
 .ogv-app-balance{height:38px;padding:0 10px;border-radius:12px;font-size:10px}
 .ogv-app-user{height:38px;padding:0}
 .ogv-app-user__avatar{width:38px;height:38px}
 .ogv-app-user__meta,
.ogv-app-user>re-icon{display:none}
 .ogv-app-content{padding:25px 17px 34px}
 .ogv-app-footer{align-items:flex-start;padding:20px 18px 26px;flex-direction:column;gap:5px}
 .ogv-dashboard-welcome{align-items:flex-start;margin-bottom:22px;flex-direction:column}
 .ogv-dashboard-welcome h1{font-size:30px}
 .ogv-dashboard-welcome p{font-size:12px}
 .ogv-dashboard-primary-link{display:none}
 .ogv-dashboard-stats{grid-template-columns:1fr;gap:13px}
 .ogv-dashboard-stat,
.ogv-dashboard-stat--orders{min-height:145px;grid-column:auto;padding:20px;border-radius:21px}
 .ogv-dashboard-stat__icon{margin-bottom:18px}
 .ogv-order-card__header h3{font-size:19px}
 .ogv-order-card__header p{max-width:220px;line-height:1.5}
 .ogv-order-form .form-control,
.ogv-order-form select.form-control,
.ogv-order-form .select2-selection{height:51px}
 .ogv-order-form .select2-selection__rendered{line-height:49px!important}
 .ogv-order-charge{max-width:none}
 .ogv-order-aside{display:flex}
}
@media(max-width:380px){
 .ogv-app-balance{display:none}
 .ogv-dashboard-welcome h1{font-size:27px}
}
.ogv-final-cta .ogv-shell{grid-template-columns:minmax(0,760px);justify-content:center;text-align:center}.ogv-final-cta .ogv-cta-copy h2,
.ogv-final-cta .ogv-cta-copy p{margin-right:auto;margin-left:auto}
@media(max-width:767px){
 .ogv-feature-card,
.ogv-feature-card--dashboard{min-height:0;margin-bottom:22px;padding:28px 24px 0}
 .ogv-feature-copy{padding-bottom:0}
 .ogv-feature-copy p{margin-bottom:0}
 .ogv-feature-visual,
.ogv-feature-card--dashboard .ogv-feature-visual{position:relative;right:auto;bottom:auto;left:auto;width:calc(100% + 48px);height:auto;margin:26px -24px 0;background-position:center bottom}
 .ogv-feature-visual--dashboard,
.ogv-feature-visual--services{aspect-ratio:2.08/1;background-size:cover}
 .ogv-feature-visual--wallet{aspect-ratio:1.55/1;background-size:88% auto;background-position:center}
 .ogv-feature-visual--analytics{aspect-ratio:1.55/1;background-size:auto 82%;background-position:center}
 .ogv-final-cta{padding:76px 0}.ogv-final-cta .ogv-shell{display:block;text-align:center}
}

/* Famsup-inspired desktop navigation */
@media(min-width:768px){
 body:has(.ogv-home) .navbar{position:relative;z-index:40;min-height:72px;margin:0;border:0;border-bottom:1px solid #f0eaf5;border-radius:0;background:rgba(255,255,255,.98);box-shadow:none}
 body:has(.ogv-home) .navbar>.container{display:flex;align-items:center;width:100%;max-width:1320px;min-height:72px;margin:0 auto;padding:0 32px}
 body:has(.ogv-home) .navbar-header{float:none;flex:0 0 auto}
 body:has(.ogv-home) .navbar-brand{display:flex;align-items:center;height:72px;padding:0;color:transparent!important;font-size:0;line-height:1}
 body:has(.ogv-home) .navbar-brand:before{content:"OgaViral";background:linear-gradient(135deg,var(--ogv-deep),var(--ogv-bright));-webkit-background-clip:text;background-clip:text;color:transparent;font-size:25px;font-weight:800;letter-spacing:-.045em}
 body:has(.ogv-home) #navbar.navbar-collapse{display:flex!important;align-items:center;flex:1;height:auto!important;padding:0;border:0;box-shadow:none}
 body:has(.ogv-home) #navbar .navbar-nav{display:flex;align-items:center;float:none!important;width:100%;margin:0}
 body:has(.ogv-home) #navbar .navbar-nav>li{float:none;margin:0 15px}
 body:has(.ogv-home) #navbar .navbar-nav>li:nth-child(2){order:1;margin-left:auto}
 body:has(.ogv-home) #navbar .navbar-nav>li:nth-child(3){order:2}
 body:has(.ogv-home) #navbar .navbar-nav>li:first-child{order:3;margin-left:auto}
 body:has(.ogv-home) #navbar .navbar-nav>li:last-child{order:4;margin-right:0;margin-left:-5px}
 body:has(.ogv-home) #navbar .navbar-nav>li>a{padding:10px 0;background:transparent!important;color:#2d2434;font-size:16px;font-weight:600;line-height:22px;transition:color .18s ease,transform .18s ease,box-shadow .18s ease}
 body:has(.ogv-home) #navbar .navbar-nav>li:nth-child(2)>a:hover,
body:has(.ogv-home) #navbar .navbar-nav>li:nth-child(3)>a:hover{color:var(--ogv-primary);transform:translateY(-1px)}
 body:has(.ogv-home) #navbar .navbar-nav>li:first-child>a{min-width:88px;padding:10px 18px;border:1px solid #e8dff0;border-radius:100px;background:#fff!important;color:#33283b!important;text-align:center;box-shadow:0 3px 12px rgba(38,13,55,.04)}
 body:has(.ogv-home) #navbar .navbar-nav>li:first-child>a:hover{border-color:#d7c5e7;box-shadow:0 7px 18px rgba(38,13,55,.08)}
 body:has(.ogv-home) #navbar .navbar-nav>li:last-child>a{min-width:96px;padding:11px 20px;border-radius:100px;background:linear-gradient(135deg,var(--ogv-deep),var(--ogv-bright))!important;color:#fff!important;text-align:center;box-shadow:0 8px 20px rgba(92,21,155,.2)}
 body:has(.ogv-home) #navbar .navbar-nav>li:last-child>a:hover{transform:translateY(-1px);box-shadow:0 12px 26px rgba(92,21,155,.27)}
}

/* Atmospheric Framer-style footer */
.ogv-footer{position:relative;isolation:isolate;overflow:hidden;padding:92px 0 0;background:linear-gradient(180deg,#14091d 0%,#100616 52%,#08030d 100%);color:#cbbfd3}
.ogv-footer:before{content:"";position:absolute;z-index:-2;right:-12%;bottom:-190px;left:-12%;height:520px;background:radial-gradient(ellipse at 50% 78%,rgba(161,72,244,.62) 0%,rgba(111,24,199,.3) 28%,rgba(59,0,120,.11) 52%,transparent 72%);filter:blur(32px);pointer-events:none}
.ogv-footer:after{content:"";position:absolute;z-index:-1;right:8%;bottom:40px;left:8%;height:210px;background:linear-gradient(90deg,transparent,rgba(229,207,255,.12),rgba(255,255,255,.17),rgba(229,207,255,.12),transparent);filter:blur(54px);opacity:.9;pointer-events:none}
.ogv-footer .ogv-shell{position:relative;z-index:1}
.ogv-footer-grid{display:grid;grid-template-columns:2fr repeat(3,1fr);gap:64px;padding-bottom:72px}
.ogv-footer-brand a{display:inline-block;background:linear-gradient(135deg,#fff,#d9b7ff);-webkit-background-clip:text;background-clip:text;color:transparent;font-size:28px;font-weight:800;letter-spacing:-.04em;text-decoration:none}
.ogv-footer-brand p{max-width:350px;margin:18px 0 0;color:#a99bb3;font-size:15px;line-height:25px}
.ogv-footer-grid h3{margin:5px 0 20px;color:#fff;font-size:13px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}
.ogv-footer-grid div:not(.ogv-footer-brand){display:flex;flex-direction:column;align-items:flex-start;gap:13px}
.ogv-footer-grid a,
.ogv-footer-grid button,
.ogv-footer-grid span{padding:0;border:0;background:none;color:#aa9bb5;font:inherit;text-decoration:none;cursor:pointer;transition:color .18s ease,transform .18s ease}
.ogv-footer-grid a:hover,
.ogv-footer-grid button:hover{color:#fff;transform:translateX(3px)}
.ogv-footer-bottom{display:flex;justify-content:space-between;margin:0;padding:24px 0;border-top:1px solid rgba(255,255,255,.09);color:#84778d;font-size:12px;letter-spacing:.02em}
.ogv-footer-wordmark{position:relative;margin:34px -10px -2.5vw;background:linear-gradient(180deg,#f7efff 0%,#d7b5ff 34%,#8a31dd 72%,rgba(74,12,126,.5) 100%);-webkit-background-clip:text;background-clip:text;color:transparent;font-size:clamp(112px,17.4vw,270px);font-weight:800;line-height:.72;letter-spacing:-.085em;text-align:center;white-space:nowrap;text-shadow:0 -18px 70px rgba(190,132,255,.16);user-select:none}
@media(max-width:991px){.ogv-footer-grid{grid-template-columns:1.6fr 1fr 1fr;gap:40px}.ogv-footer-grid>div:last-child{display:none!important}}
@media(max-width:767px){
 .ogv-footer{padding-top:64px}
 .ogv-footer:before{bottom:-120px;height:390px;filter:blur(25px)}
 .ogv-footer-grid{grid-template-columns:1fr 1fr;gap:40px 24px;padding-bottom:48px}
 .ogv-footer-brand{grid-column:1/-1}
 .ogv-footer-grid>div:last-child{display:flex!important}
 .ogv-footer-bottom{flex-direction:column;gap:8px;padding:20px 0}
 .ogv-footer-wordmark{margin-top:32px;margin-bottom:-3vw;font-size:22.5vw;line-height:.78}
}

@media(max-width:767px){
 .ogv-footer{padding-top:58px}
 .ogv-footer .ogv-shell{padding-right:24px;padding-left:24px}
 .ogv-footer-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:42px 28px;padding-bottom:42px}
 .ogv-footer-brand a{font-size:30px}
 .ogv-footer-brand p{max-width:390px;margin-top:14px;font-size:15px;line-height:24px}
 .ogv-footer-grid h3{margin-bottom:16px;font-size:12px;letter-spacing:.12em}
 .ogv-footer-grid div:not(.ogv-footer-brand){gap:12px}
 .ogv-footer-grid>div:last-child{grid-column:1/-1;display:flex!important;flex-direction:row;flex-wrap:wrap;align-items:center;gap:12px 28px;padding-top:26px;border-top:1px solid rgba(255,255,255,.08)}
 .ogv-footer-grid>div:last-child h3{flex:0 0 100%;margin:0 0 4px}
 .ogv-footer-grid>div:last-child span{font-size:14px}
 .ogv-footer-bottom{gap:7px;padding:20px 0 10px;font-size:11px;line-height:18px}
 .ogv-footer-wordmark{display:block;width:100%;margin:34px 0 0;padding:0 0 24px;font-size:21vw;line-height:.92;letter-spacing:-.09em;white-space:nowrap;transform:none}
}

/* Pinned navigation with Reicons menu control */
body:has(.ogv-home) .navbar{position:sticky!important;top:0;z-index:1048;background:rgba(255,255,255,.94)!important;box-shadow:0 1px 0 rgba(47,24,62,.07),0 10px 28px rgba(47,24,62,.045)!important;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
body:has(.ogv-home) .navbar-toggle.ogv-reicon-toggle{display:grid;place-items:center;padding:0;color:#1c1521}
body:has(.ogv-home) .navbar-toggle.ogv-reicon-toggle .icon-bar{display:none!important}
body:has(.ogv-home) .navbar-toggle.ogv-reicon-toggle re-icon{display:block;color:currentColor;transition:color .18s ease,transform .2s ease}
body:has(.ogv-home) .navbar-toggle.ogv-reicon-toggle:not(.collapsed) re-icon{color:var(--ogv-primary);transform:rotate(90deg)}
@media(max-width:767px){body:has(.ogv-home) .navbar-toggle.ogv-reicon-toggle:not(.collapsed){position:fixed;top:12px;right:14px}}

/* Famsup-style card construction with restrained OgaViral depth */
.ogv-features{background:linear-gradient(180deg,#fbf9fd 0%,#f8f4fb 48%,#fbf9fd 100%)}
.ogv-feature-card{border:1px solid #eae6ee;border-radius:32px;background:#fff;box-shadow:0 1px 2px rgba(36,17,49,.035),0 14px 34px rgba(49,21,68,.065),0 32px 70px rgba(72,25,103,.035),inset 0 1px 0 rgba(255,255,255,.95);transform:translateZ(0);transition:border-color .28s ease,box-shadow .28s ease,transform .28s ease}
.ogv-feature-card:before{content:"";position:absolute;inset:0;z-index:4;border-radius:inherit;box-shadow:inset 0 1px 0 rgba(255,255,255,.95),inset 1px 0 0 rgba(255,255,255,.55),inset -1px 0 0 rgba(90,44,119,.025);pointer-events:none}
.ogv-feature-card--services{background:linear-gradient(145deg,#fff 42%,#f7efff 100%)}
@media(min-width:768px){.ogv-feature-card:hover{border-color:#dfd5e7;box-shadow:0 2px 4px rgba(36,17,49,.04),0 22px 46px rgba(49,21,68,.09),0 42px 90px rgba(111,24,199,.06),inset 0 1px 0 #fff;transform:translateY(-5px)}}
@media(max-width:767px){.ogv-feature-card{border-radius:28px;box-shadow:0 1px 2px rgba(36,17,49,.04),0 12px 30px rgba(49,21,68,.07),0 26px 56px rgba(72,25,103,.04),inset 0 1px 0 #fff}}

/* Keep off-canvas navigation and swipe cards inside the page viewport */
html:has(.ogv-home),
body:has(.ogv-home),
.ogv-home{max-width:100%;overflow-x:clip}
.ogv-reviews{overflow:hidden}
.ogv-review-track{max-width:100%;overscroll-behavior-x:contain}
@media(max-width:767px){body:has(.ogv-home) #navbar.navbar-collapse.in{visibility:visible!important;transform:translateX(0)!important}}

/* OgaViral signup */

/* Signup is form-only, including older panel templates still carrying the story. */

.ogv-mtp-login>.alert:empty,
.ogv-mtp-login__captcha:empty{display:none}

/* Full authenticated component polish */
.ogv-app-body .ogv-app-content .nav-tabs{display:flex;gap:6px;margin:0 0 18px;padding:6px;border:1px solid #e9e2ed;border-radius:15px;background:#fff;box-shadow:0 8px 22px rgba(45,20,61,.045);overflow-x:auto;scrollbar-width:none}
.ogv-app-body .ogv-app-content .nav-tabs>li{float:none;flex:0 0 auto;margin:0}.ogv-app-body .ogv-app-content .nav-tabs>li>a{margin:0;padding:9px 14px;border:0!important;border-radius:10px;color:#786d7e;font-size:10px;font-weight:800;white-space:nowrap}.ogv-app-body .ogv-app-content .nav-tabs>li.active>a{background:#efe0ff;color:#7115bd}
.ogv-app-body .ogv-app-content .alert{position:relative;padding:14px 44px 14px 16px;border:1px solid transparent;border-radius:14px;font-size:11px;line-height:18px;box-shadow:none}.ogv-app-body .ogv-app-content .alert-success{border-color:#cbead9;background:#effbf4;color:#28613f}.ogv-app-body .ogv-app-content .alert-danger{border-color:#f2d1d7;background:#fff3f5;color:#8e3342}.ogv-app-body .ogv-app-content .alert-info{border-color:#d8d8f4;background:#f5f4ff;color:#50478c}.ogv-app-body .ogv-app-content .alert .close{top:11px;right:13px;color:inherit;opacity:.55}
.ogv-app-body .ogv-app-content .label,
.ogv-app-body .ogv-app-content .badge{display:inline-flex;align-items:center;min-height:24px;padding:4px 9px;border-radius:999px;background:#f0e3fc;color:#7218bc;font-size:8px;font-weight:850;letter-spacing:.045em}
.ogv-app-body .ogv-app-content .pagination{display:flex;gap:6px;margin:18px 0 0}.ogv-app-body .ogv-app-content .pagination>li>a,
.ogv-app-body .ogv-app-content .pagination>li>span{display:grid;width:36px;height:36px;padding:0;place-items:center;border:1px solid #e8e0ec;border-radius:10px;background:#fff;color:#746979;font-size:10px;font-weight:800}.ogv-app-body .ogv-app-content .pagination>.active>a{border-color:#7a1dc9;background:#7a1dc9;color:#fff}
.ogv-app-body .ogv-app-content .modal-content{border:0;border-radius:22px;background:#fff;box-shadow:0 28px 70px rgba(30,8,44,.25);overflow:hidden}.ogv-app-body .ogv-app-content .modal-header{padding:20px 22px;border-color:#eee7f1;background:#fcf9ff}.ogv-app-body .ogv-app-content .modal-title{color:#2b2130;font-size:18px;font-weight:800}.ogv-app-body .ogv-app-content .modal-body{padding:22px}.ogv-app-body .ogv-app-content .modal-footer{padding:16px 22px;border-color:#eee7f1;background:#fcfafc}
.ogv-app-body .ogv-app-content input[type=checkbox]{width:17px;height:17px;margin-top:1px;accent-color:#8430d3}.ogv-app-body .ogv-app-content .input-group-addon{border-color:#e6dfea;border-radius:12px 0 0 12px;background:#f9f5fc;color:#7d7084}.ogv-app-body .ogv-app-content .input-group-btn>.btn{min-height:46px;border-radius:0 12px 12px 0}
.ogv-app-body .ogv-app-content .dropdown-menu{padding:7px;border:1px solid #e8dfed;border-radius:13px;background:#fff;box-shadow:0 16px 38px rgba(39,15,54,.14)}.ogv-app-body .ogv-app-content .dropdown-menu>li>a{padding:9px 11px;border-radius:9px;color:#675b6d;font-size:10px;font-weight:700}.ogv-app-body .ogv-app-content .dropdown-menu>li>a:hover{background:#f5eaff;color:#7115bd}
.ogv-empty-state{display:flex;min-height:280px;flex-direction:column;align-items:center;justify-content:center;margin:0 auto;padding:38px 24px;border:1px solid #e9e1ed;border-radius:22px;background:radial-gradient(circle at 50% 10%,rgba(215,181,255,.22),transparent 40%),#fff;text-align:center;box-shadow:0 14px 34px rgba(45,20,61,.06)}
.ogv-empty-state__icon{display:grid;width:64px;height:64px;place-items:center;border:1px solid #e4d3ef;border-radius:20px;background:linear-gradient(145deg,#f9f0ff,#ead7ff);color:#7419c2;box-shadow:0 12px 24px rgba(88,27,128,.1)}
.ogv-empty-state h3{margin:18px 0 7px;color:#2b2230;font-size:21px;font-weight:820;letter-spacing:-.035em}.ogv-empty-state p{max-width:440px;margin:0;color:#887b8f;font-size:12px;line-height:20px}.ogv-empty-state a{display:inline-flex;min-height:42px;align-items:center;gap:8px;margin-top:18px;padding:0 17px;border-radius:12px;background:linear-gradient(135deg,#3b0078,#943af8);color:#fff!important;font-size:10px;font-weight:800;text-decoration:none!important;box-shadow:0 10px 21px rgba(76,12,130,.18)}
@media(max-width:600px){.ogv-empty-state{min-height:240px;padding:30px 18px;border-radius:19px}.ogv-empty-state__icon{width:56px;height:56px;border-radius:17px}.ogv-empty-state h3{font-size:18px}.ogv-app-body .ogv-app-content .modal-dialog{margin:12px}.ogv-app-body .ogv-app-content .modal-body{padding:18px}}

/* Hash-driven Famsup-style sign-in view */
.ogv-login-modal{position:fixed;inset:0;z-index:9999;display:block;padding:0;overflow-x:hidden;overflow-y:auto;background:#fff;visibility:hidden;opacity:0;transition:opacity .2s ease,visibility .2s ease}
.ogv-login-modal.is-open{visibility:visible;opacity:1}
.ogv-signin-shell{display:grid;grid-template-columns:minmax(0,1fr) minmax(620px,1fr);min-height:100vh;background:#fff}
.ogv-signin-story{position:sticky;top:0;display:flex;flex-direction:column;height:100vh;min-height:720px;padding:72px 0 0 6vw;overflow:hidden;background:radial-gradient(circle at 22% 10%,rgba(215,181,255,.33),transparent 28%),radial-gradient(circle at 86% 83%,rgba(86,11,151,.62),transparent 36%),linear-gradient(145deg,#3b0078 0%,#6815b5 52%,#9a42ef 100%);color:#fff}
.ogv-signin-story:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.62),transparent 84%);pointer-events:none}
.ogv-signin-story__glow{position:absolute;top:-150px;right:-120px;width:450px;height:450px;border-radius:50%;background:rgba(255,255,255,.13);filter:blur(76px)}
.ogv-signin-story__copy{position:relative;z-index:2;max-width:660px;padding-right:6vw}
.ogv-signin-story__copy>span,
.ogv-signin-heading>span{font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.ogv-signin-story__copy>span{color:#ead8ff}
.ogv-signin-story__copy h2{max-width:610px;margin:15px 0 20px;color:#fff;font-size:clamp(43px,4.4vw,68px);font-weight:750;line-height:1.04;letter-spacing:-.055em}
.ogv-signin-story__copy p{max-width:590px;margin:0;color:rgba(255,255,255,.8);font-size:18px;line-height:29px}
.ogv-signin-points{display:flex;flex-wrap:wrap;gap:11px 22px;margin-top:28px}
.ogv-signin-points span{display:flex;align-items:center;gap:7px;color:#fff;font-size:14px;font-weight:650}
.ogv-signin-points re-icon{color:#d7b5ff}
.ogv-signin-preview{position:relative;z-index:2;width:min(820px,94%);margin-top:auto;border:1px solid rgba(255,255,255,.32);border-bottom:0;border-radius:24px 24px 0 0;background:#fff;box-shadow:0 -8px 50px rgba(28,0,53,.25);overflow:hidden;transform:translateY(18%)}
.ogv-signin-preview__bar{display:flex;align-items:center;gap:7px;height:42px;padding:0 15px;border-bottom:1px solid #eee8f3;color:#6f5e7c;font-size:11px;font-weight:700}
.ogv-signin-preview__bar i{width:7px;height:7px;border-radius:50%;background:#e4d9eb}.ogv-signin-preview__bar i:first-child{background:#a148f4}.ogv-signin-preview__bar span{margin-left:7px}
.ogv-signin-preview img{display:block;width:100%;height:auto}
.ogv-signin-panel{position:relative;z-index:3;min-width:0;margin-left:-40px;padding:46px 7vw 70px;border-radius:40px 0 0 40px;background:#fff;box-shadow:-24px 0 70px rgba(34,7,53,.13)}
.ogv-signin-brand{display:inline-block;background:linear-gradient(135deg,var(--ogv-deep),var(--ogv-bright));-webkit-background-clip:text;background-clip:text;color:transparent;font-size:29px;font-weight:800;letter-spacing:-.05em;text-decoration:none}
.ogv-signin-brand:hover{color:var(--ogv-primary);text-decoration:none}
.ogv-signin-mobile-brand{display:none}
.ogv-signin-close{position:absolute;top:43px;right:44px;display:flex;align-items:center;justify-content:center;gap:8px;min-width:112px;height:42px;padding:0 16px;border:1px solid #e9e2ee;border-radius:100px;background:#fff;color:#62576a;font-size:13px;font-weight:700;box-shadow:0 6px 18px rgba(43,18,59,.055);cursor:pointer;transition:border-color .18s ease,color .18s ease,transform .18s ease,box-shadow .18s ease}
.ogv-signin-close:hover{border-color:#d4c4df;color:var(--ogv-primary);transform:translateY(-1px);box-shadow:0 10px 24px rgba(43,18,59,.09)}
.ogv-signin-close re-icon{display:block}
.ogv-signin-form-wrap{width:100%;max-width:590px;margin:62px auto 0}
.ogv-signin-heading{margin-bottom:30px;text-align:center}
.ogv-signin-heading>span{color:var(--ogv-primary)}
.ogv-signin-heading h2{margin:10px 0;color:#211927;font-size:35px;font-weight:750;line-height:1.15;letter-spacing:-.04em}
.ogv-signin-heading p{max-width:450px;margin:0 auto;color:#74677d;font-size:15px;line-height:23px}
.ogv-login-modal .ogv-google-signin{display:flex;justify-content:center;min-height:44px;margin-bottom:20px;overflow:visible}
.ogv-login-modal .ogv-google-signin>div{max-width:100%}
.ogv-login-modal .ogv-divider{display:flex;align-items:center;gap:14px;margin:0 0 24px;color:#998da1;font-size:12px}
.ogv-login-modal .ogv-divider:before,
.ogv-login-modal .ogv-divider:after{content:"";flex:1;height:1px;background:#ebe6ef}
.ogv-login-modal .ogv-divider span{padding:0;white-space:nowrap}
.ogv-login-modal .ogv-field{gap:0;margin:0 0 18px}
.ogv-login-modal .ogv-field .control-label{display:block;margin:0 0 8px;color:#302637;font-size:13px;font-weight:700}
.ogv-login-modal .ogv-field__input{position:relative;display:flex;align-items:center}
.ogv-login-modal .ogv-field__input re-icon{position:absolute;left:16px;z-index:2;color:#76677f;pointer-events:none}
.ogv-login-modal .ogv-field__input .form-control{width:100%;height:54px;padding:12px 15px 12px 48px;border:1px solid #e7e1eb;border-radius:14px;background:#fff;color:#211927;font-size:15px;box-shadow:0 2px 7px rgba(39,20,51,.025);transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}
.ogv-login-modal .ogv-field__input .form-control:hover{border-color:#d8cde0;background:#fefcff}
.ogv-login-modal .ogv-field__input .form-control:focus{border-color:var(--ogv-primary);background:#fff;box-shadow:0 0 0 4px rgba(148,58,248,.11)}
.ogv-login-modal .ogv-forgot{margin-top:10px;text-align:left}
.ogv-login-modal .ogv-forgot a{color:#74677d;font-size:14px;text-decoration:none}
.ogv-login-modal .ogv-forgot a:hover{color:var(--ogv-primary)}
.ogv-login-modal .ogv-submit{height:54px;margin-top:8px;border-radius:100px;background:linear-gradient(135deg,var(--ogv-deep),var(--ogv-bright));font-size:16px;font-weight:750;box-shadow:0 12px 26px rgba(92,21,155,.22)}
.ogv-login-modal .ogv-login-footer{margin:18px 0 0;color:#7c6f85;font-size:14px}
.ogv-login-modal .ogv-login-footer a{color:var(--ogv-primary);font-weight:700;text-decoration:none}
.ogv-signin-assurance{display:flex;align-items:center;justify-content:center;gap:24px;margin-top:28px;padding-top:22px;border-top:1px solid #eee9f1;color:#82758b;font-size:12px;font-weight:650}
.ogv-signin-assurance span{display:flex;align-items:center;gap:6px}.ogv-signin-assurance re-icon{color:var(--ogv-primary)}
.ogv-modal-open{overflow:hidden!important}
body:has(.ogv-login-modal.is-open) .navbar{visibility:hidden}
.ogv-home--rtl .ogv-login-modal .ogv-field__input re-icon{right:16px;left:auto}.ogv-home--rtl .ogv-login-modal .ogv-field__input .form-control{padding-right:48px;padding-left:15px}
@media(max-width:1199px){.ogv-signin-shell{grid-template-columns:minmax(0,1fr) minmax(540px,1fr)}.ogv-signin-panel{padding-right:5vw;padding-left:5vw}.ogv-signin-story{padding-left:5vw}.ogv-signin-story__copy h2{font-size:48px}}
@media(max-width:991px){
 .ogv-signin-shell{display:block;min-height:0;background:#fff}
 .ogv-signin-story{display:none}
 .ogv-signin-mobile-brand{display:flex;flex-direction:column;align-items:center;justify-content:center;height:196px;padding:24px 20px 38px;background:radial-gradient(circle at 74% 20%,rgba(215,181,255,.45),transparent 28%),linear-gradient(145deg,#3b0078,#8a31dd);color:#fff;text-align:center}
 .ogv-signin-mobile-brand a{color:#fff;font-size:38px;font-weight:800;line-height:1;letter-spacing:-.06em;text-decoration:none}
 .ogv-signin-mobile-brand span{margin-top:14px;color:rgba(255,255,255,.76);font-size:13px}
 .ogv-signin-panel{min-height:0;margin:-28px 0 0;padding:34px 24px 34px;border-radius:28px 28px 0 0;background:#fff;box-shadow:0 -16px 42px rgba(35,8,54,.13)}
 .ogv-signin-brand{display:none}
 .ogv-signin-close{top:18px;right:18px;min-width:42px;width:42px;padding:0;border-color:rgba(255,255,255,.38);background:rgba(255,255,255,.14);color:#fff;box-shadow:none}
 .ogv-signin-close span{display:none}
 .ogv-signin-form-wrap{max-width:610px;margin:0 auto}
 .ogv-signin-heading{margin-bottom:28px}
 .ogv-signin-heading h2{font-size:29px}
}
@media(max-width:600px){
 .ogv-signin-panel{padding:32px 20px 28px}
 .ogv-signin-mobile-brand{height:184px}
 .ogv-signin-heading>span{font-size:11px}
 .ogv-signin-heading h2{font-size:27px}
 .ogv-signin-heading p{font-size:14px;line-height:21px}
 .ogv-login-modal .ogv-field__input .form-control{height:50px}
 .ogv-signin-assurance{gap:18px;margin-top:24px;padding-top:20px}
}

/* Desktop homepage refinement: header, feature artwork, and footer wordmark */
body:has(.ogv-home) .navbar{position:relative!important;top:auto!important}
.ogv-feature-visual--dashboard,
.ogv-feature-visual--wallet,
.ogv-feature-visual--analytics,
.ogv-feature-visual--services{background-image:url('https://storage.perfectcdn.com/1k3ejy/nqi8q8c8a4sh6ofu.png');background-repeat:no-repeat;background-size:200% auto}
.ogv-feature-visual--dashboard{background-position:0 0}
.ogv-feature-visual--wallet{background-position:100% 0}
.ogv-feature-visual--analytics{background-position:0 100%}
.ogv-feature-visual--services{background-position:100% 100%}
@media(min-width:768px){
 body:has(.ogv-home) .navbar-toggle.ogv-reicon-toggle{display:none!important}
 .ogv-feature-card .ogv-feature-visual{right:24px;bottom:22px;left:24px;height:57%;border:1px solid #e8e0ed;border-radius:19px;background-color:#faf7fd;box-shadow:0 18px 34px rgba(51,20,72,.11),0 3px 10px rgba(38,16,53,.055),inset 0 1px 0 rgba(255,255,255,.9);overflow:hidden}
 .ogv-feature-card--dashboard .ogv-feature-visual{height:58%}
 .ogv-feature-card--analytics .ogv-feature-visual,
.ogv-feature-card--services .ogv-feature-visual{height:53%}
 .ogv-footer-wordmark{width:100%;margin:28px 0 0;padding:0 0 24px;font-size:clamp(94px,12vw,172px);line-height:.82;letter-spacing:-.075em;transform:none}
}
@media(max-width:767px){
 .ogv-feature-visual--dashboard,
.ogv-feature-visual--wallet,
.ogv-feature-visual--analytics,
.ogv-feature-visual--services{background-size:200% auto}
 .ogv-feature-visual--dashboard{background-position:0 0}
 .ogv-feature-visual--wallet{background-position:100% 0}
 .ogv-feature-visual--analytics{background-position:0 100%}
 .ogv-feature-visual--services{background-position:100% 100%}
}

/* Authenticated dashboard live-markup corrections */
.ogv-app-topbar__title>div{min-width:0}
.ogv-app-topbar__title>div>span{display:block;color:#a094a5;font-size:9px;font-weight:800;letter-spacing:.09em;line-height:1.2;text-transform:uppercase}
.ogv-app-topbar__title h1{margin:3px 0 0;color:#241b29;font-size:16px;font-weight:800;letter-spacing:-.025em;line-height:1.15}
.ogv-app-user>span:not(.ogv-app-user__avatar){display:flex;min-width:0;max-width:145px;flex-direction:column}
.ogv-app-user>span:not(.ogv-app-user__avatar) b{overflow:hidden;color:#302637;font-size:11px;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}
.ogv-app-user>span:not(.ogv-app-user__avatar) small{color:#9d92a1;font-size:9px;line-height:1.25}
.ogv-service-pills{display:flex;max-width:100%;gap:8px;overflow-x:auto;margin:21px 0 20px;padding:1px 0 4px;scrollbar-width:none}
.ogv-service-pills::-webkit-scrollbar{display:none}
.ogv-service-pills button{display:inline-flex!important;width:auto!important;height:38px!important;min-height:38px!important;flex:0 0 auto;align-items:center;justify-content:center;gap:7px;margin:0!important;padding:0 13px!important;border:1px solid #e9e1ed!important;border-radius:12px!important;background:#fff!important;color:#746a79!important;font-family:inherit;font-size:11px!important;font-weight:750!important;line-height:1!important;box-shadow:none!important;white-space:nowrap}
.ogv-service-pills button img{display:block!important;width:18px!important;height:18px!important;max-width:18px!important;max-height:18px!important;object-fit:contain}
.ogv-service-pills button re-icon{display:block;flex:0 0 auto;color:#943af8}
.ogv-service-pills button.is-active{border-color:#e1c8fb!important;background:#f3e7ff!important;color:#7211c8!important;box-shadow:inset 0 0 0 1px rgba(148,58,248,.04)!important}
@media(max-width:767px){
 .ogv-app-topbar__title{flex:0 0 auto}
 .ogv-app-topbar__title>div{display:none!important}
 .ogv-app-topbar__actions{min-width:0;margin-left:auto}
 .ogv-app-user{width:38px;min-width:38px;padding:0!important}
 .ogv-app-user>span:not(.ogv-app-user__avatar),
.ogv-app-user>re-icon{display:none!important}
 .ogv-service-pills{width:100%;margin:18px 0 17px;padding-right:1px}
 .ogv-service-pills button{height:36px!important;min-height:36px!important;padding:0 11px!important;border-radius:11px!important;font-size:10px!important}
 .ogv-service-pills button img{width:17px!important;height:17px!important;max-width:17px!important;max-height:17px!important}
}

/* Sidebar navigation refinement with Reicons */
.ogv-app-nav__icon{display:none!important}
.ogv-app-nav__link{gap:10px;padding:7px 10px;border-radius:14px}
.ogv-app-nav__link>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ogv-app-nav__reicon{display:grid;width:32px;height:32px;flex:0 0 32px;place-items:center;border:1px solid #eee7f2;border-radius:10px;background:#faf8fc;color:#817486;transition:.2s ease}
.ogv-app-nav__link:hover .ogv-app-nav__reicon{border-color:#e2d0f4;background:#f2e7fc;color:#7214c7}
.ogv-app-nav__link.is-active .ogv-app-nav__reicon{border-color:transparent;background:linear-gradient(135deg,#5c079f,#943af8);color:#fff;box-shadow:0 6px 15px rgba(102,13,178,.2)}
.ogv-app-nav__link>b{width:6px;height:6px;margin-left:auto;border-radius:50%;background:transparent}
.ogv-app-nav__link.is-active>b{background:#943af8;box-shadow:0 0 0 4px rgba(148,58,248,.1)}
.ogv-app-sidebar__account{display:flex;flex-direction:column;gap:3px;margin:0 4px;padding:13px 0 0;border-top:1px solid #f0eaf2}
.ogv-app-sidebar__account a{display:flex;min-height:39px;align-items:center;gap:10px;padding:7px 10px;border-radius:11px;color:#776d7b!important;font-size:11px;font-weight:750;text-decoration:none!important}
.ogv-app-sidebar__account a:hover{background:#faf7fc;color:#6711b6!important}
.ogv-app-sidebar__account re-icon{display:grid;width:28px;height:28px;flex:0 0 28px;place-items:center;border-radius:9px;background:#f7f1fa;color:#8a579e}
@media(min-width:992px){
 .ogv-app-sidebar{width:260px;padding:22px 14px 18px}
 .ogv-app-main{margin-left:260px}
 .ogv-app-sidebar__head{padding:4px 11px 24px}
 .ogv-app-nav{padding-right:3px;padding-left:3px}
 .ogv-app-sidebar__support{margin-right:3px;margin-left:3px}
}

/* Services pricing: remove the remaining native PerfectPanel shell and controls. */
@media(max-width:991px){
 .ogv-app-sidebar{width:286px;padding-right:16px;padding-left:16px}
 .ogv-app-nav__link{min-height:49px}
}

/* Clean Owlet-inspired workspace navigation and authenticated inner pages */
.ogv-workspace-shortcuts{margin:0 0 28px;padding:25px;border:1px solid #ebe4ef;border-radius:24px;background:linear-gradient(145deg,#fff 0%,#fcf9ff 100%);box-shadow:0 16px 36px rgba(48,22,65,.065)}
.ogv-workspace-shortcuts__head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:19px}
.ogv-workspace-shortcuts__head span,
.ogv-app-section-head__copy>span{color:#943af8;font-size:10px;font-weight:850;letter-spacing:.11em;text-transform:uppercase}
.ogv-workspace-shortcuts__head h3{margin:5px 0 0;color:#251c2a;font-size:22px;font-weight:800;letter-spacing:-.035em}
.ogv-workspace-shortcuts__head p{max-width:330px;margin:0;color:#86798d;font-size:12px;line-height:19px;text-align:right}
.ogv-workspace-shortcuts__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px}
.ogv-workspace-shortcut{position:relative;display:flex;min-height:126px;flex-direction:column;align-items:flex-start;justify-content:flex-end;padding:17px;border:1px solid #ece5f0;border-radius:18px;background:#fff;color:#2b2230!important;text-decoration:none!important;box-shadow:0 8px 18px rgba(41,17,57,.045);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.ogv-workspace-shortcut:hover{border-color:#ddc6ef;box-shadow:0 14px 28px rgba(70,19,103,.1);transform:translateY(-2px)}
.ogv-workspace-shortcut re-icon{position:absolute;top:15px;left:15px;display:grid;width:39px;height:39px;place-items:center;border-radius:12px;background:#f5ebff;color:#7b1bce}
.ogv-workspace-shortcut strong{font-size:13px;font-weight:800;line-height:1.25}.ogv-workspace-shortcut small{margin-top:3px;color:#9b8fa1;font-size:9px;font-weight:650}
.ogv-workspace-shortcut.is-primary{border-color:transparent;background:linear-gradient(145deg,#3b0078,#943af8);color:#fff!important;box-shadow:0 13px 25px rgba(82,12,142,.2)}
.ogv-workspace-shortcut.is-primary re-icon{background:rgba(255,255,255,.15);color:#fff}.ogv-workspace-shortcut.is-primary small{color:rgba(255,255,255,.7)}
.ogv-app-section-head{display:flex;align-items:center;gap:16px;max-width:1180px;margin:0 auto 20px;padding:20px 22px;border:1px solid #e9e2ed;border-radius:20px;background:linear-gradient(135deg,#fff,#fbf7ff);box-shadow:0 10px 28px rgba(47,22,63,.055)}
.ogv-app-section-head__icon{display:grid;width:49px;height:49px;flex:0 0 49px;place-items:center;border-radius:15px;background:linear-gradient(145deg,#3b0078,#943af8);color:#fff;box-shadow:0 10px 22px rgba(86,15,148,.2)}
.ogv-app-section-head h2{margin:4px 0 2px;color:#281f2e;font-size:22px;font-weight:820;letter-spacing:-.035em}.ogv-app-section-head p{margin:0;color:#887d8e;font-size:12px;line-height:18px}
.ogv-app-body .ogv-app-content>.container,
.ogv-app-body .ogv-app-content>.container-fluid{width:100%;max-width:1180px;margin-right:auto;margin-left:auto;padding:0}
.ogv-app-body .ogv-app-content .well,
.ogv-app-body .ogv-app-content .panel{border:1px solid #e9e2ed;border-radius:20px;background:#fff;box-shadow:0 12px 30px rgba(45,20,61,.06);overflow:hidden}
.ogv-app-body .ogv-app-content .well,
.ogv-app-body .ogv-app-content .well-float,
.ogv-app-body .ogv-app-content .panel,
.ogv-app-body .ogv-app-content .panel-body{float:none!important;width:100%!important;min-width:0!important;max-width:100%!important}
.ogv-app-body .ogv-app-content .panel-heading{padding:18px 20px;border-color:#eee7f1;background:#fcf9ff;color:#302536;font-weight:800}
.ogv-app-body .ogv-app-content .panel-body,
.ogv-app-body .ogv-app-content .well{padding:20px}
.ogv-app-body .ogv-app-content .form-control{min-height:46px;padding:10px 13px;border:1px solid #e6dfea;border-radius:12px;background:#fff;color:#302636;box-shadow:none}
.ogv-app-body .ogv-app-content textarea.form-control{min-height:180px;resize:vertical}.ogv-app-body .ogv-app-content .form-control:focus{border-color:#a052eb;box-shadow:0 0 0 4px rgba(148,58,248,.1)}
.ogv-app-body .ogv-app-content .control-label{margin-bottom:7px;color:#4f4455;font-size:11px;font-weight:800;letter-spacing:.025em}
.ogv-app-body .ogv-app-content .btn-primary{min-height:44px;padding:10px 19px;border:0;border-radius:12px;background:linear-gradient(135deg,#3b0078,#943af8);font-weight:800;box-shadow:0 10px 22px rgba(81,15,137,.18)}
.ogv-app-body .ogv-app-content .table-responsive{border:0;border-radius:18px;background:#fff;box-shadow:0 12px 30px rgba(45,20,61,.055);overflow:auto}
.ogv-app-body .ogv-app-content .ogv-table-scroll{width:100%;max-width:100%;border:1px solid #ebe4ef;border-radius:18px;background:#fff;box-shadow:0 12px 30px rgba(45,20,61,.055);overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch}
.ogv-app-body .ogv-app-content .table{margin:0;border-collapse:separate;border-spacing:0;background:#fff;color:#514657;font-size:11px}
.ogv-app-body .ogv-app-content .table>thead>tr>th{padding:14px 13px;border-bottom:1px solid #e8e0ec;background:#faf7fc;color:#7a6e80;font-size:9px;font-weight:850;letter-spacing:.075em;text-transform:uppercase;white-space:nowrap}
.ogv-app-body .ogv-app-content .table>tbody>tr>td{padding:14px 13px;border-top:1px solid #f1ebf3;vertical-align:middle}.ogv-app-body .ogv-app-content .table>tbody>tr:hover>td{background:#fdfaff}
.ogv-app-body .ogv-app-content .nav-pills{display:flex;gap:7px;margin:0 0 16px;padding:7px;border:1px solid #eae3ed;border-radius:15px;background:#fff;box-shadow:0 8px 20px rgba(45,20,61,.045);overflow-x:auto;scrollbar-width:none}
.ogv-app-body .ogv-app-content .nav-pills>li{float:none;flex:0 0 auto}.ogv-app-body .ogv-app-content .nav-pills>li>a{padding:9px 13px;border-radius:10px;color:#756a7a;font-size:10px;font-weight:800;white-space:nowrap}.ogv-app-body .ogv-app-content .nav-pills>li.active>a{background:#f0e0ff;color:#7015bc}
@media(max-width:991px){
 .ogv-app-sidebar{width:min(92vw,390px);padding:18px 18px 20px}.ogv-app-sidebar__head{padding:3px 3px 17px}.ogv-app-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:0}.ogv-app-nav__label{grid-column:1/-1;margin:0 3px 1px}
 .ogv-app-nav__link{position:relative;display:flex;min-height:104px;flex-direction:column;align-items:flex-start;justify-content:flex-end;gap:6px;padding:13px;border:1px solid #ebe4ef;border-radius:17px;background:#fff;box-shadow:0 8px 18px rgba(45,20,61,.05)}
 .ogv-app-nav__link>span{font-size:12px;font-weight:800;white-space:normal}.ogv-app-nav__reicon{position:absolute;top:12px;left:12px;width:36px;height:36px;flex-basis:36px;border-radius:11px}.ogv-app-nav__link>b{position:absolute;top:14px;right:14px;margin:0}
 .ogv-app-sidebar__support{margin:14px 0 0}.ogv-app-sidebar__account{display:grid;grid-template-columns:1fr 1fr;margin:12px 0 0;padding-top:12px}.ogv-app-sidebar__account a{justify-content:center;padding:6px}
 .ogv-workspace-shortcuts__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ogv-workspace-shortcuts__head{align-items:flex-start}.ogv-workspace-shortcuts__head p{display:none}
 .ogv-app-section-head{margin-bottom:16px}.ogv-app-body .ogv-app-content>.container,
.ogv-app-body .ogv-app-content>.container-fluid{padding:0}
}
@media(max-width:600px){
 .ogv-workspace-shortcuts{padding:17px;border-radius:21px}.ogv-workspace-shortcuts__head{margin-bottom:14px}.ogv-workspace-shortcuts__head h3{font-size:19px}.ogv-workspace-shortcuts__grid{gap:9px}.ogv-workspace-shortcut{min-height:112px;padding:14px;border-radius:16px}.ogv-workspace-shortcut re-icon{top:12px;left:12px;width:36px;height:36px}.ogv-workspace-shortcut strong{font-size:12px}.ogv-workspace-shortcut small{font-size:8px}
 .ogv-app-section-head{gap:12px;padding:16px;border-radius:17px}.ogv-app-section-head__icon{width:43px;height:43px;flex-basis:43px;border-radius:13px}.ogv-app-section-head h2{font-size:18px}.ogv-app-section-head p{font-size:10px;line-height:15px}
 .ogv-app-body .ogv-app-content .well,
.ogv-app-body .ogv-app-content .panel-body{padding:15px}.ogv-app-body .ogv-app-content .table{min-width:650px}
}

/* Flat authenticated UI: open spacing, dividers, and typography instead of card stacks */
.ogv-app-body .ogv-app-content{background:#fbfafd}
.ogv-app-body .ogv-app-section-head{gap:13px;margin-bottom:28px;padding:0 0 19px!important;border:0!important;border-bottom:1px solid #e6dfe9!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
.ogv-app-body .ogv-app-section-head__icon{width:38px;height:38px;flex-basis:38px;border-radius:11px;box-shadow:none}
.ogv-app-body .ogv-app-section-head h2{font-size:25px}.ogv-app-body .ogv-app-section-head p{font-size:11px}
.ogv-app-body .ogv-app-content .well,
.ogv-app-body .ogv-app-content .well-float,
.ogv-app-body .ogv-app-content .panel,
.ogv-app-body .ogv-app-content .panel-body{border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;overflow:visible}
.ogv-app-body .ogv-app-content .well,
.ogv-app-body .ogv-app-content .panel-body{padding:0!important}
.ogv-app-body .ogv-app-content .panel{margin-bottom:30px;border-bottom:1px solid #e8e1ea!important}.ogv-app-body .ogv-app-content .panel-heading{padding:0 0 13px;border:0;background:transparent;font-size:15px}.ogv-app-body .ogv-app-content .panel-body{padding:0 0 26px!important}
.ogv-app-body .ogv-app-content .ogv-table-scroll,
.ogv-app-body .ogv-app-content .table-responsive{border:0!important;border-top:1px solid #ded6e2!important;border-bottom:1px solid #ded6e2!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
.ogv-app-body .ogv-app-content .table{background:transparent!important}.ogv-app-body .ogv-app-content .table>thead>tr>th{padding:13px 10px;border-bottom:1px solid #ded6e2;background:transparent!important}.ogv-app-body .ogv-app-content .table>tbody>tr>td{padding:15px 10px;background:transparent!important}.ogv-app-body .ogv-app-content .table>tbody>tr:hover>td{background:rgba(148,58,248,.025)!important}
.ogv-app-body .ogv-app-content .nav-pills,
.ogv-app-body .ogv-app-content .nav-tabs{gap:21px;margin-bottom:24px;padding:0 0 1px!important;border:0!important;border-bottom:1px solid #e1dae5!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
.ogv-app-body .ogv-app-content .nav-pills>li>a,
.ogv-app-body .ogv-app-content .nav-tabs>li>a{position:relative;padding:10px 1px 12px!important;border-radius:0!important;background:transparent!important;color:#847889}.ogv-app-body .ogv-app-content .nav-pills>li.active>a,
.ogv-app-body .ogv-app-content .nav-tabs>li.active>a{color:#6710b2!important}.ogv-app-body .ogv-app-content .nav-pills>li.active>a:after,
.ogv-app-body .ogv-app-content .nav-tabs>li.active>a:after{position:absolute;right:0;bottom:-2px;left:0;height:2px;background:#7d20c9;content:""}
.ogv-empty-state{min-height:300px;padding:44px 16px!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}.ogv-empty-state__icon{width:50px;height:50px;border:0;border-radius:50%;background:#f0e2fb;box-shadow:none}.ogv-empty-state h3{font-size:20px}.ogv-empty-state a{border-radius:10px;box-shadow:none}
.ogv-workspace-shortcuts{margin-bottom:34px;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}.ogv-workspace-shortcuts__head{padding-bottom:14px;border-bottom:1px solid #e4dce7}.ogv-workspace-shortcuts__grid{gap:0;border-bottom:1px solid #e4dce7}.ogv-workspace-shortcut{min-height:110px;padding:55px 13px 14px!important;border:0!important;border-right:1px solid #e8e1ea!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;transform:none!important}.ogv-workspace-shortcut:nth-child(4n){border-right:0!important}.ogv-workspace-shortcut re-icon{top:13px;left:13px;width:32px;height:32px;border-radius:9px;background:#f0e3fb}.ogv-workspace-shortcut.is-primary{color:#2b2230!important}.ogv-workspace-shortcut.is-primary re-icon{background:#6f13bd;color:#fff}.ogv-workspace-shortcut.is-primary small{color:#9b8fa1}
.ogv-dashboard-stats{gap:0;margin-bottom:34px;border-top:1px solid #e3dce6;border-bottom:1px solid #e3dce6}.ogv-dashboard-stat,
.ogv-dashboard-stat--balance,
.ogv-dashboard-stat--status,
.ogv-dashboard-stat--orders{min-height:146px;padding:22px!important;border:0!important;border-right:1px solid #e5dee8!important;border-radius:0!important;background:transparent!important;color:#281d2e!important;box-shadow:none!important}.ogv-dashboard-stat:last-child{border-right:0!important}.ogv-dashboard-stat:before,
.ogv-dashboard-stat:after{display:none!important}.ogv-dashboard-stat__icon,
.ogv-dashboard-stat--balance .ogv-dashboard-stat__icon{width:35px;height:35px;margin-bottom:18px;border-radius:10px;background:#f0e3fb;color:#7418c0;box-shadow:none}.ogv-dashboard-stat>span,
.ogv-dashboard-stat--balance>span{color:#95899a}.ogv-dashboard-stat strong,
.ogv-dashboard-stat--balance strong{color:#281d2e;font-size:23px}.ogv-dashboard-stat__actions a{background:#eee0fa;color:#7216bc!important;box-shadow:none}.ogv-order-card__header{border-color:#e4dce7}
@media(max-width:991px){.ogv-app-sidebar{width:min(86vw,330px);padding:18px}.ogv-app-nav{display:block}.ogv-app-nav__label{display:block;margin:0 8px 8px}.ogv-app-nav__link{display:flex;min-height:55px;flex-direction:row;align-items:center;justify-content:flex-start;gap:11px;padding:8px 5px!important;border:0!important;border-bottom:1px solid #eee8f0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}.ogv-app-nav__link>span{font-size:11px}.ogv-app-nav__reicon{position:static;width:33px;height:33px;flex-basis:33px;border:0;border-radius:9px}.ogv-app-nav__link>b{top:24px;right:5px}.ogv-app-sidebar__support{padding:18px 4px!important;border:0!important;border-bottom:1px solid #eee8f0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}.ogv-app-sidebar__account{display:block}.ogv-app-sidebar__account a{justify-content:flex-start;border-bottom:1px solid #f0ebf2;border-radius:0}.ogv-dashboard-stats{grid-template-columns:1fr 1fr}.ogv-dashboard-stat--orders{grid-column:1/-1;border-top:1px solid #e5dee8!important}.ogv-workspace-shortcut:nth-child(2n){border-right:0!important}.ogv-workspace-shortcut:nth-child(n+3){border-top:1px solid #e8e1ea!important}}
@media(max-width:600px){.ogv-app-body .ogv-app-section-head{margin-bottom:22px;padding-bottom:16px!important}.ogv-app-body .ogv-app-section-head h2{font-size:21px}.ogv-dashboard-stats{grid-template-columns:1fr}.ogv-dashboard-stat,
.ogv-dashboard-stat--orders{grid-column:auto;border-right:0!important;border-top:1px solid #e5dee8!important}.ogv-dashboard-stat:first-child{border-top:0!important}.ogv-empty-state{min-height:250px}.ogv-workspace-shortcut{min-height:98px;padding:49px 10px 12px!important}.ogv-workspace-shortcut re-icon{top:10px;left:10px}}

/* Reference-balanced authenticated UI: Famsup structure with selective Owlet-style surfaces */
.ogv-app-body .ogv-app-content{background:#f8f6fa}
.ogv-workspace-shortcuts{display:none!important}
.ogv-dashboard-stats{display:grid;grid-template-columns:1.08fr .96fr .96fr;gap:16px;margin-bottom:26px;border:0!important}
.ogv-dashboard-stat,
.ogv-dashboard-stat--status,
.ogv-dashboard-stat--orders{min-height:156px;padding:22px!important;border:1px solid #ebe4ef!important;border-radius:22px!important;background:#fff!important;color:#2b2130!important;box-shadow:0 12px 30px rgba(47,20,62,.07)!important}
.ogv-dashboard-stat--balance{border-color:#430579!important;background:linear-gradient(140deg,#2f0058 0%,#5900a0 58%,#8c35e3 100%)!important;color:#fff!important;box-shadow:0 17px 34px rgba(69,4,120,.2)!important}.ogv-dashboard-stat--status{background:linear-gradient(145deg,#fff,#f4e9fb)!important}.ogv-dashboard-stat--orders{background:linear-gradient(145deg,#fff,#faf7fc)!important}
.ogv-dashboard-stat:before,
.ogv-dashboard-stat:after{display:block!important}.ogv-dashboard-stat__icon{width:38px;height:38px;margin-bottom:20px;border-radius:12px;background:#f0e3fb;color:#7418c0}.ogv-dashboard-stat--balance .ogv-dashboard-stat__icon{background:rgba(255,255,255,.14);color:#fff}.ogv-dashboard-stat--balance>span{color:rgba(255,255,255,.67)}.ogv-dashboard-stat--balance strong{color:#fff;font-size:27px}.ogv-dashboard-stat__actions a{background:rgba(255,255,255,.15);color:#fff!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.16)}
.ogv-app-body .ogv-app-content .well,
.ogv-app-body .ogv-app-content .well-float{padding:20px!important;border:1px solid #e8e1eb!important;border-radius:20px!important;background:#fff!important;box-shadow:0 12px 30px rgba(45,20,61,.06)!important;overflow:hidden}
.ogv-app-body .ogv-app-content .panel{border:0!important;border-bottom:1px solid #e5dde8!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}.ogv-app-body .ogv-app-content .panel:last-child{border-bottom:0!important}
.ogv-app-body .ogv-app-content .ogv-table-scroll,
.ogv-app-body .ogv-app-content .table-responsive{border:1px solid #e4dce7!important;border-radius:14px!important;background:#fff!important;box-shadow:none!important}.ogv-app-body .ogv-app-content .table>thead>tr>th{background:#faf7fc!important}
.ogv-app-body .ogv-app-content .nav-pills,
.ogv-app-body .ogv-app-content .nav-tabs{gap:7px;padding:6px!important;border:1px solid #e8e1eb!important;border-radius:14px!important;background:#fff!important;box-shadow:none!important}.ogv-app-body .ogv-app-content .nav-pills>li>a,
.ogv-app-body .ogv-app-content .nav-tabs>li>a{padding:9px 13px!important;border-radius:9px!important}.ogv-app-body .ogv-app-content .nav-pills>li.active>a,
.ogv-app-body .ogv-app-content .nav-tabs>li.active>a{background:#efe1fb!important}.ogv-app-body .ogv-app-content .nav-pills>li.active>a:after,
.ogv-app-body .ogv-app-content .nav-tabs>li.active>a:after{display:none}
.ogv-empty-state{min-height:280px;padding:40px 22px!important;border:1px solid #e8e1eb!important;border-radius:20px!important;background:#fff!important;box-shadow:0 12px 30px rgba(45,20,61,.06)!important}
@media(max-width:991px){.ogv-app-sidebar{width:min(86vw,310px);padding:18px 16px 20px}.ogv-app-nav{display:flex;flex-direction:column;gap:3px}.ogv-app-nav__label{margin:0 10px 8px}.ogv-app-nav__link{min-height:54px;gap:12px;padding:8px 10px!important;border:0!important;border-radius:12px!important;background:transparent!important;box-shadow:none!important}.ogv-app-nav__link.is-active{background:#f1e5fb!important;color:#6810b3!important}.ogv-app-nav__link.is-active:before{position:absolute;top:13px;bottom:13px;left:0;width:3px;border-radius:0 4px 4px 0;background:#8a2bd4;content:""}.ogv-app-nav__reicon{width:34px;height:34px;flex-basis:34px;border:0;border-radius:10px;background:#f6f2f8}.ogv-app-nav__link.is-active .ogv-app-nav__reicon{background:#fff;color:#7418c0;box-shadow:none}.ogv-app-nav__link>b{right:12px}.ogv-app-sidebar__support{margin:16px 4px 0;padding:17px!important;border:0!important;border-radius:16px!important;background:#f8efff!important;box-shadow:none!important}.ogv-app-sidebar__account{margin-top:14px;padding-top:12px;border-top:1px solid #eee8f0}.ogv-app-sidebar__account a{min-height:43px;padding:7px 8px;border:0!important;border-radius:10px}.ogv-dashboard-stats{grid-template-columns:1fr 1fr}.ogv-dashboard-stat--orders{grid-column:1/-1}}
@media(max-width:600px){.ogv-dashboard-stats{grid-template-columns:1fr;gap:13px}.ogv-dashboard-stat,
.ogv-dashboard-stat--orders{min-height:145px;grid-column:auto}.ogv-app-body .ogv-app-content .well{padding:16px!important;border-radius:18px!important}.ogv-empty-state{min-height:245px;border-radius:18px!important}}

/* Famsup-matched sidebar interaction with unboxed Reicon outlines */
.ogv-app-nav__reicon{display:grid!important;width:25px!important;height:25px!important;flex:0 0 25px!important;place-items:center;border:0!important;border-radius:0!important;background:transparent!important;color:#716776!important;box-shadow:none!important}
.ogv-app-nav__link{gap:14px!important}.ogv-app-nav__link.is-active{background:#f2e5fc!important;color:#6810b3!important;box-shadow:none!important}.ogv-app-nav__link.is-active .ogv-app-nav__reicon{border:0!important;border-radius:0!important;background:transparent!important;color:#7718c5!important;box-shadow:none!important}
.ogv-app-sidebar__account re-icon{width:23px!important;height:23px!important;flex:0 0 23px!important;border:0!important;border-radius:0!important;background:transparent!important;color:#786d7e!important;box-shadow:none!important}
@media(max-width:991px){.ogv-app-nav__link{min-height:56px;padding:9px 13px!important}.ogv-app-nav__link.is-active:before{top:12px;bottom:12px;width:3px}.ogv-app-nav__link>b{right:14px}}

/* Sidebar tap/focus polish: remove the browser's black click outline. */
.ogv-app-nav__link:focus,
.ogv-app-nav__link:active{border-color:transparent!important;outline:0!important;-webkit-tap-highlight-color:transparent}
.ogv-app-nav__link:focus-visible{outline:0!important;outline-offset:0!important}
.ogv-app-sidebar__account a:focus,
.ogv-app-sidebar__account a:active,
.ogv-app-user:focus,
.ogv-app-user:active{border-color:transparent!important;outline:0!important;box-shadow:none!important;-webkit-tap-highlight-color:transparent}
.ogv-app-sidebar__account a:focus-visible,
.ogv-app-user:focus-visible{outline:0!important;outline-offset:0!important}

/* Clicks anywhere in the authenticated navigation must never expose a native black ring. */
.ogv-app-sidebar a:focus,
.ogv-app-sidebar a:focus-visible,
.ogv-app-sidebar a:active,
.ogv-app-sidebar button:focus,
.ogv-app-sidebar button:focus-visible,
.ogv-app-sidebar button:active,
.ogv-app-sidebar re-icon:focus,
.ogv-app-sidebar re-icon:focus-visible,
.ogv-app-sidebar re-icon:active,
.ogv-app-user:focus,
.ogv-app-user:focus-visible,
.ogv-app-user:active{
  border-color:transparent!important;
  outline:0!important;
  outline-offset:0!important;
  box-shadow:none!important;
  -webkit-tap-highlight-color:transparent!important;
}

/* Famsup-inspired individual workspaces: one calm surface per task, not card stacks. */

@media(max-width:991px){
  .ogv-app-body.ogv-app-ready:not(.ogv-app-nav-open) .ogv-app-sidebar{
    transform:translateX(-110%)!important;
    transition:none!important;
  }
  .ogv-app-body.ogv-app-nav-open .ogv-app-sidebar{
    transform:translateX(0)!important;
    transition:transform .25s ease!important;
  }
}

/* MoreThanPanel-inspired public service route system (OgaViral brand). */
.ogv-service-root{display:none}
.ogv-service-root [hidden]{display:none!important}
body.ogv-service-route{margin:0!important;background:#fff;color:#171219;font-family:Satoshi,Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;overflow-x:hidden}
body.ogv-service-route>.navbar{display:none!important}
body.ogv-service-route .ogv-service-root{display:block}
.ogv-service-root,
.ogv-service-root *{box-sizing:border-box}
.ogv-service-root a{text-decoration:none}
.ogv-service-root .sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.ogv-service-root button,
.ogv-service-root input,
.ogv-service-root select{font:inherit}
.ogv-mtp-shell{width:min(1180px,calc(100% - 42px));margin-right:auto;margin-left:auto}
.ogv-mtp-header{position:relative;z-index:40;background:#fff}
.ogv-mtp-header__inner{display:grid;min-height:112px;grid-template-columns:auto auto 1fr auto;align-items:center;gap:33px}
.ogv-mtp-brand{display:inline-flex;align-items:center;gap:10px;color:#24162c!important}
.ogv-mtp-brand strong{font-size:24px;font-weight:900;letter-spacing:-1px}
.ogv-mtp-brand__mark{position:relative;display:block;width:54px;height:54px;border:1px solid #eadcf6;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff 0 12%,#f1dcff 13% 32%,#943af8 33% 53%,#3b0078 54% 72%,#ffb347 73%);box-shadow:0 8px 24px rgba(83,11,139,.14);transform:rotate(-8deg)}
.ogv-mtp-brand__mark:after{position:absolute;inset:7px;border:2px solid rgba(255,255,255,.78);border-radius:50%;content:""}
.ogv-mtp-brand__mark i{position:absolute;z-index:1;display:block;width:4px;height:4px;border-radius:50%;background:#fff}
.ogv-mtp-brand__mark i:nth-child(1){top:13px;left:18px}.ogv-mtp-brand__mark i:nth-child(2){top:23px;right:12px}.ogv-mtp-brand__mark i:nth-child(3){right:22px;bottom:10px}
.ogv-mtp-language{display:flex;min-height:53px;align-items:center;gap:10px;padding:0;border:0;background:transparent;color:#55465c;text-align:left}
.ogv-mtp-language>re-icon:first-child{display:grid;width:40px;height:40px;place-items:center;border-radius:12px;background:linear-gradient(145deg,#3b0078,#943af8);color:#fff;box-shadow:0 8px 17px rgba(80,8,136,.18)}
.ogv-mtp-language span{display:flex;flex-direction:column;font-size:12px;font-weight:750}.ogv-mtp-language small{margin-top:2px;color:#9a8c9f;font-size:11px;font-weight:650}
.ogv-mtp-nav{display:flex;align-items:center;justify-content:center;gap:48px}
.ogv-mtp-nav a{display:inline-flex;align-items:center;gap:5px;color:#6c5a70!important;font-size:14px;font-weight:760;white-space:nowrap}
.ogv-mtp-nav a:hover{color:#7516c4!important}
.ogv-mtp-header__actions{display:flex;align-items:center;gap:23px}.ogv-mtp-signin{color:#6d5d72!important;font-size:14px;font-weight:700}.ogv-mtp-register{display:inline-flex;min-width:124px;min-height:44px;align-items:center;justify-content:center;border-radius:999px;background:linear-gradient(115deg,#3b0078,#943af8);color:#fff!important;font-size:13px;font-weight:800;box-shadow:0 11px 25px rgba(78,8,132,.18)}
.ogv-mtp-menu{display:none;width:42px;height:42px;place-items:center;border:0;border-radius:12px;background:#3b0078;color:#fff}
.ogv-mtp-hero{position:relative;min-height:610px;padding:32px 0 28px;background:#fff;overflow:hidden}
.ogv-mtp-hero:before,
.ogv-mtp-hero:after{position:absolute;border-radius:50%;filter:blur(80px);content:"";pointer-events:none}.ogv-mtp-hero:before{right:7%;bottom:-115px;width:460px;height:360px;background:rgba(215,181,255,.48)}.ogv-mtp-hero:after{bottom:-145px;left:9%;width:390px;height:330px;background:rgba(255,179,71,.21)}
.ogv-mtp-hero__wash{position:absolute;right:-5%;bottom:-80px;left:-5%;height:360px;background:linear-gradient(95deg,rgba(255,231,211,.35),rgba(242,215,255,.48),rgba(220,228,255,.5));filter:blur(12px);transform:skewY(-2deg);opacity:.9}
.ogv-mtp-hero__inner{position:relative;z-index:2;text-align:center}
.ogv-mtp-rating{display:inline-flex;align-items:center;gap:11px;margin-bottom:12px;text-align:left}.ogv-mtp-rating__g{font-family:Arial,sans-serif;font-size:31px;font-weight:900;background:conic-gradient(#4285f4,#34a853,#fbbc05,#ea4335,#4285f4);background-clip:text;color:transparent}.ogv-mtp-rating>span:last-child{display:grid;grid-template-columns:auto auto;align-items:center;column-gap:12px}.ogv-mtp-rating b{grid-row:1/3;color:#ffb347;font-size:13px;letter-spacing:1px}.ogv-mtp-rating small{padding-left:12px;border-left:1px solid #d8d0db;color:#514953;font-size:11px}.ogv-mtp-rating small strong{font-weight:900}
.ogv-mtp-hero h1{max-width:980px;margin:0 auto;color:#171219;font-size:59px;font-weight:900;letter-spacing:-3.4px;line-height:1.05}.ogv-mtp-hero h1 span{background:linear-gradient(105deg,#943af8 10%,#ffb347 95%);background-clip:text;color:transparent}.ogv-mtp-hero h1 b{font-weight:900}
.ogv-mtp-hero__lead{max-width:930px;margin:29px auto 0;color:#3f3742;font-size:14px;font-weight:540;line-height:24px}
.ogv-mtp-trustline{display:flex;justify-content:center;gap:98px;margin:34px 0 0;padding:0;list-style:none}.ogv-mtp-trustline li{display:flex;align-items:center;gap:7px;color:#342d36;font-size:13px;font-weight:760}.ogv-mtp-trustline re-icon{color:#23b36e}.ogv-mtp-trustline small{display:inline-grid;width:12px;height:12px;place-items:center;border-radius:50%;background:#918897;color:#fff;font:700 8px/1 Arial}
.ogv-mtp-smm-features{display:none;max-width:620px;grid-template-columns:repeat(3,1fr);gap:11px 50px;margin:35px auto 0;padding:0;list-style:none;text-align:left}.ogv-mtp-smm-features li{display:flex;align-items:center;gap:7px;color:#44384a;font-size:11px;font-weight:800}.ogv-mtp-smm-features re-icon{color:#7616c4}body.ogv-service-smm .ogv-mtp-trustline{display:none}body.ogv-service-smm .ogv-mtp-smm-features{display:grid}
@media(min-width:601px){body.ogv-service-smm .ogv-mtp-hero__lead{max-height:72px;overflow:hidden}}
.ogv-mtp-social-proof{position:relative;z-index:3;display:flex;align-items:center;justify-content:center;gap:14px;margin-top:50px}.ogv-mtp-video{display:flex;width:132px;height:66px;align-items:center;gap:9px;padding:8px;border:1px solid rgba(121,68,154,.16);border-radius:18px;background:linear-gradient(145deg,#e4c1ff,#fff1df);color:#6c5873;box-shadow:0 10px 30px rgba(73,22,106,.08)}.ogv-mtp-video span{display:grid;width:48px;height:48px;place-items:center;border-radius:14px;background:linear-gradient(145deg,#3b0078,#943af8);color:#fff}.ogv-mtp-video small{font-size:9px;font-weight:800;line-height:1.25}.ogv-mtp-trusted{display:flex;min-height:70px;align-items:center;gap:18px;padding:7px 8px 7px 16px;border:1px solid #e2d4ea;border-radius:18px;background:rgba(255,255,255,.88);box-shadow:0 10px 30px rgba(51,18,72,.08);backdrop-filter:blur(12px)}.ogv-mtp-faces{display:flex;padding-left:19px}.ogv-mtp-faces i{display:grid;width:38px;height:38px;place-items:center;margin-left:-19px;border:3px solid #fff;border-radius:50%;background:#f1ddff;color:#7614c6;font-size:11px;font-style:normal;font-weight:900}.ogv-mtp-faces i:nth-child(2){background:#ffe7cd;color:#995c16}.ogv-mtp-faces i:nth-child(3){background:#e5efff;color:#325894}.ogv-mtp-faces i:nth-child(4){background:#f9dff0;color:#9a326f}.ogv-mtp-trusted>b{font-size:14px;white-space:nowrap}.ogv-mtp-trusted>a{display:inline-flex;min-width:157px;min-height:48px;align-items:center;justify-content:center;border-radius:13px;background:linear-gradient(115deg,#3b0078,#943af8);color:#fff!important;font-size:13px;font-weight:800}
.ogv-mtp-hero-art{position:absolute;z-index:-1;right:-18px;bottom:58px;width:460px;opacity:.78;pointer-events:none}.ogv-mtp-hero-art svg{display:block;width:100%;height:auto;overflow:visible}.ogv-mtp-hero-art text{user-select:none}
.ogv-mtp-login{position:relative;z-index:4;display:grid;max-width:1108px;min-height:120px;grid-template-columns:1.45fr 1.45fr 52px .74fr;align-items:center;gap:12px;margin:33px auto 0;padding:27px 22px;border:1px solid rgba(119,74,153,.17);border-radius:21px;background:rgba(240,237,255,.88);box-shadow:0 18px 50px rgba(61,24,86,.08);backdrop-filter:blur(12px)}.ogv-mtp-login>.alert{grid-column:1/-1;margin:0}.ogv-mtp-login label{position:relative;margin:0}.ogv-mtp-login input{width:100%;height:52px;padding:0 17px;border:1px solid #ded7e4;border-radius:13px;background:#fff;color:#342a39;font-size:12px;font-weight:700;outline:none;box-shadow:none}.ogv-mtp-login input:focus{border-color:#a148f4;box-shadow:0 0 0 4px rgba(161,72,244,.1)}.ogv-mtp-login__password input{padding-right:112px}.ogv-mtp-login__password>a{position:absolute;top:0;right:13px;display:flex;height:52px;align-items:center;color:#64596a!important;font-size:9px;font-weight:650}.ogv-mtp-bookmark{display:grid;width:52px;height:52px;place-items:center;border:1px solid #ded7e4;border-radius:13px;background:#fff;color:#b8a8cc}.ogv-mtp-login__submit{height:52px;border:0;border-radius:13px;background:linear-gradient(115deg,#3b0078,#943af8);color:#fff;font-size:14px;font-weight:800}.ogv-mtp-login__captcha{grid-column:1/-1}
.ogv-mtp-press{border-top:1px solid #f1edf3;border-bottom:1px solid #f1edf3;background:#fff}.ogv-mtp-press .ogv-mtp-shell{display:grid;min-height:116px;grid-template-columns:repeat(6,1fr);align-items:center;gap:28px}.ogv-mtp-press span{color:#b4acb7;font-family:Arial,sans-serif;font-size:15px;font-weight:900;line-height:1.05;text-align:center;filter:grayscale(1)}
.ogv-mtp-section{padding:92px 0}.ogv-mtp-section__head{max-width:780px;margin:0 auto 44px;text-align:center}.ogv-mtp-section__head>span,
.ogv-mtp-calculator__box>div>span,
.ogv-mtp-newsletter>div>div>span{display:block;margin-bottom:11px;color:#943af8;font-size:11px;font-weight:900;letter-spacing:.14em;text-transform:uppercase}.ogv-mtp-section__head h2,
.ogv-mtp-calculator h2,
.ogv-mtp-newsletter h2{margin:0;color:#1f1723;font-size:42px;font-weight:900;letter-spacing:-2px;line-height:1.12}.ogv-mtp-section__head h2 b,
.ogv-mtp-calculator h2 b{background:linear-gradient(105deg,#943af8,#ffb347);background-clip:text;color:transparent;font-weight:900}.ogv-mtp-section__head p{max-width:650px;margin:16px auto 0;color:#85788a;font-size:14px;line-height:23px}
.ogv-mtp-reviews{background:#fbf9fc}.ogv-mtp-tabs,
.ogv-mtp-product-tabs,
.ogv-mtp-size-tabs{display:flex;justify-content:center;gap:7px;margin-bottom:35px}.ogv-mtp-tabs button,
.ogv-mtp-product-tabs button,
.ogv-mtp-size-tabs button{min-height:44px;padding:0 19px;border:1px solid #e9e1ed;border-radius:999px;background:#fff;color:#7c6f82;font-size:11px;font-weight:800}.ogv-mtp-tabs button.is-active,
.ogv-mtp-product-tabs button.is-active,
.ogv-mtp-size-tabs button.is-active{border-color:#943af8;background:#943af8;color:#fff;box-shadow:0 10px 22px rgba(120,29,193,.18)}
.ogv-mtp-review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.ogv-mtp-review-grid>article{min-height:260px;padding:25px;border:1px solid #ece5ef;border-radius:23px;background:#fff;box-shadow:0 12px 34px rgba(49,18,69,.055)}.ogv-mtp-review-grid>article>div{display:flex;align-items:center;justify-content:space-between}.ogv-mtp-review-grid>article>div b{font-size:30px;font-weight:900}.ogv-mtp-review-grid>article>div span{color:#ffb347;font-size:12px;letter-spacing:2px}.ogv-mtp-review-grid>article>p{min-height:92px;margin:28px 0;color:#655a69;font-size:13px;line-height:22px}.ogv-mtp-review-grid footer{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:11px}.ogv-mtp-review-grid footer i{display:grid;width:42px;height:42px;place-items:center;border-radius:50%;background:#f0e0ff;color:#7715c7;font-size:11px;font-style:normal;font-weight:900}.ogv-mtp-review-grid footer span{display:flex;flex-direction:column}.ogv-mtp-review-grid footer span b{font-size:11px}.ogv-mtp-review-grid footer span small,
.ogv-mtp-review-grid footer time{color:#a095a4;font-size:9px}
.ogv-mtp-stats{background:linear-gradient(120deg,#2e0052,#6410a8 56%,#943af8);color:#fff}.ogv-mtp-stats .ogv-mtp-shell{display:grid;min-height:155px;grid-template-columns:repeat(4,1fr);align-items:center}.ogv-mtp-stats article{display:flex;min-height:77px;flex-direction:column;align-items:center;justify-content:center;border-right:1px solid rgba(255,255,255,.16);text-align:center}.ogv-mtp-stats article:last-child{border-right:0}.ogv-mtp-stats strong{font-size:29px;font-weight:900}.ogv-mtp-stats span{margin-top:7px;color:rgba(255,255,255,.7);font-size:10px;font-weight:760;text-transform:uppercase;letter-spacing:.1em}
.ogv-mtp-instant{background:#fff}.ogv-mtp-instant__grid{display:grid;grid-template-columns:1.2fr .8fr;gap:30px}.ogv-mtp-service-copy,
.ogv-mtp-config{padding:32px;border:1px solid #e9e1ec;border-radius:25px;background:#fff;box-shadow:0 16px 40px rgba(46,17,63,.06)}.ogv-mtp-service-copy .ogv-mtp-icon{display:grid;width:50px;height:50px;place-items:center;margin-bottom:22px;border-radius:16px;background:#f2e5ff;color:#7716c5}.ogv-mtp-service-copy h3{margin:0 0 14px;color:#261d2b;font-size:25px;font-weight:900;letter-spacing:-.7px}.ogv-mtp-service-copy h3 b{font-weight:900}.ogv-mtp-service-copy p{margin:0;color:#7d7182;font-size:12px;line-height:20px}.ogv-mtp-service-copy h4{margin:23px 0 8px;color:#3f3444;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.ogv-mtp-service-copy ul{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0;padding:0;list-style:none}.ogv-mtp-service-copy li{padding:11px;border-radius:11px;background:#faf7fc;color:#776b7c;font-size:9px}.ogv-mtp-service-copy li strong{display:block;margin-bottom:3px;color:#362d3a}
.ogv-mtp-config{display:flex;flex-direction:column;background:linear-gradient(145deg,#faf5ff,#fff)}.ogv-mtp-config>span{margin-bottom:23px;color:#2d2232;font-size:18px;font-weight:900}.ogv-mtp-config label{display:flex;flex-direction:column;gap:8px;margin-bottom:18px;color:#615568;font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.05em}.ogv-mtp-config select,
.ogv-mtp-stepper{width:100%;height:49px;border:1px solid #e3dae7;border-radius:12px;background:#fff;color:#433748}.ogv-mtp-config select{padding:0 13px;outline:none}.ogv-mtp-stepper{display:grid;grid-template-columns:48px 1fr 48px;overflow:hidden}.ogv-mtp-stepper button{border:0;background:#f8f1fd;color:#7516c3;font-size:19px;font-weight:800}.ogv-mtp-stepper input{width:100%;border:0;border-right:1px solid #eee6f1;border-left:1px solid #eee6f1;text-align:center;outline:none}.ogv-mtp-total{display:flex;align-items:flex-end;justify-content:space-between;margin:5px 0 20px}.ogv-mtp-total span{color:#86798a;font-size:10px}.ogv-mtp-total strong{font-size:30px;font-weight:900}.ogv-mtp-add{display:flex;min-height:51px;align-items:center;justify-content:center;gap:9px;border:0;border-radius:13px;background:linear-gradient(115deg,#3b0078,#943af8);color:#fff;font-size:13px;font-weight:850}.ogv-mtp-config>small{margin-top:12px;color:#9b8fa0;font-size:9px;text-align:center}
.ogv-mtp-packages{background:#faf8fb}.ogv-mtp-package-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.ogv-mtp-package-grid article{position:relative;padding:28px;border:1px solid #e9e2ed;border-radius:24px;background:#fff;box-shadow:0 14px 38px rgba(45,18,62,.055)}.ogv-mtp-package-grid article.is-featured{border-color:#d9b7f7;box-shadow:0 18px 44px rgba(100,19,158,.12);transform:translateY(-8px)}.ogv-mtp-package-grid article>span{display:inline-flex;padding:7px 10px;border-radius:999px;background:#f2e4ff;color:#7614c5;font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.ogv-mtp-package-grid h3{margin:20px 0;color:#2b2130;font-size:20px;font-weight:900}.ogv-mtp-package-grid h3 b{font-weight:900}.ogv-mtp-package-grid ul{display:grid;gap:11px;margin:0 0 24px;padding:0;list-style:none}.ogv-mtp-package-grid li{position:relative;padding-left:22px;color:#746879;font-size:11px}.ogv-mtp-package-grid li:before{position:absolute;top:-2px;left:0;display:grid;width:16px;height:16px;place-items:center;border-radius:50%;background:#ecddf9;color:#7417bf;font-size:9px;font-weight:900;content:"✓"}.ogv-mtp-package-grid article>div{display:flex;align-items:baseline;gap:10px;margin-bottom:20px}.ogv-mtp-package-grid del{color:#aaa0ae;font-size:12px}.ogv-mtp-package-grid article>div strong{font-size:27px;font-weight:900}.ogv-mtp-package-grid article>a{display:flex;min-height:47px;align-items:center;justify-content:center;gap:8px;border-radius:12px;background:#f0e1fc;color:#7213c2!important;font-size:11px;font-weight:850}.ogv-mtp-package-grid .is-featured>a{background:linear-gradient(115deg,#3b0078,#943af8);color:#fff!important}
.ogv-mtp-calculator{background:#fff}.ogv-mtp-calculator__box{display:grid;grid-template-columns:1fr 270px;gap:65px;padding:52px;border-radius:29px;background:linear-gradient(125deg,#f8f1ff,#fff7ee);box-shadow:inset 0 0 0 1px #eadff0}.ogv-mtp-calculator h2{font-size:36px}.ogv-mtp-calculator p{margin:13px 0 28px;color:#84778a;font-size:12px}.ogv-mtp-calculator input[type=range]{width:100%;accent-color:#8a28db}.ogv-mtp-calculator aside{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:26px;border-radius:21px;background:#fff;box-shadow:0 14px 38px rgba(49,20,66,.08)}.ogv-mtp-calculator aside small{color:#988c9d;font-size:9px;text-transform:uppercase;letter-spacing:.08em}.ogv-mtp-calculator aside strong{margin:5px 0 18px;font-size:26px}.ogv-mtp-calculator aside b{margin:5px 0 18px;color:#7517c4;font-size:30px}.ogv-mtp-calculator aside a{display:flex;width:100%;min-height:45px;align-items:center;justify-content:center;border-radius:11px;background:linear-gradient(115deg,#3b0078,#943af8);color:#fff!important;font-size:11px;font-weight:850}
.ogv-mtp-faq{background:#faf8fb}.ogv-mtp-faq__grid{display:grid;grid-template-columns:260px 1fr;gap:28px}.ogv-mtp-faq__grid>nav{display:flex;flex-direction:column;gap:7px}.ogv-mtp-faq__grid>nav button{min-height:48px;padding:0 16px;border:1px solid #e9e2ec;border-radius:12px;background:#fff;color:#776b7c;font-size:10px;font-weight:800;text-align:left}.ogv-mtp-faq__grid>nav button.is-active{border-color:#dcc3f1;background:#f0e2fc;color:#7215bd}.ogv-mtp-accordions{display:grid;gap:10px}.ogv-mtp-accordions article{border:1px solid #e8e1eb;border-radius:15px;background:#fff;overflow:hidden}.ogv-mtp-accordions article>button{display:flex;width:100%;min-height:62px;align-items:center;justify-content:space-between;padding:0 20px;border:0;background:#fff;color:#3a303e;font-size:12px;font-weight:850;text-align:left}.ogv-mtp-accordions article p{display:none;margin:0;padding:0 20px 20px;color:#817584;font-size:11px;line-height:19px}.ogv-mtp-accordions article.is-open p{display:block}.ogv-mtp-accordions article.is-open>button re-icon{transform:rotate(180deg)}
.ogv-mtp-newsletter{padding:54px 0;background:linear-gradient(115deg,#2f0055,#6410a8 60%,#943af8);color:#fff}.ogv-mtp-newsletter .ogv-mtp-shell{display:grid;grid-template-columns:1fr 520px;align-items:center;gap:50px}.ogv-mtp-newsletter>div>div>span{color:#d7b5ff}.ogv-mtp-newsletter h2{color:#fff;font-size:32px}.ogv-mtp-newsletter p{margin:8px 0 0;color:rgba(255,255,255,.68);font-size:11px}.ogv-mtp-newsletter form{display:grid;grid-template-columns:1fr 145px;gap:9px}.ogv-mtp-newsletter input{width:100%;height:51px;padding:0 15px;border:1px solid rgba(255,255,255,.25);border-radius:12px;background:rgba(255,255,255,.13);color:#fff;outline:none}.ogv-mtp-newsletter input::placeholder{color:rgba(255,255,255,.55)}.ogv-mtp-newsletter button{border:0;border-radius:12px;background:#fff;color:#6613aa;font-size:10px;font-weight:900}
.ogv-mtp-footer{padding:70px 0 24px;background:#17101b;color:#fff}.ogv-mtp-footer__grid{display:grid;grid-template-columns:1.6fr repeat(3,1fr);gap:55px;padding-bottom:55px}.ogv-mtp-footer .ogv-mtp-brand{color:#fff!important}.ogv-mtp-footer .ogv-mtp-brand__mark{width:43px;height:43px}.ogv-mtp-footer__grid>div p{max-width:310px;margin:20px 0 0;color:#9e92a4;font-size:11px;line-height:19px}.ogv-mtp-footer nav{display:flex;flex-direction:column;gap:12px}.ogv-mtp-footer nav strong{margin-bottom:8px;font-size:11px;text-transform:uppercase;letter-spacing:.09em}.ogv-mtp-footer nav a{color:#a99eae!important;font-size:10px}.ogv-mtp-footer__bottom{display:flex;justify-content:space-between;padding-top:23px;border-top:1px solid rgba(255,255,255,.1);color:#756b79;font-size:9px}.ogv-mtp-mobile-nav{display:none}

@media(max-width:991px){
  .ogv-mtp-header__inner{min-height:84px;grid-template-columns:auto 1fr auto;gap:15px}.ogv-mtp-brand__mark{width:46px;height:46px}.ogv-mtp-brand strong{font-size:20px}.ogv-mtp-language{justify-self:end}.ogv-mtp-language span,
.ogv-mtp-language>re-icon:last-child,
.ogv-mtp-nav,
.ogv-mtp-header__actions{display:none}.ogv-mtp-menu{display:grid}
  body.ogv-service-menu-open .ogv-mtp-nav{position:absolute;top:76px;right:21px;left:21px;display:flex;align-items:stretch;flex-direction:column;gap:0;padding:13px;border:1px solid #e6dce9;border-radius:16px;background:#fff;box-shadow:0 22px 48px rgba(33,12,45,.17)}body.ogv-service-menu-open .ogv-mtp-nav a{padding:13px;border-bottom:1px solid #f0eaf2}body.ogv-service-menu-open .ogv-mtp-nav a:last-child{border-bottom:0}
  .ogv-mtp-hero h1{font-size:46px}.ogv-mtp-hero-art{right:-125px;width:420px;opacity:.48}.ogv-mtp-trustline{gap:35px}.ogv-mtp-login{grid-template-columns:1fr 1fr 52px}.ogv-mtp-login__submit{grid-column:1/-1}.ogv-mtp-press .ogv-mtp-shell{grid-template-columns:repeat(3,1fr)}.ogv-mtp-press span:nth-child(n+4){display:none}
  .ogv-mtp-review-grid{grid-template-columns:1fr 1fr}.ogv-mtp-review-grid article:last-child{display:none}.ogv-mtp-instant__grid{grid-template-columns:1fr}.ogv-mtp-package-grid{grid-template-columns:1fr 1fr}.ogv-mtp-package-grid article:last-child{grid-column:1/-1}.ogv-mtp-calculator__box{grid-template-columns:1fr 230px;gap:30px;padding:38px}.ogv-mtp-newsletter .ogv-mtp-shell{grid-template-columns:1fr;gap:24px}.ogv-mtp-footer__grid{grid-template-columns:1.4fr 1fr 1fr}.ogv-mtp-footer__grid nav:last-child{display:none}
}

@media(max-width:600px){
  body.ogv-service-route{padding-bottom:65px}.ogv-mtp-shell{width:min(100% - 30px,1180px)}.ogv-mtp-header__inner{min-height:84px}.ogv-mtp-brand strong{display:none}.ogv-mtp-brand__mark{width:50px;height:50px}.ogv-mtp-language>re-icon:first-child{width:40px;height:40px;background:#efe1fb;color:#7615c5;box-shadow:none}
  .ogv-mtp-hero{min-height:0;padding:18px 0 0}.ogv-mtp-hero__wash{bottom:50px;height:460px}.ogv-mtp-rating{margin-bottom:15px}.ogv-mtp-hero h1{font-size:34px;letter-spacing:-1.8px;line-height:1.08}.ogv-mtp-hero__lead{margin-top:18px;font-size:13px;line-height:21px}.ogv-mtp-trustline{display:grid;gap:12px;margin-top:25px;text-align:left}.ogv-mtp-trustline li{justify-content:center}.ogv-mtp-smm-features{grid-template-columns:1fr 1fr;gap:10px 18px;margin-top:26px}.ogv-mtp-hero-art{position:relative;z-index:0;right:auto;bottom:auto;width:min(300px,90vw);margin:-16px auto -42px;opacity:.94}.ogv-mtp-social-proof{align-items:stretch;margin-top:34px}.ogv-mtp-video{width:126px;height:auto;flex-direction:column;justify-content:center}.ogv-mtp-video small{display:none}.ogv-mtp-trusted{min-width:0;flex:1;flex-wrap:wrap;justify-content:center;gap:7px;padding:9px}.ogv-mtp-trusted>b{font-size:12px}.ogv-mtp-trusted>a{width:100%;min-width:0;min-height:44px}.ogv-mtp-faces i{width:32px;height:32px}.ogv-mtp-login{display:none}.ogv-mtp-press{margin-top:0}.ogv-mtp-press .ogv-mtp-shell{min-height:94px;grid-template-columns:repeat(3,1fr);gap:10px}.ogv-mtp-press span{font-size:11px}
  .ogv-mtp-section{padding:64px 0}.ogv-mtp-section__head{margin-bottom:30px}.ogv-mtp-section__head h2,
.ogv-mtp-calculator h2{font-size:30px;letter-spacing:-1.3px}.ogv-mtp-section__head p{font-size:12px;line-height:20px}.ogv-mtp-tabs,
.ogv-mtp-product-tabs,
.ogv-mtp-size-tabs{justify-content:flex-start;margin-right:-15px;overflow-x:auto;padding-right:15px;padding-bottom:5px}.ogv-mtp-tabs button,
.ogv-mtp-product-tabs button,
.ogv-mtp-size-tabs button{flex:0 0 auto;min-height:41px;padding:0 15px}.ogv-mtp-review-grid{grid-template-columns:1fr}.ogv-mtp-review-grid article:nth-child(n+2){display:none}
  .ogv-mtp-stats .ogv-mtp-shell{min-height:0;grid-template-columns:1fr 1fr;padding:20px 0}.ogv-mtp-stats article{min-height:90px}.ogv-mtp-stats article:nth-child(2){border-right:0}.ogv-mtp-stats article:nth-child(n+3){border-top:1px solid rgba(255,255,255,.13)}.ogv-mtp-stats strong{font-size:23px}
  .ogv-mtp-service-copy,
.ogv-mtp-config{padding:22px;border-radius:20px}.ogv-mtp-service-copy h3{font-size:21px}.ogv-mtp-service-copy ul{grid-template-columns:1fr}.ogv-mtp-package-grid{grid-template-columns:1fr}.ogv-mtp-package-grid article.is-featured{transform:none}.ogv-mtp-package-grid article:last-child{grid-column:auto}.ogv-mtp-calculator__box{grid-template-columns:1fr;gap:24px;padding:25px;border-radius:23px}.ogv-mtp-faq__grid{grid-template-columns:1fr}.ogv-mtp-faq__grid>nav{flex-direction:row;overflow-x:auto}.ogv-mtp-faq__grid>nav button{flex:0 0 auto}.ogv-mtp-newsletter{padding:44px 0}.ogv-mtp-newsletter form{grid-template-columns:1fr}.ogv-mtp-newsletter button{height:48px}.ogv-mtp-footer{padding-top:54px}.ogv-mtp-footer__grid{grid-template-columns:1fr 1fr;gap:35px}.ogv-mtp-footer__grid>div{grid-column:1/-1}.ogv-mtp-footer__bottom{align-items:flex-start;flex-direction:column;gap:7px}
  .ogv-mtp-mobile-nav{position:fixed;right:0;bottom:0;left:0;z-index:80;display:grid;height:65px;grid-template-columns:repeat(3,1fr);border-top:1px solid #e9e1ec;background:rgba(255,255,255,.96);box-shadow:0 -8px 24px rgba(40,16,54,.08);backdrop-filter:blur(14px)}.ogv-mtp-mobile-nav a{display:flex;align-items:center;justify-content:center;gap:5px;color:#65586b!important;font-size:9px;font-weight:800}.ogv-mtp-mobile-nav a:nth-child(2){color:#7614c5!important}
}

.ogv-mtp-login>.alert:empty,
.ogv-mtp-login__captcha:empty{display:none}
.ogv-mtp-review-grid{grid-template-columns:repeat(4,1fr)}
.ogv-mtp-review-grid>.ogv-mtp-video-review{position:relative;min-height:360px;padding:0;border:0;background:radial-gradient(circle at 50% 29%,#f4dbff 0 14%,transparent 14.5%),radial-gradient(ellipse at 50% 95%,#6c19a9 0 44%,transparent 44.5%),linear-gradient(150deg,#2b1644,#9654bb);box-shadow:0 16px 38px rgba(42,16,58,.16);overflow:hidden}
.ogv-mtp-review-grid>.ogv-mtp-video-review:nth-child(2){background:radial-gradient(circle at 50% 29%,#ffe0c9 0 14%,transparent 14.5%),radial-gradient(ellipse at 50% 95%,#513249 0 44%,transparent 44.5%),linear-gradient(145deg,#412b4f,#d79a7b)}
.ogv-mtp-review-grid>.ogv-mtp-video-review:nth-child(3){background:radial-gradient(circle at 50% 29%,#f1d5cb 0 14%,transparent 14.5%),radial-gradient(ellipse at 50% 95%,#31516f 0 44%,transparent 44.5%),linear-gradient(145deg,#24415c,#82b6c8)}
.ogv-mtp-review-grid>.ogv-mtp-video-review:nth-child(4){background:radial-gradient(circle at 50% 29%,#f6dbc9 0 14%,transparent 14.5%),radial-gradient(ellipse at 50% 95%,#79614b 0 44%,transparent 44.5%),linear-gradient(145deg,#5d443d,#d8b39a)}
.ogv-mtp-video-review>button{position:absolute;top:42%;left:50%;display:grid;width:64px;height:64px;place-items:center;border:1px solid rgba(255,255,255,.7);border-radius:50%;background:rgba(255,255,255,.88);color:#7216be;box-shadow:0 10px 28px rgba(29,10,40,.18);transform:translate(-50%,-50%)}
.ogv-mtp-video-review footer{position:absolute;right:18px;bottom:18px;left:18px;color:#fff}.ogv-mtp-review-grid>.ogv-mtp-video-review footer i{border:2px solid rgba(255,255,255,.65);background:rgba(255,255,255,.2);color:#fff}.ogv-mtp-review-grid>.ogv-mtp-video-review footer span b{font-size:12px}.ogv-mtp-review-grid>.ogv-mtp-video-review footer span small,
.ogv-mtp-review-grid>.ogv-mtp-video-review footer time{color:rgba(255,255,255,.72)}
@media(max-width:991px){.ogv-mtp-review-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.ogv-mtp-review-grid{grid-template-columns:1fr}.ogv-mtp-review-grid>.ogv-mtp-video-review{min-height:410px}}

.ogv-mtp-free-hero,
.ogv-mtp-tool-hero{display:none}
body.ogv-service-free .ogv-mtp-free-hero,
body.ogv-service-tool .ogv-mtp-tool-hero{display:block}
body.ogv-service-free .ogv-mtp-hero,
body.ogv-service-free .ogv-mtp-press,
body.ogv-service-free .ogv-mtp-reviews,
body.ogv-service-free .ogv-mtp-instant,
body.ogv-service-free .ogv-mtp-calculator{display:none}
body.ogv-service-tool .ogv-mtp-hero,
body.ogv-service-tool .ogv-mtp-press,
body.ogv-service-tool .ogv-mtp-reviews,
body.ogv-service-tool .ogv-mtp-stats,
body.ogv-service-tool .ogv-mtp-instant,
body.ogv-service-tool .ogv-mtp-calculator{display:none}
.ogv-mtp-free-hero{position:relative;min-height:720px;padding:74px 0 55px;background:linear-gradient(180deg,#e8d9ff 0,#f4e9ff 46%,#fff 100%);overflow:hidden}
.ogv-mtp-free-hero .ogv-mtp-shell{position:relative;z-index:2}.ogv-mtp-free-hero h1{margin:0;color:#18111c;font-size:42px;font-weight:900;letter-spacing:-1.8px;text-align:center}.ogv-mtp-free-hero>div>p{max-width:760px;margin:22px auto 0;color:#5f5265;font-size:14px;line-height:23px;text-align:center}
.ogv-mtp-free-hero__orb{position:absolute;z-index:1;display:grid;width:160px;height:160px;place-items:center;border:12px solid rgba(255,255,255,.7);border-radius:50%;background:linear-gradient(145deg,#3b0078,#a148f4);color:#fff;box-shadow:0 26px 55px rgba(80,10,131,.22);transform:rotate(-14deg)}.ogv-mtp-free-hero__orb--one{top:92px;left:-54px}.ogv-mtp-free-hero__orb--two{right:-48px;bottom:30px;background:linear-gradient(145deg,#ffb347,#943af8);transform:rotate(17deg)}
.ogv-mtp-free-form{display:grid;grid-template-columns:1fr 1fr .8fr;align-items:end;gap:48px;max-width:930px;margin:58px auto 0;padding:31px 22px;border:1px solid rgba(114,55,151,.16);border-radius:20px;background:rgba(240,238,255,.92);box-shadow:0 18px 42px rgba(55,20,76,.09)}.ogv-mtp-free-form label{display:flex;flex-direction:column;gap:9px;margin:0;color:#433747;font-size:11px;font-weight:850}.ogv-mtp-free-form input{width:100%;height:50px;padding:0 14px;border:1px solid #ddd5e2;border-radius:11px;background:#fff;color:#332738;outline:none}.ogv-mtp-free-form input:focus{border-color:#a148f4;box-shadow:0 0 0 4px rgba(161,72,244,.1)}.ogv-mtp-free-form button{display:flex;height:50px;align-items:center;justify-content:center;gap:9px;border:0;border-radius:11px;background:linear-gradient(115deg,#3b0078,#943af8);color:#fff;font-size:12px;font-weight:850}
.ogv-mtp-free-notes{display:grid;max-width:930px;grid-template-columns:1fr 1fr;gap:9px 28px;margin:44px auto 0;padding:0;list-style:none}.ogv-mtp-free-notes li{display:flex;align-items:center;gap:8px;color:#66576c;font-size:11px}.ogv-mtp-free-notes re-icon{color:#7615c3}.ogv-mtp-free-stats{display:flex;max-width:930px;gap:78px;margin:47px auto 0}.ogv-mtp-free-stats article{display:flex;flex-direction:column}.ogv-mtp-free-stats strong{color:#221727;font-size:29px;font-weight:900}.ogv-mtp-free-stats span{margin-top:4px;color:#7e6f84;font-size:10px}
.ogv-mtp-tool-hero{padding:38px 0 92px;background:#fff}.ogv-mtp-tool-card{padding:37px 58px 43px;border-radius:13px;background:linear-gradient(105deg,#ffb347,#f35046 53%,#943af8);color:#fff;box-shadow:0 14px 30px rgba(72,22,91,.16)}.ogv-mtp-tool-card h1{margin:0 0 28px;color:#fff;font-size:28px;font-weight:900;letter-spacing:-.6px;text-align:center}.ogv-mtp-tool-fields{display:grid;grid-template-columns:repeat(3,1fr);gap:70px}.ogv-mtp-tool-fields label{display:flex;flex-direction:column;gap:8px;color:#fff;font-size:11px;font-weight:750}.ogv-mtp-tool-fields select,
.ogv-mtp-tool-fields input,
.ogv-mtp-tool-fields output{display:flex;width:100%;height:48px;align-items:center;padding:0 14px;border:0;border-radius:8px;background:rgba(255,255,255,.22);color:#fff;outline:none}.ogv-mtp-tool-fields select option{color:#302638}.ogv-mtp-tool-fields output{font-size:17px;font-weight:900}.ogv-mtp-tool-text-wrap{display:none;margin:0}.ogv-mtp-tool-text-wrap>span{display:block;margin-bottom:9px;font-size:11px;font-weight:800}.ogv-mtp-tool-text-wrap textarea{width:100%;padding:14px;border:0;border-radius:10px;background:rgba(255,255,255,.2);color:#fff;outline:none;resize:vertical}.ogv-mtp-tool-text-wrap small{display:block;margin-top:8px;text-align:right}
.ogv-mtp-tool-intro{display:grid;grid-template-columns:.8fr 1.2fr;align-items:center;gap:80px;padding-top:62px}.ogv-mtp-tool-visual{position:relative;display:grid;min-height:270px;place-items:center;border:1px solid #eadff0;border-radius:26px;background:linear-gradient(145deg,#faf5ff,#fff8ef);color:#7a17c8;overflow:hidden}.ogv-mtp-tool-visual:before{position:absolute;width:190px;height:190px;border-radius:50%;background:#ead6fb;content:""}.ogv-mtp-tool-visual re-icon{position:relative;z-index:2}.ogv-mtp-tool-visual span{position:absolute;bottom:35px;width:30px;border-radius:8px 8px 0 0;background:linear-gradient(#a148f4,#3b0078)}.ogv-mtp-tool-visual span:nth-of-type(1){left:24%;height:48px}.ogv-mtp-tool-visual span:nth-of-type(2){left:39%;height:82px}.ogv-mtp-tool-visual span:nth-of-type(3){right:39%;height:65px}.ogv-mtp-tool-visual span:nth-of-type(4){right:24%;height:112px}.ogv-mtp-tool-intro article>span{color:#943af8;font-size:10px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.ogv-mtp-tool-intro h2{margin:12px 0 17px;color:#251a2a;font-size:36px;font-weight:900;letter-spacing:-1.4px;line-height:1.14}.ogv-mtp-tool-intro p{margin:0;color:#7b6f80;font-size:13px;line-height:22px}
body.ogv-service-tool.ogv-tool-counter .ogv-mtp-tool-fields{display:none}body.ogv-service-tool.ogv-tool-counter .ogv-mtp-tool-text-wrap{display:block}
body.ogv-service-tool.ogv-tool-single .ogv-mtp-tool-fields{grid-template-columns:repeat(2,1fr)}
@media(max-width:991px){.ogv-mtp-free-form{gap:15px}.ogv-mtp-tool-fields{gap:20px}.ogv-mtp-tool-intro{gap:35px}.ogv-mtp-free-hero__orb{opacity:.32}}
@media(max-width:600px){.ogv-mtp-free-hero{min-height:0;padding:48px 0}.ogv-mtp-free-hero h1{font-size:32px}.ogv-mtp-free-hero>div>p{font-size:12px;line-height:20px}.ogv-mtp-free-form{grid-template-columns:1fr;gap:17px;margin-top:34px;padding:20px}.ogv-mtp-free-notes{grid-template-columns:1fr;margin-top:30px}.ogv-mtp-free-stats{justify-content:space-between;gap:12px;margin-top:34px}.ogv-mtp-free-stats strong{font-size:23px}.ogv-mtp-free-stats span{font-size:8px}.ogv-mtp-free-hero__orb{width:110px;height:110px;opacity:.17}.ogv-mtp-tool-hero{padding:20px 0 65px}.ogv-mtp-tool-card{padding:25px 19px;border-radius:16px}.ogv-mtp-tool-card h1{font-size:24px}.ogv-mtp-tool-fields,
body.ogv-service-tool.ogv-tool-single .ogv-mtp-tool-fields{grid-template-columns:1fr;gap:17px}.ogv-mtp-tool-intro{grid-template-columns:1fr;gap:28px;padding-top:42px}.ogv-mtp-tool-visual{min-height:230px}.ogv-mtp-tool-intro h2{font-size:29px}}

/* PiggyVest-inspired typography and corrected desktop landing-page grid. */
body.ogv-service-route{font-family:"Plus Jakarta Sans",Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;letter-spacing:-.018em}
.ogv-service-root button,
.ogv-service-root input,
.ogv-service-root select,
.ogv-service-root textarea{font-family:inherit}
.ogv-mtp-brand strong,
.ogv-mtp-hero h1,
.ogv-mtp-section__head h2,
.ogv-mtp-calculator h2,
.ogv-mtp-newsletter h2,
.ogv-mtp-service-copy h3,
.ogv-mtp-config>span,
.ogv-mtp-package-grid h3,
.ogv-mtp-stats strong{font-weight:800}

@media(min-width:992px){
  .ogv-mtp-header__inner{min-height:96px;grid-template-columns:auto auto minmax(360px,1fr) auto;gap:28px}
  .ogv-mtp-nav{gap:34px}
  .ogv-mtp-hero{min-height:690px;padding:52px 0 34px}
  .ogv-mtp-hero__inner{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(390px,.92fr);grid-template-areas:"rating art" "title art" "lead art" "trust art" "proof art" "login login";align-items:start;column-gap:64px;text-align:left}
  .ogv-mtp-rating{grid-area:rating;justify-self:start;margin:6px 0 20px}
  .ogv-mtp-hero h1{grid-area:title;max-width:660px;margin:0;font-size:60px;letter-spacing:-3.2px;line-height:1.01;text-wrap:balance}
  .ogv-mtp-hero__lead{grid-area:lead;max-width:640px;margin:24px 0 0;font-size:16px;font-weight:400;line-height:27px;text-wrap:pretty}
  .ogv-mtp-trustline{grid-area:trust;justify-content:flex-start;gap:30px;margin:30px 0 0}
  .ogv-mtp-smm-features{grid-area:trust;max-width:640px;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 24px;margin:30px 0 0}
  .ogv-mtp-social-proof{grid-area:proof;justify-content:flex-start;margin-top:34px}
  .ogv-mtp-hero-art{position:relative;right:auto;bottom:auto;grid-area:art;align-self:center;justify-self:end;width:min(100%,500px);margin-top:4px;opacity:.96;z-index:0}
  .ogv-mtp-login{grid-area:login;width:100%;max-width:none;min-height:106px;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 52px 180px;gap:12px;margin:44px 0 0;padding:25px 22px;text-align:left}
  .ogv-mtp-login__submit{text-align:center}
  .ogv-mtp-section__head p{font-size:15px;line-height:25px}
}

/* Services pricing shell cleanup must remain last so legacy theme rules cannot win. */
/* Reason cards: distinct rounded cards with breathing space across all screen sizes */
.ovr-fs-reason-grid {
  gap: 18px !important;
  border: 0 !important;
  background: transparent !important;
  overflow: visible !important;
}
.ovr-fs-reason-grid article {
  border-radius: 22px !important;
  box-shadow: 0 8px 24px rgba(35, 15, 50, 0.06) !important;
}
@media (max-width: 991px) {
  .ovr-fs-reason-grid {
    gap: 16px !important;
  }
}

/* Calculator exchange-rate disclosure */
body .ovr-calc-page .ovr-calc-panel__footer::before {
  content: "Reference exchange rate: $1 USD = ₦1,550 NGN (fixed for calculator estimates)";
  display: block;
  width: fit-content;
  margin: 0 auto 10px;
  padding: 7px 11px;
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.07);
  color: #f3e8ff;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.45;
  text-align: center;
}
@media (max-width: 768px) {
  .ovr-fs-reason-grid {
    gap: 14px !important;
    border: 0 !important;
    background: transparent !important;
    overflow: visible !important;
  }
  .ovr-fs-reason-grid article {
    border-radius: 20px !important;
    box-shadow: 0 6px 20px rgba(35, 15, 50, 0.05) !important;
  }
}

/* FAQ questions color: orange */
.ovr-fs-faq-list summary,
.ovr-fs-faq-list details.is-open summary {
  color: #ffa94d !important;
  font-weight: 750 !important;
}
.ovr-fs-faq-list summary i:before,
.ovr-fs-faq-list summary i:after {
  background: #ffa94d !important;
}

/* ==========================================================================
   Creator Calculators (Rich Brand Purple/Lavender Theme - Less White)
   ========================================================================== */
.ovr-calc-page {
  background: #15042a !important;
  color: #fff !important;
  min-height: 100vh;
}
.ovr-calc-page .ovr-motion-target,
.ovr-calc-page .ovr-calc-hero,
.ovr-calc-page .ovr-calc-content,
.ovr-calc-page .ovr-calc-section,
.ovr-calc-page .ovr-calc-panel {
  opacity: 1 !important;
  transform: none !important;
  visibility: visible !important;
}
.ovr-calc-hero {
  position: relative;
  overflow: hidden;
  padding: 60px 0 70px;
  background: radial-gradient(circle at 50% -20%, #4a008a 0%, #20043c 55%, #15042a 100%) !important;
}
.ovr-calc-hero__top {
  max-width: 820px;
  margin: 0 auto 44px;
  text-align: center;
}
.ovr-calc-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 16px;
  border-radius: 999px;
  background: rgba(130, 36, 227, 0.25);
  border: 1px solid rgba(243, 182, 93, 0.4);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.03em;
  margin-bottom: 18px;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
  transition: all 0.2s ease;
}
.ovr-calc-tag__dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  box-shadow: 0 0 8px currentColor;
  animation: ovrPulseDot 2s infinite ease-in-out;
}
@keyframes ovrPulseDot {
  0%,
100% { opacity: 1; transform: scale(1); }
  50% { opacity: 0.5; transform: scale(0.85); }
}
.ovr-calc-tag__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
/* Floating Big Brand Emblem (Linear.app 3D Glass Floating Logo Vibe) */
.ovr-calc-floating-brand {
  position: absolute;
  right: -60px;
  top: 0px;
  pointer-events: none;
  z-index: 3;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media (min-width: 1200px) {
  .ovr-calc-floating-brand {
    right: -100px;
    top: 20px;
  }
}
.ovr-calc-floating-brand__halo {
  position: absolute;
  width: 130px;
  height: 130px;
  border-radius: 50%;
  filter: blur(36px);
  opacity: 0.45;
  z-index: 0;
}
.ovr-calc-floating-brand__emblem {
  position: relative;
  z-index: 1;
  padding: 12px;
  border-radius: 26px;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.16);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  box-shadow: 0 24px 48px -12px rgba(0, 0, 0, 0.6), inset 0 1px 0 rgba(255, 255, 255, 0.25);
  animation: ovrFloatBrand 5s ease-in-out infinite alternate;
}
.ovr-calc-tag span:last-child {
  color: #ffffff !important;
}

.ovr-calc-hero h1 {
  margin: 0 0 14px;
  color: #ffffff !important;
  font-size: clamp(28px, 4.2vw, 50px);
  font-weight: 850;
  line-height: 1.1;
  letter-spacing: -1.4px;
}
.ovr-calc-hero__subtitle {
  margin: 0 auto 10px;
  max-width: 680px;
  color: #f1e4ff !important;
  font-size: clamp(15px, 1.8vw, 19px);
  line-height: 1.55;
  font-weight: 500;
}
.ovr-calc-hero__note {
  margin: 0 auto 22px;
  max-width: 620px;
  color: #c0acd4 !important;
  font-size: 13.5px;
  line-height: 1.6;
}
.ovr-calc-trust {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 20px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.ovr-calc-trust li {
  display: flex;
  align-items: center;
  gap: 7px;
  color: #f5ebff !important;
  font-size: 13px;
  font-weight: 600;
}
.ovr-calc-trust__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 16px;
}

/* Linear-Style Precision Calculator Panel */
.ovr-calc-panel {
  max-width: 1040px;
  margin: 0 auto;
  padding: 34px 38px;
  border-radius: 24px;
  background: linear-gradient(180deg, rgba(24, 11, 44, 0.85) 0%, rgba(12, 4, 25, 0.95) 100%) !important;
  border: 1px solid rgba(255, 255, 255, 0.1);
  box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.05), 0 30px 60px -15px rgba(0, 0, 0, 0.7);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
}
.ovr-calc-panel__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  flex-wrap: wrap;
  padding-bottom: 22px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  margin-bottom: 28px;
}
.ovr-calc-panel__header h2 {
  margin: 0 0 4px;
  font-size: 22px;
  color: #fff !important;
  letter-spacing: -0.4px;
  font-weight: 800;
}
.ovr-calc-panel__header p {
  margin: 0;
  color: #c9b4e2 !important;
  font-size: 13.5px;
}

/* Precision Segmented Currency Pill Switcher */
.ovr-calc-currency-toggle {
  display: flex;
  gap: 4px;
  padding: 4px;
  border-radius: 12px;
  background: rgba(0, 0, 0, 0.45);
  border: 1px solid rgba(255, 255, 255, 0.1);
}
.ovr-calc-currency-toggle button {
  padding: 8px 18px;
  border-radius: 8px;
  border: 0;
  background: transparent;
  color: #bfa7db;
  font-size: 12.5px;
  font-weight: 700;
  cursor: pointer;
  transition: all 0.2s ease;
}
.ovr-calc-currency-toggle button.is-active {
  background: #ffffff !important;
  color: #0d041c !important;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);
}

.ovr-calc-grid {
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: 32px;
  align-items: start;
}
.ovr-calc-controls {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.ovr-calc-field {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 16px 18px;
  border-radius: 14px;
  background: rgba(18, 7, 34, 0.65) !important;
  border: 1px solid rgba(255, 255, 255, 0.08);
  transition: border-color 0.2s ease;
}
.ovr-calc-field:focus-within {
  border-color: rgba(255, 255, 255, 0.2);
}
.ovr-calc-field__meta {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.ovr-calc-field__meta span {
  color: #eedcff !important;
  font-size: 13px;
  font-weight: 600;
}
.ovr-calc-field__meta strong {
  color: #ffffff !important;
  font-size: 15px;
  font-weight: 800;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}
.ovr-calc-field input[type="range"] {
  width: 100%;
  accent-color: var(--brand-color, #8224e3);
  cursor: pointer;
  height: 6px;
  border-radius: 3px;
  background: rgba(255, 255, 255, 0.15);
}
.ovr-calc-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}
.ovr-calc-select,
.ovr-calc-input {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 14px 18px;
  border-radius: 14px;
  background: rgba(18, 7, 34, 0.65) !important;
  border: 1px solid rgba(255, 255, 255, 0.08);
}
.ovr-calc-select span,
.ovr-calc-input span {
  color: #eedcff !important;
  font-size: 12px;
  font-weight: 600;
}
.ovr-calc-select select,
.ovr-calc-input input {
  width: 100%;
  padding: 10px 12px;
  border-radius: 10px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: rgba(8, 2, 16, 0.9) !important;
  color: #fff !important;
  font-size: 13.5px;
  font-weight: 600;
  outline: none;
  font-family: inherit;
  transition: all 0.2s ease;
}
.ovr-calc-input input {
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}
.ovr-calc-select select:focus,
.ovr-calc-input input:focus {
  border-color: var(--brand-color, #8224e3);
  box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.06), 0 0 16px var(--brand-color, #8224e3);
}
.ovr-calc-select select option {
  background: #1b0733;
  color: #fff;
}

/* Linear-Style Precision Result Readout Card */
.ovr-calc-summary-card {
  padding: 28px;
  border-radius: 20px;
  background: linear-gradient(160deg, rgba(38, 14, 68, 0.9) 0%, rgba(18, 5, 34, 0.95) 100%) !important;
  border: 1px solid rgba(255, 255, 255, 0.12);
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.5), inset 0 1px 0 rgba(255, 255, 255, 0.15);
  display: flex;
  flex-direction: column;
  gap: 18px;
}
.ovr-calc-summary-card__label {
  color: #d1b8eb !important;
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.1em;
}
.ovr-calc-summary-card__value {
  color: #ffffff !important;
  font-size: clamp(30px, 3.6vw, 42px);
  font-weight: 900;
  line-height: 1.1;
  letter-spacing: -1.2px;
  font-variant-numeric: tabular-nums;
  text-shadow: 0 0 24px var(--brand-color, rgba(130, 36, 227, 0.4));
}
.ovr-calc-tiers {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  padding: 5px;
  border-radius: 12px;
  background: rgba(0, 0, 0, 0.4) !important;
  border: 1px solid rgba(255, 255, 255, 0.06);
}
.ovr-calc-tier {
  display: flex;
  flex-direction: column;
  gap: 3px;
  padding: 8px 6px;
  border-radius: 8px;
  text-align: center;
}
.ovr-calc-tier small {
  color: #baa2d4 !important;
  font-size: 9.5px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.ovr-calc-tier strong {
  color: #fff !important;
  font-size: 11.5px;
  font-weight: 750;
  font-variant-numeric: tabular-nums;
}
.ovr-calc-tier.is-highlight {
  border: 1px solid rgba(255, 255, 255, 0.25);
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.3);
}
.ovr-calc-tier.is-highlight strong {
  color: #ffffff !important;
}

.ovr-calc-breakdown {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 14px 16px;
  border-radius: 12px;
  background: rgba(12, 3, 22, 0.6) !important;
  border: 1px solid rgba(255, 255, 255, 0.06);
}
.ovr-calc-breakdown__row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 12.5px;
  color: #eedcff !important;
}
.ovr-calc-breakdown__row strong {
  color: #fff !important;
  font-variant-numeric: tabular-nums;
}
.ovr-calc-breakdown__row.is-annual {
  padding-top: 10px;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  font-size: 13px;
}
.ovr-calc-breakdown__row.is-annual b {
  color: #ffffff !important;
  font-size: 15px;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
}
.ovr-calc-formula-callout {
  padding: 10px 12px;
  border-radius: 8px;
  background: rgba(0, 0, 0, 0.4) !important;
  border: 1px solid rgba(255, 255, 255, 0.08);
  font-size: 11px;
  color: #c7b2dc !important;
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.ovr-calc-formula-callout code {
  color: #ffffff !important;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-weight: 600;
  font-size: 11.5px;
}
.ovr-calc-cta .ovr-button {
  width: 100%;
  text-align: center;
  justify-content: center;
  min-height: 48px;
  font-weight: 800;
  border-radius: 12px;
  box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.5);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.ovr-calc-cta .ovr-button:hover {
  transform: translateY(-2px);
  box-shadow: 0 14px 30px -4px rgba(0, 0, 0, 0.6);
}
.ovr-calc-panel__footer {
  margin-top: 22px;
  padding-top: 16px;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  text-align: center;
}
.ovr-calc-panel__footer p {
  margin: 0;
  color: #a894bd !important;
  font-size: 11.5px;
  line-height: 1.55;
}

/* ==========================================================================
   Editorial Content (Crisp, High-Contrast White Background, Modern Flow)
   ========================================================================== */
.ovr-calc-content {
  padding: 72px 0 96px;
  background: #ffffff !important;
  color: #1b1226 !important;
}
.ovr-calc-article {
  max-width: 860px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
}
.ovr-calc-section {
  padding: 40px 0;
  border-bottom: 1px solid #eee5f8;
  background: transparent !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
.ovr-calc-section:first-child {
  padding-top: 0;
}
.ovr-calc-section:last-child {
  border-bottom: 0;
}
.ovr-calc-section h2 {
  margin: 0 0 16px;
  color: #1a0333 !important;
  font-size: clamp(22px, 2.6vw, 30px);
  font-weight: 800;
  letter-spacing: -0.7px;
  line-height: 1.25;
}
.ovr-calc-section p {
  color: #2b1d3d !important;
  font-size: 15.5px;
  line-height: 1.8;
  margin: 0 0 16px;
}
.ovr-calc-section p:last-child {
  margin-bottom: 0;
}

/* Clean Calculation Formula Callout */
.ovr-calc-formula-box {
  margin: 24px 0;
  padding: 20px 24px;
  border-radius: 14px;
  background: #f6efff !important;
  border-left: 4px solid #8224e3 !important;
  border-top: 1px solid #eadbfb;
  border-right: 1px solid #eadbfb;
  border-bottom: 1px solid #eadbfb;
}
.ovr-calc-formula-box__tag {
  display: block;
  margin-bottom: 8px;
  color: #8224e3 !important;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.ovr-calc-formula-box code {
  display: block;
  color: #17042e !important;
  font-size: 16px;
  font-weight: 750;
  line-height: 1.5;
  margin-bottom: 8px;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}
.ovr-calc-formula-box__note {
  margin: 0;
  color: #55446c !important;
  font-size: 13.5px !important;
  line-height: 1.6 !important;
}

/* Clean Responsive Checklist & Bullets */
.ovr-calc-bullet-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 12px;
  margin: 20px 0;
  padding: 0;
  list-style: none;
}
.ovr-calc-bullet-grid li {
  display: flex;
  align-items: flex-start;
  gap: 11px;
  padding: 13px 16px;
  border-radius: 12px;
  background: #faf6ff !important;
  border: 1px solid #e7d6fa !important;
  color: #1a0333 !important;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.55;
}
.ovr-calc-bullet-grid li span {
  color: #1a0333 !important;
}
.ovr-calc-bullet-grid li svg {
  color: #8224e3 !important;
  flex-shrink: 0;
  margin-top: 2px;
}

/* Clean Numbered Steps */
.ovr-calc-steps-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin: 18px 0;
  padding: 0;
  list-style: none;
}
.ovr-calc-steps-list li {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding: 14px 18px;
  border-radius: 12px;
  background: #faf6ff !important;
  border: 1px solid #e7d6fa !important;
  color: #1a0333 !important;
  font-size: 14px;
  line-height: 1.6;
}
.ovr-calc-steps-list li span {
  color: #1a0333 !important;
}
.ovr-calc-steps-list li strong {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: #8224e3 !important;
  color: #ffffff !important;
  font-size: 12px;
  font-weight: 800;
  flex-shrink: 0;
}

/* Subsections */
.ovr-calc-subsection {
  margin-top: 28px;
  padding-top: 20px;
  border-top: 1px dashed #e6d7f8;
}
.ovr-calc-subsection h3 {
  margin: 0 0 10px;
  color: #3b0078 !important;
  font-size: 18px;
  font-weight: 750;
}
.ovr-calc-subsection p {
  color: #2b1d3d !important;
  font-size: 14.5px;
}

/* Growth Band */
.ovr-calc-growth-band {
  max-width: 860px;
  margin: 64px auto 0;
  padding: 44px 40px;
  border-radius: 24px;
  background: linear-gradient(135deg, #300366 0%, #15022e 100%) !important;
  box-shadow: 0 20px 50px rgba(48, 3, 102, 0.25);
  text-align: center;
  color: #fff !important;
}
.ovr-calc-growth-band h2 {
  margin: 0 0 12px;
  color: #ffffff !important;
  font-size: clamp(24px, 3vw, 34px);
  font-weight: 800;
  letter-spacing: -0.8px;
}
.ovr-calc-growth-band p {
  margin: 0 auto 28px;
  max-width: 620px;
  color: #e5d4ff !important;
  font-size: 15px;
  line-height: 1.65;
}
.ovr-calc-growth-band__actions {
  display: flex;
  justify-content: center;
  gap: 14px;
  flex-wrap: wrap;
}
.ovr-calc-button-secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 50px;
  padding: 0 24px;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.12) !important;
  border: 1px solid rgba(255, 255, 255, 0.3);
  color: #fff !important;
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
  transition: all 0.2s ease;
}
.ovr-calc-button-secondary:hover {
  background: #ffffff !important;
  color: #300366 !important;
}

/* FAQ */
.ovr-calc-faq {
  max-width: 860px;
  margin: 64px auto 0;
}
.ovr-calc-faq .ovr-section-heading span {
  color: #8224e3 !important;
}
.ovr-calc-faq .ovr-section-heading h2 {
  color: #1a0433 !important;
}
.ovr-calc-faq .ovr-section-heading p {
  color: #5d4d73 !important;
}
.ovr-calc-faq .ovr-fs-faq-list {
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.ovr-calc-faq .ovr-fs-faq-list details {
  background: #faf6ff !important;
  border: 1px solid #ebdcfb !important;
  border-radius: 16px;
  padding: 16px 22px;
  transition: all 0.2s ease;
}
.ovr-calc-faq .ovr-fs-faq-list details.is-open {
  background: #ffffff !important;
  border-color: #8224e3 !important;
  box-shadow: 0 8px 24px rgba(130, 36, 227, 0.08);
}
.ovr-calc-faq .ovr-fs-faq-list summary {
  color: #1a0433 !important;
  font-size: 15.5px;
  font-weight: 700;
  cursor: pointer;
}
.ovr-calc-faq .ovr-fs-faq-list details p {
  color: #3b2b4f !important;
  font-size: 14.5px;
  line-height: 1.7;
}

/* Legal Disclaimer */
.ovr-calc-disclaimer-box {
  max-width: 860px;
  margin: 48px auto 0;
  padding: 22px 26px;
  border-radius: 14px;
  background: #f7f3fc !important;
  border: 1px solid #ebdff5;
}
.ovr-calc-disclaimer-box h4 {
  margin: 0 0 8px;
  color: #8224e3 !important;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.1em;
}
.ovr-calc-disclaimer-box p {
  margin: 0 0 6px;
  color: #6a5c7c !important;
  font-size: 12px;
  line-height: 1.6;
}
.ovr-calc-disclaimer-box p:last-child {
  margin-bottom: 0;
}

/* Responsive Styles for Mobile */
@media (max-width: 991px) {
  .ovr-calc-floating-brand {
    right: 10px;
    top: -15px;
    opacity: 0.7;
    transform: scale(0.85);
  }
  .ovr-calc-grid {
    grid-template-columns: 1fr;
    gap: 26px;
  }
  .ovr-calc-panel {
    padding: 26px 20px;
    border-radius: 20px;
  }
  .ovr-calc-section {
    padding: 30px 0;
  }
  .ovr-calc-content {
    padding: 48px 0 64px;
  }
}
@media (max-width: 640px) {
  .ovr-calc-floating-brand {
    position: absolute;
    right: 50%;
    transform: translateX(50%) scale(0.65);
    top: -45px;
    opacity: 0.22;
  }
  .ovr-calc-hero {
    padding: 38px 0 46px;
  }
  .ovr-calc-hero h1 {
    font-size: 25px;
    line-height: 1.18;
    letter-spacing: -0.8px;
  }
  .ovr-calc-hero__subtitle {
    font-size: 14.5px;
  }
  .ovr-calc-hero__note {
    font-size: 12.5px;
    margin-bottom: 16px;
  }
  .ovr-calc-trust {
    gap: 12px;
  }
  .ovr-calc-trust li {
    font-size: 11.5px;
  }
  .ovr-calc-panel {
    padding: 20px 16px;
    border-radius: 16px;
  }
  .ovr-calc-panel__header {
    flex-direction: column;
    align-items: stretch;
    gap: 14px;
    margin-bottom: 20px;
    padding-bottom: 16px;
  }
  .ovr-calc-currency-toggle {
    width: 100%;
  }
  .ovr-calc-currency-toggle button {
    flex: 1;
    text-align: center;
    padding: 8px 10px;
  }
  .ovr-calc-row {
    grid-template-columns: 1fr;
    gap: 12px;
  }
  .ovr-calc-field,
.ovr-calc-select,
.ovr-calc-input {
    padding: 12px 14px;
    border-radius: 12px;
  }
  .ovr-calc-summary-card {
    padding: 20px 16px;
    border-radius: 16px;
  }
  .ovr-calc-summary-card__value {
    font-size: 26px;
  }
  .ovr-calc-bullet-grid {
    grid-template-columns: 1fr;
    gap: 10px;
  }
  .ovr-calc-growth-band {
    padding: 30px 18px;
    margin-top: 44px;
  }
  .ovr-calc-growth-band__actions {
    flex-direction: column;
  }
  .ovr-calc-growth-band__actions a {
    width: 100%;
  }
  .ovr-calc-faq {
    margin-top: 44px;
  }
  .ovr-calc-faq .ovr-fs-faq-list details {
    padding: 14px 16px;
  }
}

/* Calculator UI: visible select chevrons and approved white header */
body .ovr-calc-page .ovr-header {
  background: #ffffff !important;
  border-bottom: 1px solid #eee7f4 !important;
  box-shadow: 0 1px 0 rgba(59, 0, 120, 0.04) !important;
}
body .ovr-calc-page .ovr-header :is(.ovr-logo, .ovr-nav, .ovr-text-button, .ovr-services-trigger) {
  color: #21162b !important;
}
body .ovr-calc-page .ovr-menu {
  background: #f2e7ff !important;
  border-radius: 12px;
}
body .ovr-calc-page .ovr-menu span {
  background: #3b0078 !important;
}
body .ovr-calc-page .ovr-calc-select {
  position: relative;
}
body .ovr-calc-page .ovr-calc-select select {
  appearance: none !important;
  -webkit-appearance: none !important;
  padding-right: 48px !important;
}
body .ovr-calc-page .ovr-calc-select::after {
  content: "";
  position: absolute;
  right: 31px;
  bottom: 31px;
  width: 9px;
  height: 9px;
  border-right: 2px solid #ffffff;
  border-bottom: 2px solid #ffffff;
  pointer-events: none;
  transform: rotate(45deg) translateY(-2px);
  transform-origin: center;
}

@media (max-width: 640px) {
  body .ovr-calc-page .ovr-calc-select::after {
    right: 27px;
    bottom: 28px;
  }
}

/* Calculator mobile navigation: restore visible links on the white drawer */
@media (max-width: 991px) {
  body .ovr-calc-page .ovr-nav.is-open {
    z-index: 100 !important;
    background: #ffffff !important;
    border-color: #e8dfed !important;
    color: #21162b !important;
  }
  body .ovr-calc-page .ovr-nav.is-open > a:not(.ovr-nav__signup),
body .ovr-calc-page .ovr-nav.is-open .ovr-services-trigger,
body .ovr-calc-page .ovr-nav.is-open .ovr-growth-trigger,
body .ovr-calc-page .ovr-nav.is-open .ovr-services-group__head,
body .ovr-calc-page .ovr-nav.is-open .ovr-services-list > a,
body .ovr-calc-page .ovr-nav.is-open .ovr-services-dropdown__all,
body .ovr-calc-page .ovr-nav.is-open .ovr-growth-dropdown > a,
body .ovr-calc-page .ovr-nav.is-open .ovr-growth-dropdown > span {
    color: #2c2132 !important;
  }
  body .ovr-calc-page .ovr-nav.is-open .ovr-services-dropdown,
body .ovr-calc-page .ovr-nav.is-open .ovr-growth-dropdown {
    background: #ffffff !important;
  }
  body .ovr-calc-page .ovr-nav.is-open .ovr-nav__signup {
    background: linear-gradient(115deg, #3b0078, #943af8) !important;
    color: #ffffff !important;
  }
}

/* #notify-wrapper is PerfectPanel's flash-message container: the panel's own JS
   writes success/error text into it. It was rendering as an empty green bar, so
   it is hidden only while it has no content. Deleting the element instead would
   silently drop order/payment success and error messages, so it stays in place. */
#notify-wrapper:empty { display: none !important; }

/* Header balance + currency switcher on phones.
   These were hidden by `@media(max-width:767px){.ogv-app-currency{display:none}}`
   and `@media(max-width:380px){.ogv-app-balance{display:none}}`, so on a 375px
   phone the balance chip and the currency control vanished from the header --
   the exact place they are wanted. Shown at every width, compacted so they
   still fit alongside the bell and avatar in a 360px header. */
@media(max-width:767px){
  .ogv-app-currency{display:inline-block!important}
  .ogv-app-currency>.dropdown-toggle{height:36px;padding:0 9px;border-radius:11px;font-size:11px;white-space:nowrap}
}
@media(max-width:380px){
  .ogv-app-balance{display:inline-flex!important;align-items:center;height:34px;padding:0 8px;border-radius:10px;font-size:10px;white-space:nowrap}
  .ogv-app-currency>.dropdown-toggle{height:34px;padding:0 7px;font-size:10px}
}

/* ===========================================================================
   /services visual pass: lean into the purple identity and drop the flat
   near-white treatment. Mascot art comes from the existing react-landing
   Vercel deployment (transparent PNGs, already used by the landing pages), so
   nothing is inlined as base64 and the page weight is unchanged.
   =========================================================================== */

/* Page ground: a soft purple wash instead of near-white. */

/* Intro banner ---------------------------------------------------------- */
/* Soft glow behind the mascot so it sits on the card rather than floating. */
/* Mascot, transparent PNG, anchored bottom-right. */
/* Keep the copy clear of the mascot. */
/* The heading was near-black, which is what made the banner read flat. */

/* Category panels ------------------------------------------------------- */

/* Dark mode */

/* Tablet / phone: the mascot would crowd the copy, so it shrinks then goes. */


/* ==========================================================================
   Moved here from the inline \3c style id="ogv-theme-css"> block in
   HTML/layout.twig -- dark mode, the header toggle, and the panel-page
   corrections that layout used to carry in its head.

   layout.twig is the shell for every page, so this was re-sent on every
   view of every page. From here it is part of the one stylesheet the panel
   publishes to its CDN, which is cached for a year.

   Sits above the order-page section below it, which is the order the two
   had in the document.
   ========================================================================== */


        /* Dark mode + the header toggle button.
           These rules used to live in style.css. They are inlined here because
           layout.twig is the file that renders the shell and the toggle button:
           when style.css had not been republished, the button shipped with no
           styling at all (both icons visible, no box, squeezed by the topbar
           flex row) and none of the dark surfaces applied. Keeping the rules
           beside the markup they style means the two can never be out of step.
           This block sits after the site.styles links, so it wins on order. */
        /* ===========================================================================
           SITE-WIDE DARK MODE
           Lives here, not in neworder.twig, so it covers every authenticated page
           rather than the order page alone. Previously all 33 dark rules sat in
           neworder.twig while layout.twig had none, so the sidebar and topbar stayed
           white on a dark page and their labels became unreadable.
           Driven by data-theme="dark" on <html> (set before first paint in layout.twig).
           =========================================================================== */

        html[data-theme="dark"]{
          --ogv-bg-page:#120a1f;
          --ogv-bg-raised:#1b1030;
          --ogv-bg-card:#1d1233;
          --ogv-bg-input:#241640;
          --ogv-border:#33224d;
          --ogv-border-soft:#2a1b40;
          --ogv-text-main:#f3eaff;
          --ogv-text-muted:#b9a9c6;
          --ogv-text-dim:#8d7fa0;
          --ogv-accent:#a148f4;
          color-scheme:dark;
        }

        /* --- Page shell ---------------------------------------------------------- */
        html[data-theme="dark"],
html[data-theme="dark"] body{background:var(--ogv-bg-page)!important;color:var(--ogv-text-main)!important}
        html[data-theme="dark"] .ogv-app-content{background:var(--ogv-bg-page)!important;color:var(--ogv-text-main)!important}

        /* --- Sidebar (was left white) -------------------------------------------- */
        html[data-theme="dark"] .ogv-app-sidebar{background:var(--ogv-bg-raised)!important;border-right-color:var(--ogv-border)!important;box-shadow:8px 0 34px rgba(0,0,0,.4)!important}
        html[data-theme="dark"] .ogv-app-nav__label{color:var(--ogv-text-dim)!important}
        html[data-theme="dark"] .ogv-app-nav__link{color:var(--ogv-text-muted)!important}
        html[data-theme="dark"] .ogv-app-nav__link:hover{background:rgba(161,72,244,.12)!important;color:var(--ogv-text-main)!important}
        html[data-theme="dark"] .ogv-app-nav__link.is-active{background:rgba(161,72,244,.18)!important;color:#e9d7ff!important}
        html[data-theme="dark"] .ogv-app-nav__reicon{color:var(--ogv-text-muted)!important}
        html[data-theme="dark"] .ogv-app-nav__link.is-active .ogv-app-nav__reicon{color:#d7b4ff!important}
        html[data-theme="dark"] .ogv-app-sidebar__account{border-top-color:var(--ogv-border-soft)!important}
        html[data-theme="dark"] .ogv-app-sidebar__account a{color:var(--ogv-text-muted)!important}
        html[data-theme="dark"] .ogv-app-sidebar__account re-icon{color:var(--ogv-text-dim)!important}
        html[data-theme="dark"] .ogv-app-logo span{background:linear-gradient(110deg,#a148f4 8%,#c07bff 64%,#e9d7ff)!important;-webkit-background-clip:text!important;background-clip:text!important}

        /* --- Topbar (was left white) --------------------------------------------- */
        html[data-theme="dark"] .ogv-app-topbar{background:rgba(27,16,48,.92)!important;border-bottom-color:var(--ogv-border)!important}
        html[data-theme="dark"] .ogv-app-greeting h1{color:var(--ogv-text-main)!important}
        html[data-theme="dark"] .ogv-app-greeting span{color:var(--ogv-text-dim)!important}
        html[data-theme="dark"] .ogv-app-menu,
html[data-theme="dark"] .ogv-app-sidebar__close{color:var(--ogv-text-main)!important;background:rgba(255,255,255,.06)!important}
        html[data-theme="dark"] .ogv-app-icon-button,
html[data-theme="dark"] .ogv-app-balance,
html[data-theme="dark"] .ogv-app-user,
html[data-theme="dark"] .ogv-app-currency>.dropdown-toggle{background:rgba(255,255,255,.06)!important;border-color:var(--ogv-border)!important;color:var(--ogv-text-main)!important}
        html[data-theme="dark"] .ogv-app-user__meta span{color:var(--ogv-text-dim)!important}

        /* --- Generic panel surfaces ---------------------------------------------- */
        html[data-theme="dark"] .panel,
html[data-theme="dark"] .well,
html[data-theme="dark"] .ogv-app-card,
html[data-theme="dark"] .ogv-step{background:var(--ogv-bg-card)!important;border-color:var(--ogv-border)!important;color:var(--ogv-text-main)!important}
        html[data-theme="dark"] .panel-heading{background:var(--ogv-bg-raised)!important;border-color:var(--ogv-border)!important;color:var(--ogv-text-main)!important}
        html[data-theme="dark"] h1,
html[data-theme="dark"] h2,
html[data-theme="dark"] h3,
html[data-theme="dark"] h4,
html[data-theme="dark"] h5{color:var(--ogv-text-main)!important}
        /* No blanket p/small/label recolour: components that keep a light background
           (promo strip, help cards, stat tiles) would get lighter text on a light
           surface, which is worse than leaving them alone. Each surface is darkened
           explicitly below instead. */
        html[data-theme="dark"] a{color:#c9a6ff}
        html[data-theme="dark"] hr{border-color:var(--ogv-border)!important}

        /* --- Tables --------------------------------------------------------------- */
        html[data-theme="dark"] .table,
html[data-theme="dark"] .table>tbody>tr>td,
html[data-theme="dark"] .table>thead>tr>th{background:transparent!important;border-color:var(--ogv-border)!important;color:var(--ogv-text-main)!important}
        html[data-theme="dark"] .table>thead>tr>th{background:rgba(255,255,255,.04)!important;color:var(--ogv-text-muted)!important}
        html[data-theme="dark"] .table-striped>tbody>tr:nth-of-type(odd){background:rgba(255,255,255,.02)!important}
        html[data-theme="dark"] .table-hover>tbody>tr:hover{background:rgba(161,72,244,.1)!important}

        /* --- Forms ---------------------------------------------------------------- */
        /* The custom select kept its light-mode text colour, so the service and
           category buttons rendered near-black on near-black. */
        html[data-theme="dark"] .form-control,
html[data-theme="dark"] select,
html[data-theme="dark"] textarea,
html[data-theme="dark"] .ogv-custom-select-btn,
html[data-theme="dark"] .ogv-custom-select-search__input{background:var(--ogv-bg-input)!important;border-color:var(--ogv-border)!important;color:var(--ogv-text-main)!important}
        html[data-theme="dark"] .ogv-custom-select-btn__text,
html[data-theme="dark"] .ogv-custom-select-btn__text *{color:var(--ogv-text-main)!important}
        /* Field labels were never given a dark colour, so "Category",
           "Subcategory" and "Message" sat near-black on near-black. */
        html[data-theme="dark"] label,
html[data-theme="dark"] .control-label,
html[data-theme="dark"] .form-group > label,
html[data-theme="dark"] .ogv-field-label{color:var(--ogv-text-main)!important}
        /* A native select given a fixed height and no line-height clips its
           own text on iOS -- which is why the chosen value looked cut in
           half. The option list is drawn by the OS, so it needs its colours
           set on the option elements themselves. */
        html[data-theme="dark"] select,
select.form-control{line-height:normal!important;min-height:46px!important;padding-top:0!important;padding-bottom:0!important}
        html[data-theme="dark"] select option{background:var(--ogv-bg-card)!important;color:var(--ogv-text-main)!important}
        /* Panels the panel software renders white. */
        html[data-theme="dark"] .well,
html[data-theme="dark"] .panel,
html[data-theme="dark"] .panel-body,
html[data-theme="dark"] .table,
html[data-theme="dark"] .table > tbody > tr > td,
html[data-theme="dark"] .table > thead > tr > th{
          background:var(--ogv-bg-card)!important;color:var(--ogv-text-main)!important;
          border-color:var(--ogv-border)!important;
        }
        html[data-theme="dark"] .form-control::placeholder,
html[data-theme="dark"] input::placeholder{color:var(--ogv-text-dim)!important}
        html[data-theme="dark"] .ogv-custom-select-panel,
html[data-theme="dark"] .ogv-global-search-results{background:var(--ogv-bg-card)!important;border-color:var(--ogv-border)!important;color:var(--ogv-text-main)!important}
        html[data-theme="dark"] .ogv-custom-select-opt{color:var(--ogv-text-main)!important}
        html[data-theme="dark"] .ogv-custom-select-opt:hover,
html[data-theme="dark"] .ogv-custom-select-opt.is-active{background:rgba(161,72,244,.16)!important}

        /* --- Buttons -------------------------------------------------------------- */
        /* "Place order" was white-on-white: the label is white but the button lost its
           background in dark mode. */
        html[data-theme="dark"] .btn-primary,
html[data-theme="dark"] .ogv-order-submit{background:linear-gradient(135deg,#8224e3,#5c0fa8)!important;border-color:transparent!important;color:#fff!important}
        html[data-theme="dark"] .ogv-order-submit span,
html[data-theme="dark"] .btn-primary span{color:#fff!important}
        html[data-theme="dark"] .btn-default{background:rgba(255,255,255,.07)!important;border-color:var(--ogv-border)!important;color:var(--ogv-text-main)!important}

        /* --- Theme toggle in the header ------------------------------------------ */
        .ogv-theme-btn{display:grid;width:38px;height:38px;flex:0 0 38px;place-items:center;border:1px solid #ece5f2;border-radius:12px;background:#fff;color:#5a4a66;cursor:pointer;padding:0;line-height:1}
        .ogv-theme-btn{background:#fdf1e3!important;border-color:#f2ddc2!important;color:#8a4a00!important}
        .ogv-app-balance,
.ogv-app-currency>.dropdown-toggle{
          background:#fdf1e3!important;border:1px solid #f2ddc2!important;
          color:#8a4a00!important;font-weight:800!important;
          width:auto!important;min-width:0!important;white-space:nowrap!important;
        }
        .ogv-theme-btn:hover{background:#f7e6d0}
        .ogv-theme-btn svg{display:block;width:18px;height:18px}
        .ogv-theme-btn .ogv-icon-sun{display:none}
        html[data-theme="dark"] .ogv-theme-btn{background:rgba(255,255,255,.06);border-color:var(--ogv-border);color:#f3b65d}
        html[data-theme="dark"] .ogv-theme-btn .ogv-icon-sun{display:block}
        html[data-theme="dark"] .ogv-theme-btn .ogv-icon-moon{display:none}
        @media(max-width:380px){.ogv-theme-btn{width:34px;height:34px;flex-basis:34px;border-radius:10px}}

        /* --- Components that kept light backgrounds in dark mode ------------------ */
        html[data-theme="dark"] .ogv-dash-promo{background:linear-gradient(135deg,#2a1a10,#33200f)!important;border-color:rgba(221,108,0,.28)!important;color:#f7e6cf!important}
        html[data-theme="dark"] .ogv-dash-promo b{color:#f3b65d!important}
        html[data-theme="dark"] .ogv-dash-promo small{color:#d8bd9c!important}
        html[data-theme="dark"] .ogv-dash-promo__icon{background:rgba(243,182,93,.16)!important;color:#f3b65d!important}

        html[data-theme="dark"] .ogv-dash-stat-item{background:rgba(255,255,255,.05)!important;border-color:var(--ogv-border)!important}
        html[data-theme="dark"] .ogv-dash-stat-item .ogv-stat-counter{color:var(--ogv-text-main)!important}
        html[data-theme="dark"] .ogv-dash-stat-item small{color:var(--ogv-text-muted)!important}
        html[data-theme="dark"] .ogv-dash-stat-item__icon{background:rgba(161,72,244,.2)!important;color:#d7b4ff!important}

        html[data-theme="dark"] .ogv-dash-trust{color:var(--ogv-text-muted)!important}
        html[data-theme="dark"] .ogv-dash-trust b{color:var(--ogv-text-main)!important}

        /* Status badge: amber on a near-transparent amber tint was 1.3:1. */

        /* Bottom tab bar had no dark styling at all. */
        html[data-theme="dark"] .ogv-tabbar{background:var(--ogv-bg-raised)!important;border-top-color:var(--ogv-border)!important}
        html[data-theme="dark"] .ogv-tabbar a{color:var(--ogv-text-muted)!important}
        html[data-theme="dark"] .ogv-tabbar a.is-active{color:#d7b4ff!important}
        html[data-theme="dark"] .ogv-tabbar span{color:inherit!important}

        /* Help cards: keep their hue but on a dark ground. */
        html[data-theme="dark"] .ogv-dash-help-card--whatsapp{background:linear-gradient(140deg,#0f2418,#12301e)!important;border-color:rgba(37,211,102,.28)!important}
        html[data-theme="dark"] .ogv-dash-help-card b{color:var(--ogv-text-main)!important}
        html[data-theme="dark"] .ogv-dash-help-card small{color:var(--ogv-text-muted)!important}

        /* Help-card and tab-bar surfaces.
           The dark backgrounds for these previously lived in neworder.twig while their
           text colours were set here, so the two could fall out of sync and produce
           light text on a light card. Both halves now live together. */
        html[data-theme="dark"] .ogv-dash-help-card--tutorial{background:linear-gradient(140deg,#2a1a10,#33200f)!important;border-color:rgba(221,108,0,.26)!important}
        html[data-theme="dark"] .ogv-dash-help-card--tutorial b{color:#f3b65d!important}
        html[data-theme="dark"] .ogv-dash-help-card--support{background:linear-gradient(140deg,#1d1030,#241338)!important;border-color:rgba(161,72,244,.24)!important}
        html[data-theme="dark"] .ogv-dash-help-card--support b{color:#d7b4ff!important}
        html[data-theme="dark"] .ogv-dash-help-card--whatsapp b{color:#8ef0b4!important}
        html[data-theme="dark"] .ogv-dash-help-card__badge{background:rgba(243,182,93,.18)!important;border-color:rgba(243,182,93,.34)!important;color:#ffd9a3!important}
        html[data-theme="dark"] .ogv-dash-help-card--support .ogv-dash-help-card__action{background:rgba(161,72,244,.2)!important;border-color:rgba(161,72,244,.36)!important;color:#d7b4ff!important}

        /* Floating "New order" button in the tab bar.
           The markup is <a class="ogv-tabbar__fab"><span class="ogv-tabbar__disc">+</span><span>New order</span></a>:
           only the 44px .ogv-tabbar__disc is meant to be filled, and it is lifted
           -12px so it sits proud of the bar. An earlier rule here put the purple
           gradient on the <a> instead, which painted a 60x68 block behind both the
           disc and its caption. The <a> is transparent; the disc keeps its own fill.
           The disc's 3px border exists to punch it out of the bar, so it has to be
           the BAR colour -- hardcoded #fff, it drew a white ring on the dark bar. */
        html[data-theme="dark"] .ogv-tabbar .ogv-tabbar__fab,
html[data-theme="dark"] .ogv-tabbar a[class*="fab"]{background:none!important;background-color:transparent!important;box-shadow:none!important}
        html[data-theme="dark"] .ogv-tabbar .ogv-tabbar__disc{border-color:var(--ogv-bg-raised)!important;box-shadow:0 4px 12px rgba(0,0,0,.5)!important}
        html[data-theme="dark"] .ogv-tabbar .ogv-tabbar__fab span:not(.ogv-tabbar__disc),
html[data-theme="dark"] .ogv-tabbar a[class*="fab"] span:not(.ogv-tabbar__disc){color:#d7b4ff!important}

        /* ===========================================================================
           DARK MODE, PART 2: everything the first pass missed
           The first pass covered the shell and the order page's own step cards. This
           covers the surfaces shared with the rest of the authenticated site -- the
           panel's Bootstrap chrome, its select2 dropdowns, the custom select, the
           dashboard stat/summary cards, the services catalogue and the child panel
           page. Found by enumerating every rule in every loaded sheet that paints a
           background lighter than 0.75 relative luminance and has no
           [data-theme="dark"] counterpart: 137 such surfaces, all of them below.
           Selectors are prefixed html[data-theme="dark"] body so they outrank the
           order page's own sheet, which loads after this one.
           =========================================================================== */

        /* --- Bootstrap chrome shared by orders / tickets / account / addfunds ----- */
        html[data-theme="dark"] body .panel-body,
html[data-theme="dark"] body .panel-footer{background:var(--ogv-bg-card)!important;border-color:var(--ogv-border)!important;color:var(--ogv-text-main)!important}
        html[data-theme="dark"] body .nav-tabs,
html[data-theme="dark"] body .nav-pills{background:transparent!important;border-bottom-color:var(--ogv-border)!important}
        html[data-theme="dark"] body .nav-tabs>li>a,
html[data-theme="dark"] body .nav-pills>li>a{background:transparent!important;border-color:transparent!important;color:var(--ogv-text-muted)!important}
        html[data-theme="dark"] body .nav-tabs>li.active>a,
html[data-theme="dark"] body .nav-tabs>li.active>a:hover,
html[data-theme="dark"] body .nav-tabs>li.active>a:focus{background:var(--ogv-bg-card)!important;border-color:var(--ogv-border) var(--ogv-border) transparent!important;color:var(--ogv-text-main)!important}
        html[data-theme="dark"] body .nav-pills>li.active>a{background:rgba(161,72,244,.2)!important;color:#e9d7ff!important}
        html[data-theme="dark"] body .table-responsive,
html[data-theme="dark"] body .ogv-table-scroll{background:transparent!important;border-color:var(--ogv-border)!important}
        html[data-theme="dark"] body .modal-content,
html[data-theme="dark"] body .modal-header,
html[data-theme="dark"] body .modal-footer{background:var(--ogv-bg-card)!important;border-color:var(--ogv-border)!important;color:var(--ogv-text-main)!important}
        html[data-theme="dark"] body .input-group-addon{background:var(--ogv-bg-raised)!important;border-color:var(--ogv-border)!important;color:var(--ogv-text-muted)!important}
        html[data-theme="dark"] body .dropdown-menu{background:var(--ogv-bg-card)!important;border-color:var(--ogv-border)!important;box-shadow:0 16px 40px rgba(0,0,0,.5)!important}
        html[data-theme="dark"] body .dropdown-menu>li>a{color:var(--ogv-text-main)!important}
        html[data-theme="dark"] body .dropdown-menu>li>a:hover,
html[data-theme="dark"] body .dropdown-menu>li>a:focus,
html[data-theme="dark"] body .dropdown-menu>li.active>a{background:rgba(161,72,244,.16)!important;color:#e9d7ff!important}
        html[data-theme="dark"] body .dropdown-menu .divider{background:var(--ogv-border)!important}
        html[data-theme="dark"] body .well,
html[data-theme="dark"] body .well-float,
html[data-theme="dark"] body .well.api{background:var(--ogv-bg-card)!important;border-color:var(--ogv-border)!important;color:var(--ogv-text-main)!important}
        html[data-theme="dark"] body select option{background:var(--ogv-bg-input)!important;color:var(--ogv-text-main)!important}
        html[data-theme="dark"] body .pagination>li>a,
html[data-theme="dark"] body .pagination>li>span{background:var(--ogv-bg-card)!important;border-color:var(--ogv-border)!important;color:var(--ogv-text-main)!important}
        html[data-theme="dark"] body .pagination>.active>a,
html[data-theme="dark"] body .pagination>.active>span{background:rgba(161,72,244,.24)!important;border-color:rgba(161,72,244,.4)!important;color:#e9d7ff!important}
        html[data-theme="dark"] body .breadcrumb,
html[data-theme="dark"] body .list-group-item{background:var(--ogv-bg-card)!important;border-color:var(--ogv-border)!important;color:var(--ogv-text-main)!important}
        html[data-theme="dark"] body .progress{background:rgba(255,255,255,.08)!important}
        html[data-theme="dark"] body .close{color:var(--ogv-text-main)!important;text-shadow:none!important;opacity:.75!important}

        /* Alerts: the tinted pastel fills went near-white on a dark page. */
        html[data-theme="dark"] body .alert-success{background:rgba(22,163,74,.16)!important;border-color:rgba(74,222,128,.32)!important;color:#8ef0b4!important}
        html[data-theme="dark"] body .alert-danger{background:rgba(220,38,38,.16)!important;border-color:rgba(248,113,113,.32)!important;color:#ffb3b3!important}
        html[data-theme="dark"] body .alert-info{background:rgba(56,132,255,.16)!important;border-color:rgba(125,178,255,.32)!important;color:#b8d4ff!important}
        html[data-theme="dark"] body .alert-warning{background:rgba(221,108,0,.16)!important;border-color:rgba(243,182,93,.32)!important;color:#ffd9a3!important}
        html[data-theme="dark"] body .alert-success h4,
html[data-theme="dark"] body .alert-success strong,
html[data-theme="dark"] body .alert-success span{color:#8ef0b4!important}
        html[data-theme="dark"] body .alert-danger h4,
html[data-theme="dark"] body .alert-danger strong{color:#ffb3b3!important}
        html[data-theme="dark"] body .label,
html[data-theme="dark"] body .badge{background:rgba(161,72,244,.2)!important;color:#e9d7ff!important}
        html[data-theme="dark"] body .ogv-receipt-details{background:rgba(255,255,255,.05)!important;border-color:var(--ogv-border)!important}

        /* --- select2: the panel's own dropdowns on the other pages ---------------- */
        html[data-theme="dark"] body .select2-selection,
html[data-theme="dark"] body .select2-selection--single,
html[data-theme="dark"] body .select2-selection--multiple,
html[data-theme="dark"] body .select2-dropdown,
html[data-theme="dark"] body .select2-search--dropdown{background:var(--ogv-bg-input)!important;border-color:var(--ogv-border)!important;color:var(--ogv-text-main)!important}
        html[data-theme="dark"] body .select2-selection__rendered,
html[data-theme="dark"] body .select2-results__option{color:var(--ogv-text-main)!important}
        html[data-theme="dark"] body .select2-search__field{background:var(--ogv-bg-raised)!important;border-color:var(--ogv-border)!important;color:var(--ogv-text-main)!important}
        html[data-theme="dark"] body .select2-results__option--highlighted,
html[data-theme="dark"] body .select2-results__option[aria-selected="true"]{background:rgba(161,72,244,.22)!important;color:#e9d7ff!important}

        /* --- Custom select (select.css) ------------------------------------------- */
        html[data-theme="dark"] body .ogv-select__button,
html[data-theme="dark"] body .ogv-select__panel,
html[data-theme="dark"] body .ogv-select__search{background:var(--ogv-bg-input)!important;border-color:var(--ogv-border)!important;color:var(--ogv-text-main)!important}
        html[data-theme="dark"] body .ogv-select__option{background:transparent!important;color:var(--ogv-text-main)!important}
        html[data-theme="dark"] body .ogv-select__option:hover,
html[data-theme="dark"] body .ogv-select__option:focus-visible,
html[data-theme="dark"] body .ogv-select__option.is-selected{background:rgba(161,72,244,.18)!important;color:#e9d7ff!important}

        /* --- Dashboard cards on the other authenticated pages -------------------- */
        html[data-theme="dark"] body .ogv-dashboard-stat,
html[data-theme="dark"] body .ogv-dashboard-stat--status,
html[data-theme="dark"] body .ogv-dashboard-stat--orders,
html[data-theme="dark"] body .ogv-stat-card,
html[data-theme="dark"] body .ogv-stat-card--status,
html[data-theme="dark"] body .ogv-stat-card--points,
html[data-theme="dark"] body .ogv-stat-card--spent,
html[data-theme="dark"] body .ogv-order-card__step,
html[data-theme="dark"] body .ogv-empty-state,
html[data-theme="dark"] body .ogv-workspace-shortcuts,
html[data-theme="dark"] body .ogv-workspace-shortcut,
html[data-theme="dark"] body .ogv-app-section-head,
html[data-theme="dark"] body .ogv-dashboard-note,
html[data-theme="dark"] body .ogv-desc-card,
html[data-theme="dark"] body .ogv-svc-details,
html[data-theme="dark"] body .ogv-svc-detail{background:var(--ogv-bg-card)!important;border-color:var(--ogv-border)!important;color:var(--ogv-text-main)!important}
        html[data-theme="dark"] body .ogv-dashboard-stat__icon,
html[data-theme="dark"] body .ogv-stat-card__icon,
html[data-theme="dark"] body .ogv-empty-state__icon,
html[data-theme="dark"] body .ogv-dash-help-card__icon,
html[data-theme="dark"] body .ogv-rank-badge__icon{background:rgba(161,72,244,.18)!important;color:#d7b4ff!important}
        html[data-theme="dark"] body .ogv-order-filter,
html[data-theme="dark"] body .ogv-stat-card__action,
html[data-theme="dark"] body .ogv-toast__btn--ghost,
html[data-theme="dark"] body .ogv-btn--outline,
html[data-theme="dark"] body .ogv-btn--light,
html[data-theme="dark"] body .ogv-fav-btn{background:rgba(255,255,255,.07)!important;border-color:var(--ogv-border)!important;color:var(--ogv-text-main)!important}
        html[data-theme="dark"] body .ogv-order-filter:hover,
html[data-theme="dark"] body .ogv-order-filter.is-active{background:rgba(161,72,244,.2)!important;color:#e9d7ff!important}
        html[data-theme="dark"] body .ogv-badge-id,
html[data-theme="dark"] body .ogv-svc-id,
html[data-theme="dark"] body .ogv-custom-select-opt__rate,
html[data-theme="dark"] body .ogv-global-search-item__cat,
html[data-theme="dark"] body .ogv-global-search-item__rate{background:rgba(255,255,255,.08)!important;color:var(--ogv-text-muted)!important}
        html[data-theme="dark"] body .ogv-global-search-item:hover{background:rgba(161,72,244,.16)!important}
        html[data-theme="dark"] body .ogv-toast{background:var(--ogv-bg-card)!important;border-color:var(--ogv-border)!important;color:var(--ogv-text-main)!important;box-shadow:0 18px 44px rgba(0,0,0,.55)!important}
        html[data-theme="dark"] body .ogv-vip-popup{background:var(--ogv-bg-card)!important;border-color:var(--ogv-border)!important;color:var(--ogv-text-main)!important}
        html[data-theme="dark"] body .ogv-vip-popup__title{color:var(--ogv-text-main)!important}
        html[data-theme="dark"] body .ogv-vip-popup__desc,
html[data-theme="dark"] body .ogv-vip-popup__skip{color:var(--ogv-text-muted)!important}
        html[data-theme="dark"] body .ogv-vip-popup__close{background:rgba(255,255,255,.08)!important;color:var(--ogv-text-main)!important}
        html[data-theme="dark"] body .ogv-meta-item__val--success{color:#8ef0b4!important}
        html[data-theme="dark"] body .ogv-modal-close{background:rgba(255,255,255,.08)!important;color:var(--ogv-text-main)!important}

        /* The two order-page fields are addressed by id in the order sheet, which
           loads after this one, so they need id-level specificity here too. */
        html[data-theme="dark"] .ogv-order-search input#template-input,
html[data-theme="dark"] #new-order-search input#template-input,
html[data-theme="dark"] .ogv-order-form textarea#service_description{background:var(--ogv-bg-input)!important;border-color:var(--ogv-border)!important;color:var(--ogv-text-main)!important}

        /* --- Services catalogue (/services) --------------------------------------- */

        /* --- Child panel page (/child_panel_order) -------------------------------- */

        /* --- Specificity patch -----------------------------------------------------
           The rules above lost to two selector shapes that are more specific than a
           plain html[data-theme="dark"] body prefix:
             .ogv-app-body .ogv-app-content X   (three classes, in style.css)
             #order-form .form-control          (an id, in the order sheet)
           These re-state the same intent at a weight that actually wins, rather than
           escalating every rule above to a heavier prefix for the few that needed it.
           -------------------------------------------------------------------------- */
        html[data-theme="dark"] body.ogv-app-body .ogv-app-content .nav-tabs,
html[data-theme="dark"] body.ogv-app-body .ogv-app-content .nav-pills,
html[data-theme="dark"] body.ogv-app-body .ogv-app-content .table-responsive,
html[data-theme="dark"] body.ogv-app-body .ogv-app-content .ogv-table-scroll{background:transparent!important;border-color:var(--ogv-border)!important}
        html[data-theme="dark"] body.ogv-app-body .ogv-app-content .well,
html[data-theme="dark"] body.ogv-app-body .ogv-app-content .well-float,
html[data-theme="dark"] body.ogv-app-body .ogv-app-content .panel-body,
html[data-theme="dark"] body.ogv-app-body .ogv-app-content .panel-footer,
html[data-theme="dark"] body.ogv-app-body .ogv-app-content .modal-content,
html[data-theme="dark"] body.ogv-app-body .ogv-app-content .modal-header,
html[data-theme="dark"] body.ogv-app-body .ogv-app-content .modal-footer,
html[data-theme="dark"] body.ogv-app-body .ogv-app-content .dropdown-menu,
html[data-theme="dark"] body.ogv-app-body .ogv-app-content .list-group-item,
html[data-theme="dark"] body.ogv-app-body .ogv-app-content .breadcrumb{background:var(--ogv-bg-card)!important;border-color:var(--ogv-border)!important;color:var(--ogv-text-main)!important}
        html[data-theme="dark"] body.ogv-app-body .ogv-app-content .input-group-addon{background:var(--ogv-bg-raised)!important;border-color:var(--ogv-border)!important;color:var(--ogv-text-muted)!important}
        html[data-theme="dark"] body.ogv-app-body .ogv-app-content .table>thead>tr>th{background:rgba(255,255,255,.05)!important;border-color:var(--ogv-border)!important;color:var(--ogv-text-muted)!important}
        html[data-theme="dark"] body.ogv-app-body .ogv-app-content .table>tbody>tr>td,
html[data-theme="dark"] body.ogv-app-body .ogv-app-content .table>tbody>tr{background:transparent!important;border-color:var(--ogv-border)!important;color:var(--ogv-text-main)!important}
        html[data-theme="dark"] body.ogv-app-body .ogv-app-content .table-striped>tbody>tr:nth-of-type(odd){background:rgba(255,255,255,.03)!important}
        html[data-theme="dark"] body.ogv-app-body .ogv-app-content .nav-tabs>li.active>a{background:var(--ogv-bg-card)!important;color:var(--ogv-text-main)!important}
        html[data-theme="dark"] body.ogv-app-body .ogv-app-content .nav-pills>li.active>a{background:rgba(161,72,244,.22)!important;color:#e9d7ff!important}
        html[data-theme="dark"] body.ogv-app-body .ogv-app-content .alert-success{background:rgba(22,163,74,.16)!important;border-color:rgba(74,222,128,.32)!important;color:#8ef0b4!important}
        html[data-theme="dark"] body.ogv-app-body .ogv-app-content .alert-danger{background:rgba(220,38,38,.16)!important;border-color:rgba(248,113,113,.32)!important;color:#ffb3b3!important}
        html[data-theme="dark"] body.ogv-app-body .ogv-app-content .alert-info{background:rgba(56,132,255,.16)!important;border-color:rgba(125,178,255,.32)!important;color:#b8d4ff!important}
        html[data-theme="dark"] body.ogv-app-body .ogv-app-content .label,
html[data-theme="dark"] body.ogv-app-body .ogv-app-content .badge{background:rgba(161,72,244,.22)!important;color:#e9d7ff!important}

        /* Form fields on the order page are addressed by id there. */
        html[data-theme="dark"] #order-form .form-control,
html[data-theme="dark"] #order-form select,
html[data-theme="dark"] #order-form textarea,
html[data-theme="dark"] #order-form input[type="text"],
html[data-theme="dark"] #order-form input[type="number"]{background:var(--ogv-bg-input)!important;border-color:var(--ogv-border)!important;color:var(--ogv-text-main)!important}

        /* select2's own combined-class selectors are three classes deep. */
        html[data-theme="dark"] body .select2-container .select2-selection,
html[data-theme="dark"] body .select2-container.select2-container--open .select2-selection{background:var(--ogv-bg-input)!important;border-color:var(--ogv-border)!important;color:var(--ogv-text-main)!important}

        /* Surfaces the sweep missed because only their text colour was restated. */
        html[data-theme="dark"] body .ogv-meta-item__val--success{background:rgba(22,163,74,.16)!important;border-color:rgba(74,222,128,.3)!important}

        /* --- Text inside the darkened cards ----------------------------------------
           Darkening a card is only half the job: several of these cards set their own
           heading and value colours in light-mode hex, so the fill went dark and the
           text stayed near-black on top of it. Each card that was darkened above gets
           its text restated here, rather than a blanket "all text is light" rule --
           that approach was tried earlier and broke the components that legitimately
           keep a light or coloured fill.
           -------------------------------------------------------------------------- */
        html[data-theme="dark"] body .ogv-dashboard-stat strong,
html[data-theme="dark"] body .ogv-dashboard-stat b,
html[data-theme="dark"] body .ogv-stat-card strong,
html[data-theme="dark"] body .ogv-stat-card b,
html[data-theme="dark"] body .ogv-order-card__step strong,
html[data-theme="dark"] body .ogv-empty-state strong,
html[data-theme="dark"] body .ogv-app-section-head strong,
html[data-theme="dark"] body .ogv-desc-card strong,
html[data-theme="dark"] body .ogv-global-search-item strong,
html[data-theme="dark"] body .ogv-svc-detail__val,
html[data-theme="dark"] body .ogv-workspace-shortcut{color:var(--ogv-text-main)!important}
        html[data-theme="dark"] body .ogv-dashboard-stat small,
html[data-theme="dark"] body .ogv-dashboard-stat p,
html[data-theme="dark"] body .ogv-stat-card small,
html[data-theme="dark"] body .ogv-stat-card p,
html[data-theme="dark"] body .ogv-order-card__step p,
html[data-theme="dark"] body .ogv-empty-state p,
html[data-theme="dark"] body .ogv-dashboard-note,
html[data-theme="dark"] body .ogv-desc-card p,
html[data-theme="dark"] body .ogv-svc-detail__label{color:#c6b7d4!important}

        /* Topbar account name kept its light-mode near-black. */
        html[data-theme="dark"] body .ogv-app-user b,
html[data-theme="dark"] body .ogv-app-user__meta b{color:var(--ogv-text-main)!important}

        /* The favourites button label is the step-2 orange, which is a light-mode
           colour; on the dark card it needs the lighter amber the heading uses. */
        html[data-theme="dark"] body .ogv-step[aria-labelledby="ogv-step-2"] .ogv-fav-btn,
html[data-theme="dark"] body .ogv-step[aria-labelledby="ogv-step-2"] .ogv-fav-btn span,
html[data-theme="dark"] body .ogv-fav-btn span{color:#f3b65d!important}

        /* select2 restates its label colour at three classes deep. */
        html[data-theme="dark"] body .select2-container .select2-selection .select2-selection__rendered,
html[data-theme="dark"] body .select2-container--default .select2-selection--single .select2-selection__rendered{color:var(--ogv-text-main)!important}

        /* Regression from the alert rules above: .ogv-success-check is a filled green
           circle and .ogv-receipt-details is a neutral panel, but both sit inside
           .alert-success, so the green text colour leaked onto them. */
        html[data-theme="dark"] body .alert-success .ogv-success-check,
html[data-theme="dark"] body.ogv-app-body .ogv-app-content .alert-success .ogv-success-check{background:#15803d!important;color:#fff!important}
        html[data-theme="dark"] body .alert-success .ogv-receipt-details span,
html[data-theme="dark"] body .alert-success .ogv-receipt-details strong,
html[data-theme="dark"] body.ogv-app-body .ogv-app-content .alert-success .ogv-receipt-details span,
html[data-theme="dark"] body.ogv-app-body .ogv-app-content .alert-success .ogv-receipt-details strong{color:var(--ogv-text-main)!important}
        html[data-theme="dark"] body .alert-success .ogv-receipt-details span{color:var(--ogv-text-muted)!important}

        /* The order receipt rows are green-on-green-tint in light mode. The panel is
           neutral in dark mode, so the rows take the normal text colours -- this holds
           whether the receipt sits inside .alert-success (the order page) or on its
           own (the orders list). */
        html[data-theme="dark"] body .ogv-receipt-details span,
html[data-theme="dark"] body .ogv-receipt-details .ogv-receipt-row span,
html[data-theme="dark"] body.ogv-app-body .ogv-app-content .ogv-receipt-details span{color:var(--ogv-text-muted)!important}
        html[data-theme="dark"] body .ogv-receipt-details strong,
html[data-theme="dark"] body .ogv-receipt-details .ogv-receipt-row strong,
html[data-theme="dark"] body .ogv-receipt-details .ogv-receipt-charge,
html[data-theme="dark"] body.ogv-app-body .ogv-app-content .ogv-receipt-details strong{color:var(--ogv-text-main)!important}
        html[data-theme="dark"] body .ogv-receipt-link{color:#c9a6ff!important}

        /* ===========================================================================
           DARK MODE, PART 3: the four pages checked individually
           Each of these was harnessed on its own with its real body class, because
           they do not share a layout: /addfunds paints its columns as cards, /api
           ships its own \3c style> and renders the public .ovr- shell, and the order
           page's desktop workspace only exists after the dashboard script runs, so
           no earlier sweep had ever seen it.
           =========================================================================== */

        /* --- Order page: the workspace the dashboard script builds ---------------- */
        /* .ogv-quick-stats / .ogv-wallet-card / .ogv-fav-summary-card / .ogv-support-card
           are created in JS, so their inner label and hint colours had never been
           measured against a dark card. */
        html[data-theme="dark"] body .ogv-stat-card .ogv-stat-card__label,
html[data-theme="dark"] body .ogv-stat-card__label{color:#b9a9c6!important}
        html[data-theme="dark"] body .ogv-stat-card .ogv-stat-card__hint,
html[data-theme="dark"] body .ogv-stat-card__hint{color:#c9a6ff!important}
        html[data-theme="dark"] body .ogv-stat-card .ogv-stat-card__value,
html[data-theme="dark"] body .ogv-stat-card__value{color:#f3eaff!important}
        html[data-theme="dark"] body .ogv-quick-stats__title,
html[data-theme="dark"] body .ogv-fav-summary-card strong,
html[data-theme="dark"] body .ogv-support-card__copy strong{color:#f3eaff!important}
        html[data-theme="dark"] body .ogv-fav-summary-card p,
html[data-theme="dark"] body .ogv-support-card__copy p{color:#b9a9c6!important}
        html[data-theme="dark"] body .ogv-fav-summary-card,
html[data-theme="dark"] body .ogv-support-card,
html[data-theme="dark"] body .ogv-support-card__item{background:var(--ogv-bg-card)!important;border-color:var(--ogv-border)!important}
        html[data-theme="dark"] body .ogv-support-card__icon{background:rgba(161,72,244,.18)!important;color:#d7b4ff!important}
        /* White on WhatsApp green is 1.98:1. The brand green is kept for the card's
           identity but the button itself drops to a shade white can sit on. */
        html[data-theme="dark"] body .ogv-support-link-btn{background:#0e7a40!important;color:#fff!important}
        html[data-theme="dark"] body .ogv-support-link-btn--subtle{background:rgba(255,255,255,.08)!important;color:var(--ogv-text-main)!important}

        /* Topbar sub-label was 4.16:1, just under the threshold. */
        html[data-theme="dark"] body .ogv-app-user__meta small,
html[data-theme="dark"] body .ogv-app-user small{color:#c4b6d2!important}

        /* Shared public OVR shell surfaces. Route-owned API rules live in api.twig. */
        html[data-theme="dark"] body .ovr-site{background:var(--ogv-bg-page)!important;color:var(--ogv-text-main)!important}
        html[data-theme="dark"] body .ovr-header,
html[data-theme="dark"] body .ovr-header--service{background:var(--ogv-bg-raised)!important;border-color:var(--ogv-border)!important}
        html[data-theme="dark"] body .ovr-nav a,
html[data-theme="dark"] body .ovr-menu a,
html[data-theme="dark"] body .ovr-text-button{color:var(--ogv-text-muted)!important}
        /* The step-2 badge is white on the amber gradient (#f3b65d -> #ff8800), which
           is 2.46:1. Only the dark-mode gradient is deepened here, so the amber the
           step-2 card was designed around is untouched in light mode. The same ratio
           applies there and is worth revisiting separately. */
        html[data-theme="dark"] body .ogv-step[aria-labelledby="ogv-step-2"] .ogv-step__num{background:linear-gradient(140deg,#c25f00,#8f4300)!important;color:#fff!important}

        /* --- Two surfaces the dark pass invented ---------------------------------- */

        /* 1. .ogv-app-section-head is a card only OUTSIDE the app shell. Inside it,
              style.css:694 sets background:transparent, no border and no shadow, and
              line 758 drops even the bottom rule on these routes -- the heading is
              meant to sit flush on the page. The earlier sweep swept it up with the
              real cards and gave it --ogv-bg-card, which is lighter than the page, so
              it read as a band. Put it back on the page colour. */
        html[data-theme="dark"] body.ogv-app-body .ogv-app-section-head{background:transparent!important;border:0!important;box-shadow:none!important}
        html[data-theme="dark"] body.ogv-app-body .ogv-app-section-head h2{color:var(--ogv-text-main)!important}
        html[data-theme="dark"] body.ogv-app-body .ogv-app-section-head p{color:var(--ogv-text-muted)!important}
        html[data-theme="dark"] body.ogv-app-body .ogv-app-section-head__copy>span{color:#c9a6ff!important}
        html[data-theme="dark"] body.ogv-app-body .ogv-app-section-head__icon{background:linear-gradient(145deg,#5c0fa8,#8224e3)!important;color:#fff!important}

        /* 2. On /services the column and the catalogue inside it are BOTH cards. In
              light mode both are white on a light-grey page, so they read as one
              surface; in dark mode two filled, bordered boxes read as two nested
              boxes. The catalogue is the real card (it carries the radius, padding
              and shadow), so the column goes back to being a plain wrapper -- with a
              transparent border this time, which is what left the white ring before.
              /orders keeps the column as its card: it has no inner catalogue. */

        /* ===========================================================================
           /api: suppress the public chrome when the page renders inside the app shell
           api.twig is written to stand alone for logged-out visitors -- it ships the
           public .ovr- header (logo, full site nav, Sign in / Sign up) and a hero that
           restates the page title. Signed in, layout.twig has already drawn the
           sidebar, the topbar and the .ogv-app-section-head ("API - Connect OgaViral
           to your tools and automate your workflow"), so both are duplicates: a second
           site nav under the sidebar, and the same sentence twice.
           Gated on body.ogv-app-body, so the logged-out page keeps its only navigation.
           This is the same job as the first-paint legacy-header suppression above.
           =========================================================================== */
        body.ogv-app-body .ovr-site>.ovr-header{display:none!important}
        /* The page's top padding existed to clear the hero; without it the docs card
           would sit too far from the section head. */

        /* ===================================================================
           Mobile bottom tab bar
           Self-contained on purpose: this file is the only one that renders on
           every authenticated page, so the bar cannot depend on neworder.twig's
           stylesheet, which only loads on the order page. Hidden from 992px up,
           where the sidebar is the navigation.
           =================================================================== */
        .ogv-tabbar{display:none}
        @media (max-width:991px){
          body.ogv-app-body{padding-bottom:74px!important}
          .ogv-tabbar{position:fixed!important;bottom:0!important;left:0!important;right:0!important;z-index:9999!important;display:flex!important;height:58px!important;align-items:center!important;justify-content:space-around!important;padding:0 4px!important;border-top:1px solid #ebdfef!important;background:rgba(255,255,255,.96)!important;backdrop-filter:blur(14px)!important;-webkit-backdrop-filter:blur(14px)!important;box-shadow:0 -3px 16px rgba(32,10,48,.06)!important}
          .ogv-tabbar a{display:flex!important;min-width:52px!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:2px!important;padding:4px 6px!important;color:#857593!important;font-size:10px!important;font-weight:600!important;text-decoration:none!important;transition:color .14s ease!important}
          .ogv-tabbar a.is-active{color:#8224e3!important;font-weight:750!important}
          /* Mobile browsers paint a dark translucent box over a tapped link.
             neworder.twig kills it with a universal *:focus reset, but that
             sheet only loads on the order page -- so once this bar shipped on
             every page the highlight showed up everywhere else. Suppressed for
             the bar only; :focus-visible keeps a real ring for keyboard users,
             which that universal reset throws away. */
          .ogv-tabbar a{-webkit-tap-highlight-color:transparent!important}
          .ogv-tabbar a:focus{outline:none!important}
          .ogv-tabbar a:focus-visible{outline:2px solid #8224e3!important;outline-offset:-3px!important;border-radius:12px!important}
          html[data-theme="dark"] .ogv-tabbar a:focus-visible{outline-color:#d7b4ff!important}
          .ogv-tabbar a re-icon{font-size:19px!important}
          .ogv-tabbar__fab{position:relative!important;top:-12px!important;background:none!important}
          .ogv-tabbar__disc{display:flex!important;width:44px!important;height:44px!important;align-items:center!important;justify-content:center!important;border:3px solid #fff!important;border-radius:50%!important;background:linear-gradient(135deg,#3b0078 0%,#8224e3 100%)!important;color:#fff!important;box-shadow:0 4px 12px rgba(130,36,227,.45)!important}
          .ogv-tabbar__fab span:not(.ogv-tabbar__disc){margin-top:1px!important;color:#8224e3!important;font-size:9.5px!important;font-weight:750!important}
        }
        /* Oga AI entry points. Desktop carries it in the sidebar; below the
           992px breakpoint the sidebar collapses to a drawer, so the floating
           button is what carries it on mobile. Both start hidden and are shown
           only once /ai answers -- it is a panel-side custom page, and a dead
           link is worse than no link.
           The [hidden] rules are not redundant: [hidden] is only display:none
           in the UA stylesheet, so the author display below would outrank it. */
        .ogv-ai-navlink[hidden],
.ogv-ai-fab[hidden]{display:none!important}

        /* Oga AI is a face rather than a glyph, so its nav item swaps the
           re-icon for the mascot. The box tracks .ogv-app-nav__reicon, which
           the theme pins at 25px at every width, and the hairline keeps the
           artwork's white ground from dissolving into a white sidebar. */
        .ogv-app-nav__mascot{
          display:block;
          width:25px;height:25px;flex:0 0 25px;
          border-radius:50%;
          object-fit:cover;
          box-shadow:inset 0 0 0 1px rgba(43,14,64,.12);
        }
        html[data-theme="dark"] .ogv-app-nav__mascot{
          box-shadow:inset 0 0 0 1px rgba(255,255,255,.16);
        }
        .ogv-ai-fab{
          position:fixed;right:16px;
          bottom:calc(58px + 14px + env(safe-area-inset-bottom,0px));
          z-index:9990;
          display:flex;align-items:center;justify-content:center;
          width:52px;height:52px;border-radius:50%;
          border:1px solid rgba(255,255,255,.18);
          background:linear-gradient(135deg,#3b0078,var(--ogv-accent,#a148f4));
          color:#fff;
          box-shadow:0 10px 26px rgba(59,0,120,.34);
          -webkit-tap-highlight-color:transparent;
          transition:transform .12s ease;
        }
        .ogv-ai-fab__hint{
          position:absolute;top:50%;right:calc(100% + 9px);
          transform:translateY(-50%);
          display:flex;flex-direction:column;gap:1px;
          padding:7px 11px;border-radius:13px;
          background:#fff;color:#2b2230;
          box-shadow:0 8px 22px rgba(45,20,61,.18);
          white-space:nowrap;text-align:right;
          /* Never in the way of the button it belongs to. */
          pointer-events:none;
        }
        .ogv-ai-fab__hintx{
          position:absolute;top:-7px;right:-7px;
          display:grid;place-items:center;width:19px;height:19px;
          border-radius:50%;background:#efe7f4;color:#6f6377;
          font-size:13px;line-height:1;cursor:pointer;
          /* The bubble itself ignores pointers so it never blocks the
             button; this one control has to take them back. */
          pointer-events:auto;
        }
        html[data-theme="dark"] .ogv-ai-fab__hintx{background:rgba(255,255,255,.14);color:#d7b4ff}
        .ogv-ai-fab__hint b{font-size:12px;font-weight:840;line-height:1.2}
        .ogv-ai-fab__hint em{font-style:normal;font-size:10.5px;font-weight:650;color:#6f6377;line-height:1.25}
        /* Dragged past halfway, the label would run off the screen edge, so
           it changes sides. */
        .ogv-ai-fab.is-left .ogv-ai-fab__hint{
          right:auto;left:calc(100% + 9px);text-align:left;
        }
        /* Nothing trailing the button while it is being moved. */
        .ogv-ai-fab.is-dragging .ogv-ai-fab__hint{opacity:0}
        html[data-theme="dark"] .ogv-ai-fab__hint{
          background:var(--ogv-bg-raised,#1d1233);color:var(--ogv-text-main,#f3eaff);
          box-shadow:0 8px 22px rgba(0,0,0,.5);
        }
        html[data-theme="dark"] .ogv-ai-fab__hint em{color:var(--ogv-text-muted,#b9a9c6)}
        /* The mascot is painted from here rather than shipped in the page.
           This file is cached for a year; the page is not cached at all. */
        .ogv-ai-fab__face{
          display:block;width:100%;height:100%;
          border-radius:50%;
          background-image:var(--ogv-mascot);
          background-size:cover;background-position:center;
        }
        .ogv-ai-fab{padding:3px}
        .ogv-ai-fab:active{transform:scale(.94)}
        /* A slow halo, so the button reads as something you can tap without
           the constant motion that makes a floating button feel like an ad.
           Only the ring moves. The button's own transform is left alone on
           purpose: the drag code measures its box to position it, and an
           animated transform would make it drift under the finger. */
        .ogv-ai-fab::after{
          content:"";
          position:absolute;inset:-3px;
          border-radius:50%;
          border:2px solid var(--ogv-accent,#a148f4);
          opacity:0;
          pointer-events:none;
          animation:ogv-fab-ring 3.4s ease-out infinite;
        }
        @keyframes ogv-fab-ring{
          0%{transform:scale(1);opacity:.5}
          55%{transform:scale(1.5);opacity:0}
          100%{transform:scale(1.5);opacity:0}
        }
        /* Nothing should pulse while it is being moved, and a ring chasing
           the finger is just noise. */
        .ogv-ai-fab.is-dragging::after{animation:none;opacity:0}
        @media (prefers-reduced-motion:reduce){
          .ogv-ai-fab::after{animation:none}
        }
        /* Dragging: no text selection, no scroll stealing, and the browser's
           own touch panning has to be off or the gesture never reaches us. */
        .ogv-ai-fab{touch-action:none;user-select:none;-webkit-user-select:none}
        .ogv-ai-fab.is-dragging{transition:none;cursor:grabbing;transform:scale(1.06)}
        .ogv-ai-panel{position:fixed;inset:0;z-index:10060}
        .ogv-ai-panel__scrim{
          position:absolute;inset:0;
          background:rgba(24,10,36,.5);backdrop-filter:blur(3px);
        }
        .ogv-ai-panel__box{
          position:absolute;left:0;right:0;bottom:0;
          display:flex;flex-direction:column;
          /* Tall enough to be a conversation, short enough that the page
             behind is still visible -- it is a panel on this page, not a
             replacement for it. */
          height:min(88vh,720px);
          border-radius:20px 20px 0 0;
          background:#f8f6fa;
          box-shadow:0 -18px 50px rgba(24,10,36,.34);
          overflow:hidden;
        }
        html[data-theme="dark"] .ogv-ai-panel__box{background:#160d24}
        .ogv-ai-panel__x{
          position:absolute;top:22px;right:20px;z-index:3;
          display:grid;place-items:center;width:30px;height:30px;
          border:0;border-radius:50%;cursor:pointer;
          /* It sits on the purple header band, so it is drawn for that. */
          background:rgba(255,255,255,.2);color:#fff;
        }
        .ogv-ai-panel__body{
          flex:1 1 auto;min-height:0;
          padding:14px 14px 10px!important;
          display:flex;flex-direction:column;
          overflow:hidden;
        }
        /* The greeting is what scrolls, so the composer and the continue card
           keep their place at the foot. Scrolling the panel itself left the
           last card stuck half under the composer with nothing below it to
           scroll to. */
        .ogv-ai-panel .ogv-ai-hero{
          flex:1 1 auto;min-height:0;overflow-y:auto;
          justify-content:flex-start;
        }
        /* The chat sizes itself to the viewport when it is a page. In here the
           panel is the viewport, so it simply fills the box. */
        .ogv-ai-panel .ogv-ai-page{
          flex:1 1 auto;min-height:0!important;height:auto!important;
          max-width:none;
        }
        .ogv-ai-panel .ogv-ai-page.is-chatting{height:auto!important}
        /* The greeting is flex:1 in a page, where it should fill the screen.
           Inside the panel that growth pushed the composer below the scroll,
           so the chat had no visible input. It takes its natural height here
           and the composer stays pinned to the bottom of the panel. */
        .ogv-ai-panel .ogv-ai-hero{flex:0 0 auto!important}
        .ogv-ai-panel .ogv-ai-dock{
          position:sticky!important;bottom:0!important;z-index:3!important;
          flex:0 0 auto!important;
          padding-bottom:4px!important;
          background:#f8f6fa!important;
        }
        html[data-theme="dark"] .ogv-ai-panel .ogv-ai-dock{background:#160d24!important}
        /* The page CMS blurb is furniture for the full page, not for a chat
           popover -- and it was the thing running underneath the close button. */
        .ogv-ai-panel .ogv-ai-cms{display:none!important}
        /* Whatever ends up first in the panel, nothing may sit under the X.
           The balance lives at that end of the header, so it gets the room. */
        .ogv-ai-panel .ogv-ai-head{padding-right:42px}
        .ogv-ai-panel__note{margin:0;padding:22px 4px;color:#6f6377;font-size:13px}
        @media (min-width:992px){
          .ogv-ai-panel__box{
            left:auto;right:22px;bottom:22px;
            width:min(420px,calc(100vw - 44px));
            height:min(76vh,660px);
            border-radius:20px;
          }
          .ogv-ai-panel__scrim{background:rgba(24,10,36,.28)}
        }
        /* Floating Oga AI launcher FAB: enabled on both desktop and mobile */
        @media (min-width:992px){
          .ogv-ai-fab {
            display: flex !important;
            position: fixed !important;
            right: 28px !important;
            bottom: 28px !important;
            z-index: 99990 !important;
          }
        }
        @media (min-width:992px){.ogv-tabbar{display:none!important}}
        @media (max-width:991px){
          /* The drawer is a modal -- it dims the page behind it -- but the
             tab bar sat at z-index 9999, above both the drawer (1040) and
             its overlay (1030). So it covered the bottom of the nav list and
             stayed fully lit over a dimmed page. While the drawer is open it
             belongs behind both; the drawer then has the full height. */
          .ogv-app-nav-open .ogv-tabbar{z-index:1020!important}
          /* And the list has to be reachable on a short phone: nine items
             plus the support card and the account links run past the bottom
             of a small screen, and nothing here scrolled. */
          .ogv-app-sidebar{
            overflow-y:auto;
            -webkit-overflow-scrolling:touch;
            padding-bottom:calc(20px + env(safe-area-inset-bottom,0px));
          }
        }
        /* Both scrollers in the sidebar: the nav list, which scrolls on every
           screen once the items outrun it, and the drawer itself, which only
           scrolls on mobile. Same thin rounded bar the AI thread uses, so the
           app has one scrollbar rather than two different ones.
           The transparent border with a content-box clip is what insets the
           thumb -- a scrollbar thumb has no padding property. */
        .ogv-app-nav,
.ogv-app-sidebar{
          scrollbar-width:thin;
          scrollbar-color:rgba(90,74,104,.26) transparent;
        }
        .ogv-app-nav::-webkit-scrollbar,
.ogv-app-sidebar::-webkit-scrollbar{width:8px}
        .ogv-app-nav::-webkit-scrollbar-track,
.ogv-app-sidebar::-webkit-scrollbar-track{background:transparent}
        .ogv-app-nav::-webkit-scrollbar-thumb,
.ogv-app-sidebar::-webkit-scrollbar-thumb{
          border:2px solid transparent;
          border-radius:99px;
          background:rgba(90,74,104,.22);
          background-clip:content-box;
        }
        .ogv-app-nav:hover::-webkit-scrollbar-thumb,
.ogv-app-sidebar:hover::-webkit-scrollbar-thumb{
          background:rgba(90,74,104,.38);background-clip:content-box;
        }
        .ogv-app-nav::-webkit-scrollbar-thumb:active,
.ogv-app-sidebar::-webkit-scrollbar-thumb:active{
          background:rgba(90,74,104,.5);background-clip:content-box;
        }
        .ogv-app-nav::-webkit-scrollbar-button,
.ogv-app-sidebar::-webkit-scrollbar-button{display:none;width:0;height:0}
        html[data-theme="dark"] .ogv-app-nav,
html[data-theme="dark"] .ogv-app-sidebar{
          scrollbar-color:rgba(255,255,255,.2) transparent;
        }
        html[data-theme="dark"] .ogv-app-nav::-webkit-scrollbar-thumb,
html[data-theme="dark"] .ogv-app-sidebar::-webkit-scrollbar-thumb{
          background:rgba(255,255,255,.16);background-clip:content-box;
        }
        html[data-theme="dark"] .ogv-app-nav:hover::-webkit-scrollbar-thumb,
html[data-theme="dark"] .ogv-app-sidebar:hover::-webkit-scrollbar-thumb{
          background:rgba(255,255,255,.3);background-clip:content-box;
        }

        /* ===========================================================================
           Empty states: one clean card, and fluid type on mobile
           style.css strips the card on /orders, /services and /addfunds
           (border:0; border-radius:0; box-shadow:none), so the empty state reads as a
           bare block floating in the page. It is restored here as a proper card --
           the same shape the rest of the app uses -- and its type is fluid so it
           scales with the viewport instead of stepping at one breakpoint.
           Sits in layout.twig, which loads after style.css, so these win.
           =========================================================================== */
        html body.ogv-app-body .ogv-app-content .ogv-empty-state h3{
          margin:clamp(14px,4vw,20px) 0 8px!important;
          color:#2b2230!important;
          font-size:clamp(19px,5.4vw,24px)!important;
          font-weight:820!important;
          line-height:1.25!important;
          letter-spacing:-.03em!important;
        }
        html body.ogv-app-body .ogv-app-content .ogv-empty-state p{
          max-width:46ch!important;
          margin:0!important;
          color:#887b8f!important;
          font-size:clamp(12.5px,3.5vw,14px)!important;
          line-height:1.6!important;
        }
        /* The call to action was a 10px label; at this size it reads as the next step. */
        html body.ogv-app-body .ogv-app-content .ogv-empty-state a{
          display:inline-flex!important;
          min-height:clamp(44px,11vw,50px)!important;
          align-items:center!important;
          justify-content:center!important;
          gap:8px!important;
          margin-top:clamp(18px,5vw,24px)!important;
          padding:0 clamp(20px,5.5vw,28px)!important;
          border-radius:999px!important;
          background:linear-gradient(135deg,#3b0078,#943af8)!important;
          color:#fff!important;
          font-size:clamp(12.5px,3.4vw,14px)!important;
          font-weight:800!important;
          text-decoration:none!important;
          box-shadow:0 12px 24px rgba(76,12,130,.22)!important;
        }

        /* --- Fluid type across the authenticated shell -----------------------------
           Every size below is clamp(floor, viewport-relative, ceiling): it grows
           smoothly with the screen instead of jumping at a breakpoint, and the floor
           keeps it legible on a 320px phone. Applied to named roles rather than a
           blanket selector, so nothing that was deliberately sized gets flattened.
           -------------------------------------------------------------------------- */
        html body.ogv-app-body .ogv-app-section-head h2{font-size:clamp(21px,5.8vw,27px)!important;line-height:1.2!important}
        html body.ogv-app-body .ogv-app-section-head p{font-size:clamp(11.5px,3.2vw,13px)!important;line-height:1.55!important}
        html body.ogv-app-body .ogv-app-section-head__copy>span{font-size:clamp(9.5px,2.6vw,11px)!important;letter-spacing:.1em!important}
        html body.ogv-app-body .ogv-app-content h1{font-size:clamp(23px,6.4vw,32px)!important;line-height:1.2!important}
        html body.ogv-app-body .ogv-app-content h2{font-size:clamp(19px,5.2vw,25px)!important;line-height:1.25!important}
        html body.ogv-app-body .ogv-app-content h3{font-size:clamp(17px,4.6vw,21px)!important;line-height:1.3!important}
        html body.ogv-app-body .ogv-app-content h4{font-size:clamp(15px,4vw,18px)!important;line-height:1.35!important}
        html body.ogv-app-body .ogv-app-content .panel-heading{font-size:clamp(13px,3.6vw,15px)!important}
        html body.ogv-app-body .ogv-app-content .control-label{font-size:clamp(11.5px,3.1vw,13px)!important}
        html body.ogv-app-body .ogv-app-content .help-block{font-size:clamp(10.5px,2.9vw,12px)!important;line-height:1.55!important}
        html body.ogv-app-body .ogv-app-content .form-control{font-size:clamp(13px,3.6vw,14px)!important}
        html body.ogv-app-body .ogv-app-content .btn{font-size:clamp(12px,3.3vw,13.5px)!important}
        html body.ogv-app-body .ogv-app-content .nav-pills>li>a,
html body.ogv-app-body .ogv-app-content .nav-tabs>li>a{font-size:clamp(10.5px,2.9vw,12px)!important}
        html body.ogv-app-body .ogv-app-content .table>thead>tr>th{font-size:clamp(9px,2.4vw,10px)!important;letter-spacing:.06em!important}
        html body.ogv-app-body .ogv-app-content .table>tbody>tr>td{font-size:clamp(11px,3vw,12.5px)!important;line-height:1.5!important}
        html body.ogv-app-body .ogv-app-content .label,
html body.ogv-app-body .ogv-app-content .badge{font-size:clamp(8.5px,2.3vw,10px)!important}
        html body.ogv-app-body .ogv-app-content .alert{font-size:clamp(11.5px,3.1vw,13px)!important;line-height:1.55!important}
        html body.ogv-app-body .ogv-app-content .pagination>li>a,
html body.ogv-app-body .ogv-app-content .pagination>li>span{font-size:clamp(10px,2.7vw,11.5px)!important}

        /* Long words -- service names, order links, emails -- must wrap rather than
           force the page sideways on a narrow screen. */
        @media (max-width:767px){
          html body.ogv-app-body .ogv-app-content .table>tbody>tr>td,
html body.ogv-app-body .ogv-app-content .ogv-empty-state p,
html body.ogv-app-body .ogv-app-content p,
html body.ogv-app-body .ogv-app-content td a{overflow-wrap:anywhere!important;word-break:break-word!important}
        }

        /* --- Dark mode for the restored card --------------------------------------- */
        html[data-theme="dark"] body.ogv-app-body .ogv-app-content .ogv-empty-state h3{color:var(--ogv-text-main)!important}
        html[data-theme="dark"] body.ogv-app-body .ogv-app-content .ogv-empty-state p{color:var(--ogv-text-muted)!important}
html[data-theme="dark"] body.ogv-app-body .ogv-app-section-head p{color:var(--ogv-text-muted)!important}
html[data-theme="dark"] body.ogv-app-body .ogv-app-content .input-group-addon{color:var(--ogv-text-muted)!important}

        /* ===========================================================================
           Services filter row on mobile
           =========================================================================== */
        @media (max-width:767px){

          html body.ogv-app-body .ogv-app-content .nav-pills{
            justify-content:center!important;
            gap:7px!important;
            row-gap:7px!important;
          }
          html body.ogv-app-body .ogv-app-content .nav-pills>li>a{
            padding:8px 13px!important;
            white-space:nowrap!important;
          }
          /* The search sits inside the same list; give it its own full-width line
             rather than letting it fight the pills for space. */
          html body.ogv-app-body .ogv-app-content .nav-pills>li.search{
            flex:1 0 100%!important;
            width:100%!important;
            margin-top:4px!important;
            float:none!important;
          }
          html body.ogv-app-body .ogv-app-content .nav-pills>li.search form,
html body.ogv-app-body .ogv-app-content .nav-pills>li.search .input-group{width:100%!important}

          /* The page heading and the card below it were on different left edges. */
          html body.ogv-app-body .ogv-app-section-head{padding-left:16px!important;padding-right:16px!important}
        }

        /* The filter list still carried list-style:disc, so every pill had a bullet
           beside it. Invisible while the rows were left-aligned and clipped; centring
           them brought the markers into view. */
        html body.ogv-app-body .ogv-app-content .nav-pills,
html body.ogv-app-body .ogv-app-content .nav-pills>li,
html body.ogv-app-body .ogv-app-content .nav-tabs,
html body.ogv-app-body .ogv-app-content .nav-tabs>li{list-style:none!important}
        html body.ogv-app-body .ogv-app-content .nav-pills>li::marker,
html body.ogv-app-body .ogv-app-content .nav-tabs>li::marker{content:""!important}

        /* .input-group had lost Bootstrap's display:table, so the submit button fell
           below the field and collapsed to 16px wide. Flex keeps them on one line with
           the field taking the slack -- and this is the same group shape /addfunds
           uses for its NGN prefix, so it is fixed there too. */
        html body.ogv-app-body .ogv-app-content .input-group{display:flex!important;width:100%!important;align-items:stretch!important}
        html body.ogv-app-body .ogv-app-content .input-group>.form-control{flex:1 1 auto!important;width:auto!important;min-width:0!important}
        html body.ogv-app-body .ogv-app-content .input-group>.input-group-btn,
html body.ogv-app-body .ogv-app-content .input-group>.input-group-addon{display:flex!important;width:auto!important;flex:0 0 auto!important;align-items:center!important}
        html body.ogv-app-body .ogv-app-content .input-group>.input-group-btn>.btn{height:100%!important;min-width:46px!important;justify-content:center!important;white-space:nowrap!important}

        /* Three muted greys in light mode sat under 4.5:1 -- the empty-state copy
           (#887b8f, 3.98), the section-head lead (#887d8e, 3.64) and the input-group
           prefix (#7d7084, 4.31). Same visual weight, enough contrast to read.
           Dark mode already overrides these, so it is untouched. */
        html body.ogv-app-body .ogv-app-content .ogv-empty-state p{color:#6f6377!important}
        html body.ogv-app-body .ogv-app-section-head p{color:#6f6377!important}
        html body.ogv-app-body .ogv-app-content .input-group-addon{color:#675c6e!important}

        /* --- Collapsible status filters -------------------------------------------
           Seven pills is three wrapped rows on a phone. Collapsed, the row is a single
           control naming the current filter; opening it reveals the pills. The search
           field stays out of the collapse -- it is not a filter you pick from a list.
           Desktop keeps every pill inline, where they fit on one line.
           -------------------------------------------------------------------------- */
        .ogv-filter-toggle{display:none}
        @media (max-width:767px){
          html body.ogv-app-body .ogv-app-content .ogv-filter-toggle{
            display:flex!important;
            width:100%!important;
            align-items:center!important;
            justify-content:space-between!important;
            gap:10px!important;
            min-height:46px!important;
            margin:0 0 10px!important;
            padding:0 14px!important;
            border:1px solid #e4dcea!important;
            border-radius:13px!important;
            background:#fff!important;
            color:#4a4051!important;
            font-size:clamp(12px,3.3vw,13.5px)!important;
            font-weight:750!important;
            text-align:left!important;
            -webkit-tap-highlight-color:transparent!important;
          }
          html body.ogv-app-body .ogv-app-content .ogv-filter-toggle b{font-weight:800!important;color:#7117bc!important}
          html body.ogv-app-body .ogv-app-content .ogv-filter-toggle .ogv-filter-toggle__chev{
            flex:0 0 auto!important;transition:transform .18s ease!important;font-size:11px!important;opacity:.75!important;
          }
          html body.ogv-app-body .ogv-app-content .ogv-filter-toggle[aria-expanded="true"] .ogv-filter-toggle__chev{transform:rotate(180deg)!important}

          /* Collapsed: only the search remains. Expanded: the pills come back. */
          html body.ogv-app-body .ogv-app-content .nav-pills.ogv-filters-collapsed>li:not(.search){display:none!important}
          html body.ogv-app-body .ogv-app-content .nav-pills.ogv-filters-collapsed{gap:0!important;margin-bottom:0!important}

          html[data-theme="dark"] body.ogv-app-body .ogv-app-content .ogv-filter-toggle{
            border-color:var(--ogv-border)!important;background:rgba(255,255,255,.06)!important;color:var(--ogv-text-main)!important;
          }
          html[data-theme="dark"] body.ogv-app-body .ogv-app-content .ogv-filter-toggle b{color:#d7b4ff!important}
        }


/* === Start of CSS/mobile-forms.css === */
/* ==========================================================================
   OgaViral — form and control fixes (mobile-led, but several apply at all sizes)
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. Primary button colour
   .btn-primary paints a purple gradient background but never declares a text
   colour, so it inherits whatever Bootstrap happens to supply. The local
   CSS/bootstrap.css is empty, so nothing in this theme guarantees it — and if
   the base stylesheet ever changes, the label goes dark on purple and fails
   contrast. Declare it explicitly.
   -------------------------------------------------------------------------- */
.ogv-app-body .ogv-app-content .btn-primary,
.ogv-app-body .ogv-app-content .btn-primary:link,
.ogv-app-body .ogv-app-content .btn-primary:visited {
  color: #ffffff !important;
}

.ogv-app-body .ogv-app-content .btn-primary:hover,
.ogv-app-body .ogv-app-content .btn-primary:focus,
.ogv-app-body .ogv-app-content .btn-primary:active {
  color: #ffffff !important;
}

/* --------------------------------------------------------------------------
   2. Textareas inherit the UI font
   Browsers default <textarea> to monospace. The order form's read-only
   description box was rendering in Courier while everything around it was
   Satoshi.
   -------------------------------------------------------------------------- */
.ogv-app-body .ogv-app-content textarea,
.ogv-app-body .ogv-app-content textarea.form-control,
.ogv-app-body .ogv-app-content input,
.ogv-app-body .ogv-app-content select {
  font-family: inherit;
}

/* The description panel is read-only reference text — make that legible
   rather than cramped. */
.ogv-order-form textarea#service_description {
  background: #faf8fc;
  color: #4b4152;
  font-size: 13px;
  line-height: 21px;
}

/* --------------------------------------------------------------------------
   3. Section header stops fighting itself on small screens
   .ogv-workspace-shortcuts__head is a flex row with space-between, and its
   paragraph is max-width:330px with text-align:right. On a 390px phone that
   puts a right-aligned 330px block beside the heading. The existing mobile
   rule only changes align-items, so the squeeze survives.
   -------------------------------------------------------------------------- */
@media (max-width: 767px) {
  .ogv-workspace-shortcuts__head {
    flex-direction: column;
    align-items: flex-start !important;
    gap: 8px;
  }

  .ogv-workspace-shortcuts__head p {
    max-width: none;
    text-align: left;
  }

  /* Same pattern is used by the order card header. */
  .ogv-order-card__header {
    align-items: flex-start;
    gap: 12px;
  }
}

/* --------------------------------------------------------------------------
   4. Horizontal pill rails get a scroll affordance
   .ogv-service-pills is overflow-x:auto with the scrollbar hidden, so on a
   phone the last pill is simply clipped with nothing to suggest it moves.
   A right-edge fade signals there is more, without changing the interaction.
   -------------------------------------------------------------------------- */
@media (max-width: 767px) {
  .ogv-service-pills {
    position: relative;
    scroll-snap-type: x proximity;
    -webkit-overflow-scrolling: touch;
    /* Fade only the right edge, and only while there is overflow to scroll to. */
    -webkit-mask-image: linear-gradient(90deg, #000 0, #000 calc(100% - 28px), transparent 100%);
    mask-image: linear-gradient(90deg, #000 0, #000 calc(100% - 28px), transparent 100%);
  }

  .ogv-service-pills button {
    scroll-snap-align: start;
  }
}

/* --------------------------------------------------------------------------
   5. Touch target sizing
   iOS zooms the page when a focused input is under 16px. Several controls sit
   at 11–13px, which makes the order form jump on focus.
   -------------------------------------------------------------------------- */
@media (max-width: 767px) {
  .ogv-app-body .ogv-app-content input.form-control,
.ogv-app-body .ogv-app-content select.form-control,
.ogv-app-body .ogv-app-content textarea.form-control {
    font-size: 16px;
  }

  .ogv-app-body .ogv-app-content .btn,
.ogv-app-body .ogv-app-content .btn-primary {
    min-height: 48px;
  }

  /* A form's primary action should be a full-width target on a phone. */
  .ogv-order-form button[type="submit"],
.ogv-order-form .btn-primary {
    width: 100%;
    justify-content: center;
  }
}

/* === End of CSS/mobile-forms.css === */

/* === Start of CSS/mobile-tables.css === */
/* ==========================================================================
   OgaViral — mobile behaviour for every data table in the app
   --------------------------------------------------------------------------
   The theme currently forces a 650px min-width on tables inside a horizontal
   scroller, in three places:

     style.css   .ogv-app-body .ogv-app-content .table{min-width:650px}
     script.js   @media(max-width:600px){….ogv-table-scroll>.table{min-width:650px}}
     script.js   .ogv-app-body .ogv-app-content .table{min-width:650px}

   On a 390px phone that means the columns people actually care about — price,
   status, the action button — sit off-screen behind a sideways swipe. This
   file removes that and reflows instead.

   !important is required: script.js injects its rules as a \3c style> element at
   runtime, which lands after this file in the cascade and would otherwise win.

   PerfectPanel ships two different kinds of table, and they want opposite
   treatment, so nothing here is applied blindly:

     1. Data grids  (services, orders, notifications) — many columns, and every
        cell carries data-label. These reflow to a label / value stack.
     2. Key-value docs (the API page: "HTTP Method | POST") — two columns, no
        data-label. These already fit a phone; reflowing them would turn a
        readable pair into a stuttering mess, so they are left alone and simply
        allowed to wrap.
   ========================================================================== */

@media (max-width: 767px) {

  /* ---- 1. Undo the forced width, everywhere ---------------------------- */
  .ogv-app-body .ogv-app-content .table,
.ogv-app-content .ogv-table-scroll > .table,
.ogv-app-content .table-responsive > .table {
    min-width: 0 !important;
    width: 100% !important;
  }

  /* The wrapper keeps overflow-x:auto as a safety net, but with the min-width
     gone it only scrolls when a table genuinely cannot fit, instead of always. */
  .ogv-app-content .ogv-table-scroll,
.ogv-app-content .table-responsive {
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  /* ---- 2. Data grids: reflow to a label / value stack ------------------ */
  /* Scoped to tables whose cells carry data-label, so key-value doc tables
     are untouched. */
  .ogv-app-content table.table:has(td[data-label]) {
    border-collapse: collapse;
  }

  .ogv-app-content table.table:has(td[data-label]) thead {
    display: none;
  }

  .ogv-app-content table.table:has(td[data-label]) tbody {
    display: block;
    width: 100%;
  }

  .ogv-app-content table.table:has(td[data-label]) tbody tr {
    display: block;
    width: 100%;
    margin: 0 0 14px;
    padding: 14px 16px;
    border: 1px solid #ebe4ef;
    border-radius: 14px;
    background: #fff;
  }

  .ogv-app-content table.table:has(td[data-label]) tbody tr:last-child {
    margin-bottom: 0;
  }

  .ogv-app-content table.table:has(td[data-label]) tbody td {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 16px;
    width: auto !important;
    padding: 7px 0;
    border: none;
    border-bottom: 1px solid #f4f0f6;
    text-align: right;
    white-space: normal;
    word-break: break-word;
  }

  .ogv-app-content table.table:has(td[data-label]) tbody td:last-child {
    border-bottom: none;
    padding-bottom: 0;
  }

  .ogv-app-content table.table:has(td[data-label]) tbody td:first-child {
    padding-top: 0;
  }

  /* The hidden column heading, restored per cell. */
  .ogv-app-content table.table:has(td[data-label]) tbody td::before {
    content: attr(data-label);
    flex: 0 0 auto;
    max-width: 45%;
    color: #7d7288;
    font-size: 12px;
    font-weight: 650;
    text-align: left;
    white-space: nowrap;
  }

  /* A cell with an empty data-label is the action column — give the control
     the full row rather than squeezing it against a blank label. */
  .ogv-app-content table.table:has(td[data-label]) tbody td[data-label=""] {
    justify-content: stretch;
    padding-top: 12px;
  }

  .ogv-app-content table.table:has(td[data-label]) tbody td[data-label=""]::before {
    display: none;
  }

  .ogv-app-content table.table:has(td[data-label]) tbody td[data-label=""] .btn,
.ogv-app-content table.table:has(td[data-label]) tbody td[data-label=""] button,
.ogv-app-content table.table:has(td[data-label]) tbody td[data-label=""] a.btn {
    width: 100%;
    justify-content: center;
  }

  /* Category separator rows have no cells to label — keep them as headings. */
  .ogv-app-content table.table tr.services-list-category-title td {
    display: block;
    text-align: left;
  }

  .ogv-app-content table.table tr.services-list-category-title td::before {
    display: none;
  }

  /* ---- 3. Key-value doc tables: just let them breathe ------------------ */
  .ogv-app-content table.table:not(:has(td[data-label])) {
    table-layout: fixed;
  }

  .ogv-app-content table.table:not(:has(td[data-label])) td,
.ogv-app-content table.table:not(:has(td[data-label])) th {
    padding: 12px 10px;
    font-size: 13px;
    line-height: 20px;
    white-space: normal;
    word-break: break-word;
    overflow-wrap: anywhere;
  }

  /* API docs put long URLs and JSON in these cells — let them wrap instead of
     stretching the table. */
  .ogv-app-content table.table:not(:has(td[data-label])) td code,
.ogv-app-content table.table:not(:has(td[data-label])) td pre {
    white-space: pre-wrap;
    word-break: break-all;
  }
}

/* --------------------------------------------------------------------------
   Fallback for engines without :has() (older Samsung Internet, pre-2023 FF).
   Those keep the horizontal scroller, but at the table's natural width rather
   than a hard 650px, so a narrow table still fits.
   -------------------------------------------------------------------------- */
@supports not (selector(:has(td))) {
  @media (max-width: 767px) {
    .ogv-app-body .ogv-app-content .table,
.ogv-app-content .ogv-table-scroll > .table {
      min-width: 0 !important;
      width: auto !important;
    }
  }
}

/* === End of CSS/mobile-tables.css === */

/* === Start of CSS/select.css === */
/* ==========================================================================
   OgaViral — styled listbox replacing the native <select>
   --------------------------------------------------------------------------
   Paired with JS/select.js. The real <select> stays in the DOM and stays the
   element the form submits, so it is hidden here rather than removed — and
   hidden in a way that keeps it focusable and reachable by scripts, not with
   display:none, which would take it out of the accessibility tree and stop
   some panels' validation from focusing it on error.
   ========================================================================== */

.ogv-app-body .ogv-select {
  position: relative;
  display: block;
  width: 100%;
}

.ogv-app-body .ogv-select__native {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: 0;
  padding: 0;
  border: 0;
  opacity: 0;
  pointer-events: none;
  /* Not display:none — the panel still focuses this on validation errors. */
}

.ogv-app-body .ogv-select__button {
  display: flex;
  width: 100%;
  min-height: 46px;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 14px;
  border: 1px solid #e6dfea;
  border-radius: 12px;
  background: #fff;
  color: #302636;
  font-family: inherit;
  font-size: 14px;
  font-weight: 600;
  text-align: left;
  cursor: pointer;
  transition: border-color 0.16s, box-shadow 0.16s;
}

.ogv-app-body .ogv-select__button:hover {
  border-color: #d7c6e4;
}

.ogv-app-body .ogv-select.is-open .ogv-select__button,
.ogv-app-body .ogv-select__button:focus-visible {
  outline: 0;
  border-color: var(--ogv-primary, #943af8);
  box-shadow: 0 0 0 4px rgba(148, 58, 248, 0.12);
}

.ogv-app-body .ogv-select__label {
  overflow: hidden;
  flex: 1 1 auto;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.ogv-app-body .ogv-select.is-empty .ogv-select__label {
  color: #9b8fa1;
  font-weight: 500;
}

/* A chevron drawn in CSS — no icon font needed, and it can animate. */
.ogv-app-body .ogv-select__caret {
  width: 9px;
  height: 9px;
  flex: 0 0 9px;
  border-right: 2px solid #8a7f90;
  border-bottom: 2px solid #8a7f90;
  border-radius: 1px;
  transform: translateY(-2px) rotate(45deg);
  transition: transform 0.18s ease;
}

.ogv-app-body .ogv-select.is-open .ogv-select__caret {
  transform: translateY(2px) rotate(-135deg);
  border-color: var(--ogv-primary, #943af8);
}

/* -------------------------------- Panel --------------------------------- */

.ogv-app-body .ogv-select__panel {
  position: absolute;
  z-index: 1050;
  top: calc(100% + 6px);
  right: 0;
  left: 0;
  display: none;
  padding: 7px;
  border: 1px solid #e8dfed;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 18px 44px rgba(39, 15, 54, 0.16);
}

.ogv-app-body .ogv-select.is-open .ogv-select__panel {
  display: block;
}

.ogv-app-body .ogv-select__search {
  width: 100%;
  height: 38px;
  margin-bottom: 6px;
  padding: 8px 12px;
  border: 1px solid #ebe4ef;
  border-radius: 10px;
  background: #faf8fc;
  color: #302636;
  font-family: inherit;
  font-size: 13px;
}

.ogv-app-body .ogv-select__search:focus {
  outline: 0;
  border-color: var(--ogv-primary, #943af8);
  background: #fff;
}

.ogv-app-body .ogv-select__list {
  max-height: 280px;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-width: thin;
  scrollbar-color: #d4c8dc transparent;
}

.ogv-app-body .ogv-select__group {
  padding: 10px 12px 5px;
  color: #a59baa;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.11em;
  text-transform: uppercase;
}

.ogv-app-body .ogv-select__option {
  display: block;
  width: 100%;
  padding: 10px 12px;
  border: 0;
  border-radius: 10px;
  background: transparent;
  color: #4f4455;
  font-family: inherit;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.4;
  text-align: left;
  cursor: pointer;
}

.ogv-app-body .ogv-select__option:hover,
.ogv-app-body .ogv-select__option:focus-visible {
  outline: 0;
  background: #faf7fc;
  color: #2b2230;
}

.ogv-app-body .ogv-select__option.is-selected {
  background: #f2e7fb;
  color: #6f15bb;
}

.ogv-app-body .ogv-select__option[disabled] {
  color: #bdb3c3;
  cursor: not-allowed;
}

/* ================================= Mobile ================================ */
@media (max-width: 767px) {
  .ogv-app-body .ogv-select__button {
    min-height: 48px;
    /* 16px keeps iOS from zooming the page when the control takes focus. */
    font-size: 16px;
  }

  .ogv-app-body .ogv-select__panel {
    padding: 6px;
    border-radius: 13px;
  }

  .ogv-app-body .ogv-select__list {
    max-height: 60vh;
  }

  .ogv-app-body .ogv-select__option {
    padding: 12px;
    font-size: 15px;
  }

  .ogv-app-body .ogv-select__search {
    height: 42px;
    font-size: 16px;
  }
}

/* === End of CSS/select.css === */

/* === Start of CSS/footer.css === */
/* ==========================================================================
   OgaViral — app footer
   --------------------------------------------------------------------------
   layout.twig gives the footer 38px side padding to match the desktop content
   gutter, and its mobile rule drops that to 18px. The content gutter on a phone
   is 17px (.ogv-app-content padding:25px 17px 34px), so the footer sat one
   pixel out from every card above it, with nothing separating it from the page.

   The critical CSS in layout.twig loads AFTER the theme stylesheets, so these
   selectors carry .ogv-app-body to outrank it rather than relying on order.
   ========================================================================== */

@media (max-width: 767px) {
  .ogv-app-body .ogv-app-footer {
    align-items: stretch;
    gap: 3px;
    margin-top: 10px;
    padding: 18px 17px 26px;
    border-top: 1px solid #ece6ef;
  }

  /* The copyright is the anchor; the tagline is supporting text. Giving them
     the same weight and colour made the block read as one grey smudge. */
  .ogv-app-body .ogv-app-footer > span:first-child {
    color: #6d6274;
    font-size: 11px;
    font-weight: 700;
  }

  .ogv-app-body .ogv-app-footer > span + span {
    color: #a99fae;
    font-size: 10.5px;
    line-height: 1.5;
  }
}

/* Very narrow phones: the tagline is the first thing that can go. */
@media (max-width: 359px) {
  .ogv-app-body .ogv-app-footer {
    padding-right: 14px;
    padding-left: 14px;
  }
}

/* === End of CSS/footer.css === */


/* === OgaViral Modern Controls, Alerts & Reset Overrides === */
/**
 * OgaViral Global Remote Dashboard Overrides

 * Version: 20260904-all
 *
 * Auto-loaded on every PerfectPanel page via layout.twig or neworder.twig.
 * Any edits to CSS in this repo deploy here instantly without touching PerfectPanel.
 */

/* ==========================================================================
   0. Authenticated App Shell & Critical Layout
   ========================================================================== */
html.ogv-auth-booting,
html.ogv-auth-booting body { background: #f8f6fa !important; }
body.ogv-app-body {
  min-height: 100vh;
  margin: 0 !important;
  padding: 0 !important;
  overflow-x: hidden;
  background: #f8f6fa !important;
  color: #19151f;
  font-family: Satoshi, Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  -webkit-font-smoothing: antialiased;
}
.ogv-app-body * { box-sizing: border-box; }
.ogv-app-shell { min-height: 100vh; }
.ogv-app-sidebar {
  position: fixed;
  inset: 0 auto 0 0;
  z-index: 1040;
  display: flex;
  width: 260px;
  min-height: 100vh;
  flex-direction: column;
  padding: 22px 14px 18px;
  border-right: 1px solid #eee8f1;
  background: #fff;
  box-shadow: 8px 0 34px rgba(40,17,57,.035);
}
.ogv-app-sidebar__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 4px 11px 24px;
}
.ogv-app-logo { display: inline-flex; align-items: center; text-decoration: none !important; }
.ogv-app-logo img { display: block; max-width: 154px; max-height: 42px; object-fit: contain; }
.ogv-app-logo span {
  background: linear-gradient(110deg, #3b0078 8%, #943af8 64%, #b25cff);
  background-clip: text;
  color: transparent;
  font-size: 27px;
  font-weight: 850;
  letter-spacing: -1.4px;
  -webkit-background-clip: text;
}
.ogv-app-sidebar__close,
.ogv-app-menu { display: none; border: 0; background: transparent; color: #241a2b; }
.ogv-app-nav { display: flex; min-height: 0; flex: 1; flex-direction: column; gap: 3px; overflow-y: auto; padding: 0 3px 18px; }
.ogv-app-nav__label { padding: 0 10px 8px; color: #a59baa; font-size: 10px; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.ogv-app-nav__link {
  position: relative;
  display: flex;
  min-height: 48px;
  align-items: center;
  gap: 14px;
  padding: 7px 10px;
  border-radius: 14px;
  color: #6e6473 !important;
  font-size: 14px;
  font-weight: 700;
  text-decoration: none !important;
}
.ogv-app-nav__icon,
.ogv-app-nav__reicon { display: none !important; }
.ogv-app-nav__link.is-active { background: #f2e5fc !important; color: #6810b3 !important; }
.ogv-app-nav__link > b { width: 6px; height: 6px; margin-left: auto; border-radius: 50%; background: transparent; }
.ogv-app-nav__link.is-active > b { background: #943af8; box-shadow: 0 0 0 4px rgba(148,58,248,.1); }
.ogv-app-nav__reicon {
  display: grid !important;
  width: 25px !important;
  height: 25px !important;
  flex: 0 0 25px !important;
  place-items: center;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #716776 !important;
  box-shadow: none !important;
}
.ogv-app-nav__link.is-active .ogv-app-nav__reicon { color: #7718c5 !important; }
.ogv-app-sidebar__support {
  margin: 7px 3px 17px;
  padding: 17px;
  border: 1px solid #eadcf7;
  border-radius: 18px;
  background: linear-gradient(145deg, #fbf7ff, #f2e7ff);
  color: #5a386c;
}
.ogv-app-sidebar__support b { display: block; margin-bottom: 4px; color: #2c1539; font-size: 13px; }
.ogv-app-sidebar__support p { margin: 0; font-size: 11px; line-height: 1.55; }
.ogv-app-sidebar__support a { display: inline-block; margin-top: 10px; color: #6e0ac6; font-size: 11px; font-weight: 800; text-decoration: none; }
.ogv-app-sidebar__account { display: flex; flex-direction: column; gap: 3px; margin: 0 4px; padding: 13px 0 0; border-top: 1px solid #f0eaf2; }
.ogv-app-sidebar__account a {
  display: flex;
  min-height: 39px;
  align-items: center;
  gap: 10px;
  padding: 7px 10px;
  border-radius: 11px;
  color: #776d7b !important;
  font-size: 11px;
  font-weight: 750;
  text-decoration: none !important;
}
.ogv-app-sidebar__account re-icon { display: grid; width: 23px !important; height: 23px !important; flex: 0 0 23px !important; place-items: center; color: #786d7e !important; }
.ogv-app-main { display: flex; min-width: 0; min-height: 100vh; margin-left: 260px; flex-direction: column; }
.ogv-app-topbar {
  position: sticky;
  top: 0;
  z-index: 1020;
  display: flex;
  height: 78px;
  align-items: center;
  justify-content: space-between;
  padding: 0 34px;
  border-bottom: 1px solid rgba(231,224,235,.9);
  background: rgba(255,255,255,.92);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}
.ogv-app-topbar__title,
.ogv-app-topbar__actions { display: flex; align-items: center; }
.ogv-app-topbar__title { gap: 12px; }
.ogv-app-topbar__actions { gap: 10px; }
.ogv-app-content { width: 100%; max-width: 1320px; margin: 0 auto; padding: 36px 38px 45px; }
.ogv-app-footer {
  display: flex;
  width: 100%;
  max-width: 1320px;
  align-items: center;
  justify-content: space-between;
  margin: auto auto 0;
  padding: 25px 38px 30px;
  color: #a196a6;
  font-size: 11px;
}
.ogv-app-overlay { display: none; }
@media (max-width: 991px) {
  .ogv-app-sidebar {
    width: min(86vw, 310px);
    padding: 18px 16px 20px;
    transform: translateX(-105%);
    box-shadow: 22px 0 55px rgba(29,9,40,.18);
  }
  .ogv-app-body.ogv-app-ready .ogv-app-sidebar,
.ogv-app-body.ogv-app-ready .ogv-app-overlay {
    transition: transform .25s ease, opacity .25s ease, visibility .25s ease;
  }
  .ogv-app-nav-open .ogv-app-sidebar { transform: translateX(0); }
  .ogv-app-sidebar__close,
.ogv-app-menu {
    display: grid;
    width: 38px;
    height: 38px;
    place-items: center;
    border-radius: 11px;
  }
  .ogv-app-sidebar__close { background: #f8f3fb; }
  .ogv-app-nav__link { min-height: 56px; padding: 9px 13px !important; border-radius: 12px; }
  .ogv-app-nav__link.is-active:before {
    position: absolute;
    top: 12px;
    bottom: 12px;
    left: 0;
    width: 3px;
    border-radius: 0 4px 4px 0;
    background: #8a2bd4;
    content: "";
  }
  .ogv-app-main { margin-left: 0; }
  .ogv-app-overlay {
    position: fixed;
    inset: 0;
    z-index: 1030;
    display: block;
    background: rgba(25,10,34,.35);
    opacity: 0;
    visibility: hidden;
    backdrop-filter: blur(3px);
  }
  .ogv-app-nav-open .ogv-app-overlay { opacity: 1; visibility: visible; }
  .ogv-app-topbar { height: 70px; padding: 0 24px; }
  .ogv-app-content { padding-right: 27px; padding-left: 27px; }
}
@media (max-width: 767px) {
  .ogv-app-topbar { height: 66px; padding: 0 16px; }
  .ogv-app-topbar__title > div { display: none !important; }
  .ogv-app-topbar__actions { min-width: 0; margin-left: auto; gap: 5px; }
  .ogv-app-content { padding: 25px 17px 34px; }
  .ogv-app-footer { align-items: flex-start; padding: 20px 18px 26px; flex-direction: column; gap: 5px; }
}

/* ==========================================================================
   Sidebar icons.

   Previously <re-icon> elements that script.js built on DOMContentLoaded
   and that stayed blank until unpkg had served the custom-element
   definition -- so they appeared well after the rest of the page. Drawn
   here instead, they are on screen with the first paint and need no
   script and no third-party request.

   Matched to an href ending rather than a path, so it works whether the
   panel writes its menu links absolute or relative.

   Last in the file on purpose: two earlier rules hide this element, and
   these have to outrank both.
   ========================================================================== */
:root{--ogv-mascot:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAQAElEQVR4AeyZeZxdVZXvv+ucc+eak6okhIRMGBBkHgRFAVEmAaGdQNqpaW1fd6vdLdq04PO1PFpaRMXpOaDtSCsC0tqtzSQNghCmMIQkBEIIGUiqKjXdqrrTOef91rlVFUDf+7z/ffvudfbaa09rrb322sMN0j/yEPBHHv6/Av7IDYAgjmOSJMFTh2Q2n8QztBZJ3CJO2mnidAfVa7VEVxp7eZbG6itWXYd2n963Q5qkKkuYTZ0WZ21atJoN6vU6tZpDTenvg5c3Gg1eDM1mk708xOJT46rPJE5meI+z8lZrbxqL10wepbHqZktAfhDM8JDq48zhiHAQXWWmNHVIIRW0P44rk5qy6Rx4WwPM/Es7CDXzTzvrg7ekQB+7JsEGhwa5f80arvvXn/DVr32Nz111Ff/8uSu55pov8bOfXc+T69YxOjpCU3XbPbS/QRAwCybcbO8Y7Rr+FY+eZCBeMcwsy2UKcMwyqRxjrpCZ0C7yBg7gXegD2cdz7QHafbbrMBPMDDPLci6sK9cF95l8+umnufbaa/mLD/4FZ55xJuef/04+fvHH+J+XX85VV32Oz191NVdc8U985MMf4ayzzuLct5zLJz7xCX56/fXs2LFDltO2AO8vGyD7tMfK0N/7zPIpntsocwoQl4o2B7/fNlVZ+jKy51PR2+3AaIe2NTjuQs+mLny9VmPr1q1ceeWVnHfeeVx22WXcdttt7Nz5Ag0tA7eMrE3atq5EZtpstqhOVnnqqY389Kc/4aMf+TCnnXYq3/nuv6jdzmz5uBK8/xld+5AZmM3ylGWzT9a/ME/3KsCnWeBEDZ2J4k0dVFdWPSuUp14DzCwDsmDZV6VaCipXX86Qgwvl4LP+4+uu45xzzuE737mWqakpCoUCURiRz+cyyOVyhGFILopED4mU5kXL5/JkZUGIl42PjclSPsPZZ53Nj6/7kfzGNO4TfByXwczmeDNr42bGS4KymQKUSkAxnX33VtEkiNL+zlE9O5dpI94eU0GGMDfwrPA+g2Ni+GMXX5zN+Nj4aCZcoPphEFAqF8jlokwZ5XKJUlF5KSSXyxGEIUEUqE9A9R1MDV3INE1kATu45BOX8L73vpfNmzfPKcHHTjUJXt8belMUzIQpCpXA1l4CYh3lBIaXg9YIs8GEGGamVDFL9Gk3EkFRWUXa4F/RZqJ75JHRUT6odf7jH/5I1pFIVykmheUkWLGQy5RRyEcEgRpJqLzwvBRSLhcouiLCSJYQqh2Y6vhO4vymqpuqHzTkHXfcwVvOeQuPPvpotlP4kkilAPNCU20zzAwP3sRTUQnSNibGlFUDReGz1DZNZoDGwptnICZMs5Dhau9tlCgaGd0sw71dQ1vcxy/+BL/69X+ojyapPH+sNV2fqjFVnaIqy6iOjTI9UaWmvPuB+nQjG6sVp6TqyxWSi0JSMRF4iVKf4Vj+IVZ/eF4wOLSLd7z97Tz22KMavx29nvZfFwRvn4GK1C1mJguY4d7MMgIvC2YGHgWpEAf1hM9CivoVmNNTE6YoojOW6KxQb9T5yfU3cOONN4D23a4o5cC+hFNXBPzpEUX+8jVlLj6pk0tP6eSyUypc+oYyf3t8gYuOjDhrRczRfTUW5OtYY5q4GRO4EjREm6UUH8cFinWOQXK4w5yYGOOiiy7i/vvX0JRynCaW8DCbGrMYBGbmZXNgNpNXh7PEjKSP2UyZCsz24sqS2SftkKqtMzc8PMwXPv/PLOzO8fbDe/n0GYv42CkDnH9kN29cXeG4/YoctqjAQQN5DlqQ46glJU7cv8w5h3Zy0Wt7uezN/Vxzbj//eHIHb1sNqyp1ymmNVMpNNfuWxuj0A5p9H9NZaulwtGP7dj71qU8xMrxHokpc8SNb0jSJZ1Vy8R2UI2izrD5UKcOVekGGz3zS2dmdyb88aXf2olYaJNGs3L/mPrZpy7viz07gjNV5FnZBPogJNKrYmmEowDJCQGIBhDlahLQsp3yOYjHkFfsWePuRXfzTOQN8/ux5nLo4Jq5Nqj1EamtpSk7+BKco35ASHn30Ea758lcyK3FeEp0OmQuWYakZAQquPZQRKo1JGY606+B0R72OA1kQ+xo0Q/Vxh+Ya9vJUgnv9mvb7737vuxy8cgELo2k6yzmKWgKFnCEfJ4aRYzNBAGI6kOBBlIeoSFSoYFFJuigSRAUsiCA0HWtjukrGu1/Xz5ffsZQLjuhgfiFWXyHiiJzqBMLMTGeDBr70hoaGpIQE502sYir3tC1oKieYZllUYwZ5WZIJOltpb5mZ7c1kmFQgU0xUP5a2129Yz7pH1nLmsauIR3dSygXkc2EGhXwo757Xvp8nly9QKLjQgnyRUAJLap0FcqSWx8I8YjPzY4aCWIl1r+jIpbxhZZF/OH0BK3sD6SfIhAkDNKuWiTk0uJsHdLwOZR1BoAJvLv6UZNGVIqp6zLKWfWc/Xs8reN5rmKlcMcs7wRHRzGaJrsM007Ywnnj8cfIW8+oVXbSmq2IwJR8ZURgQyZkFEeSklEi00GcuMMwMca8UEilz1rISqcCHdH6yKqobhOjSBXlaLO3Ok1OfhUKY9V8qRLiyTe1uuvFmwiCQkQW8PJiZD4cGNAEKnppSjyaaOZKlPrh4msl7YpgngrayINXMgLNLdtxdNtBJoTki/5igD2lqmPgwA8kA6tCZTNI0EziWc4t1c/P1mqgvP9k1tJNoVUkUNXSpUSpt+FiptxeuXZWeckRHIUdnMSfriigJ9zGeWPeYdgONr3oahtlgZpiZ90YWzExpSjpTK8uK4vEP0cR9VndvmdrPNIq1/QxrTz71uNVUB18gEV2rQqm3cpFVF4FiqjQIQwIJF4QhJq7FhQ+rGY7FfIuWGksfUhJIFKVGIq0EfqIx06wb/ZUcvcVAigjpLASUtMxClQ/u3snoyKjapepzBtTG+XYIRP0/xHZlr+TglcwMszZ43iHV3HiqAgI3NZW3Wg0aUxMcedA+TFZrJBYQu64lZEqEeSpaai6QPHrckEB17fV10lZdxKZuejX17OJqBE1KLEgSCZ4GqiuaDklqLiWllGX6feWQLimgIifrCpD8UgzErSZjExNqE89MmLh10TxRn3MKmBVS9JloatBGzXyoNu71HAzLCOapZahjBJrBpu7sXcUQ01aVV1os5SiXihQLeYrlCkGuTK7oDi9PlMuR04UoXypR7KiQr3SQL3ZQKHeorEAYRqA+U/UeS2OuhFYrRccAEK3egkohR4+Ed8GVkNf5tqQdpyLFBJAdjX3JCJ2JaZaaGV4uQaVRacMF40XBzDCzOcqLy9Vijq6pQp2AqpoFTE5N09uZ45GndnLT+ipf/e0wV92+m6tue4Gv37WTLVWTkEVKlVKmkLyELXb2UO6ZR+fAQkr9fXQMzGf+ogX0L+ynUikDpllMshlv6FQod0EiRUxOtaho3ZfzRl8lYn5Xnp5SRJ+23a58ICswQlcie0O6FyUwM8wsI5m9NM2I+rTJL24moqJ0JrmdPgNKfK0Oa++954F1XP7jB/jZmmHu3FDl7o2j3PbECD/87XauvGEdsdZnaiFRoUixs0vQTSvI8/ffvpe3/uMt/Olnb+fDX7+Xr92yhUcGoV7uIeroxOTtfRtsJQkNOUznIbBEZwAoREaHFNGt5dAty3PHWJaldXd1S9BgTk4xLe4VxW+gJItmlqX+eclMa4R2fm95uw7qMBWg4GWGLFQ4/OKXv2TtE5voziUc2B+xpCvETTORu4586uTZx8dHqVbHmRzbQ3XPbib3DLL9+e08+NQQW4frPPXCFPc+PcYP7nqeT/7wcd77lYd4/7VPcs9zdQqa8UCcu7I7JGglbJGX8PkIOT+jIiV0yQoc+np66JsnBbiDlYzOqTOd0v75HyMZ02ZZkZTjBRkpM2vDlHEAs3baVkgKeF6CS0mJZkR9yvynuOfO23j3UV188U/24bNnLeQqHWGvPKefj53YzXsOK3LSMmPohT3ZbXBqclI3wXEmhnbDuG5zBxc4cb+QwxeErO6LWNYTsrASUpaAEzL3/3Xbczy6MyYvIeVSyOegvyOkFKKTZkAxF1ApRHRI454u2GcRhXyeIHBeAckgjjH/CQ/MDA9toRwTSKC5fLtYRNeHC52hv/fx+mbGtNb/aw7s59VLjHKuRiOpU2vWiNJpFlQSlvYYzakma54YlbJqesmpMTU5zfj4BKN7xlje0eT0FSHvOTzPJW/o4UsXLOWbF63i6+9Zzj+cOp/DFuW5Yc0LBBJKvo9CmMr7p1SkiJyUJPnRwQ8tfynHWLpslTOe8WvWFmZWCjMj4GXBzDBrg5CXlXo2RaWYmWfmoJ1LJcgYK/uLjE80Gay22DEZsGlPwnPDLYZrMVONRNsibN5ZY9OzVTmyREqos2ekyrM7pti2p8XOsZix6ZR6o0U8PU2sd4KBQsKbDixy+dv6OWZZgZvvGyIMAnKBb6wxJS23SLhbYVsoWbKYOvLo44h1LsmuxZpYFAzT1/WS+vE5zTL/7x8ZkByY1zczzMxRUp3K/ER3+623svP5zWwaanHdmhrXb1vB1fdH3DqymO88mPDwUERYytFMAoanoburk1wYMbynweBok1SHnv4OWU8pz9MjKet3t5jQtjolvzE8UWNyvMbbdDN89apydkiSOjV2TCjJUy3DQLwl4gVBVUrc/4BX6CDV0u4RZ7tIKiXMgjMetNlnThAUvIKSl0Snuaqk15fQPeN9eFmizbmhg8eTG19gx0iNMK97/NvOZnR0nE1bBokr81l+0jtZuzOirgavXNFNREyPtsx8LiTSnaC7M8+2Vom1zeX8YkuJH24ocNktTT73mzqP7WyxZzLGX5b37Y4xtc0OSP4uQEJLu0JLsy1JmazHsromGzc8xbYdu6UAyGSQAqQrzMxZlwVkSftj1iaaaZa9opPFqDd0VF1g/lO5552egTJqoeJUJ8ApDhpo8aYDQt6yapLS2q/xpQ8cx8fPP4TXL25S3PEQB8w3VnbD0v4csWYqFuO+lhf25phMijw5WOTCD32Qbbv3sGX7Hqppgfd/+mpuXJ/n1483Gaom8i0prTgluzfIavzFqNGIdYKMmaglbN02xtmrGoSPfJ5L//ydNHQoS/XvVsanNOB8i20CM/NUkM6AkpmYVVKxmWEmwNolqur6UaKu0D0nyUpasoA1/3WLPDeULMDMmNi+i9amNUSbH+Z1CyY5uvM5Vna1OPHwbroKLe3dMfKKlKOE3iIcuzLHGfunPPGza/irN8zj3cd1ceFhsPXn/8Rr9kvokrcbnw6JopwGJpvVxGdfSlBOCtXYjTHedWzEM0N1vnfzZjrHNvDrf79VL8aJ6gOmKN5QCAQzUVRhM3TMPO8goqKZzdA0jKT3q+qsNhOV++HkqU3P0BrZQof25f0P2IcDD1jM6hXzWbm0mxWLSizqyzMxplnRrC/ZpywhAnR0lxnGUoT8gYSrBMaq+dLJC8/T3DFER3UPBSldwQAAEABJREFUlck9lEa3cuT8BmccUuBgOUE/6/sVWNrHpUpaifpJCZuTnLwq5bebWhS1HLp0Jc/LOW57dr2UkyAhAGM2zCnAZ1tyeV+zZUjmObxdnmZ5M+/AQVknKZ8S8MjDD3Lc/r30zOtgYPkKlq1ewpKl/SxdMp+BeT0MTgTsHmqwbN8KhXJBPqKIDCUD3Y9APiDqKlLuKHPQgQMcctACKW8e++4jWLKIhfvsQ6WzR4OGTNem8e3Otz1nwU+FsQRe3tPiqWEyZbxxcZ0VlSYlOd0oX8h2DTOTXCalKUrglykgVed/OKYydocXl6q99yJAncKGdQ+wb0eT+Qt6adUnmRweIZH3bulf37seG2FoT1NPZGWW7NtHoXsFQa6XKBQL6igBhkaaPKzjcrWWkhePA3KI+w10sFTvCgO9FR1wihS1/1fKJUo64k5P16UzmbW8f0MdTNVaDHSG3Pd8wM4q1HUgOuYVobbTiAVLlmuskEAK0FCg/lEIBFk0M8wsw//Qx7CMnClhVk9i3C0DKcdLJ3Y/T2daZXpkD2M7tjI1ulvH3VHuXT/KZu3vp79hka6uOSoLl9N96JsoLTtUWxliKqVHwq5a2UWxEnHbA7ukjGmkPR1oWvR2FugfWEzfkv0JorL29YRioSBrNery9o1GytBkKgtrUcmj219CVCjwfKNMvhAympQ59LBDtN0GmRRmxmwIZhFPzfYWSDYN4NS9kJXOCr+XjJlKFFPNRNqoMfjCIGN6kt4zPMaGbXXulwJqo1Uee/IF7RJVGHqa6pO/ZmTjfxE39lAuQv/8HH3lFq9akWPnJNz1yAjPbJ2gqnf+idE92v+HqI0O0qr53b4pIZsEQcCk9tOxZsC6XU2GphKdDFscuCDi8IEmvWmDVlginb+KZcuWEYs/hznWxXOmADNrC6ESM9PXo0vq4DjtcpWZyfXpsIFmHa+qvJlhZnTPW8juasyu4Qbbd02ydlvCvz04yklHBCxZDN+6fYybn2iy4ZmdrLvzLp7fsJGtL1S5dX2Nn9xf5TdP1bnunilSCXbicb2s08XnkY1TDA2PMrLrOcaGtlLX2m/ohOhrvqldZ7IBW8ZMFtakru10azXPozubzMu1yEngDSMRJ551LmEYkVomLnNB4mWUVNP9YpitYGazqKxBtRXnCBnSLldzvChX7mbTYMru4ZhHJfxND05y+P4FnhVDz2oJ7JSZ/nxji6/8Zpp7n61zw0N1rvjPGlffUeWbv53g67eNsXFblWN93U5PcLDS50db3PNElV2DE4zLEqqTE0xO15iQ5BO6HI1LAY/vaDCq1C3igc0pr12u41UasKNa4OnphZx59lsIwzADe5kSgkwOfV6uALO2cCpSdPHSTAkubCatqJkVKOOlKmTT1p08sjtlWjN479aEpyfgq3dW+axOcT94OGbTaMJEy3hw0Pj2o8aNm4yNI7KowAEJkTKoQ8zDW6Z4SLP/nM7KS/ZJ2V4P+PnaaXYMTTE6VmX3nmkGx5pUtf53SalbpNy67sap3gVOexWsHkgYlPDVYg8X/N2VLNCjim/briDzsTKGMwHkf2YENZPAs6AyM8PMhL00OsmsTXdlZIrzwdXp9u3bWT/YYgpD9yCt5USzkPog9BX1cFkC+bisw4bqxOrHGR+WEENa9y/I7z202/jBwy2uubvOV+5p8v2HWuxwpQwHXPtAE6/7/GjMlqEYXSp5djTNlNrSQWhPXXy1oBwFLFiUJ132Bl5z0utmToupz1E2toadSY05C0BBzTWpkkT4S6NmKCNnNbIiM8PMhDt45ymlQkEMxjy5K2ZJJ+RkHSu0La3Q7fDk1UXOXl3ifYeUuOx1Zb54RgdXndnFZ87o4qMnVXjX0SXeqNveEUsils8Ls/v8VGw8sTvh1xubPLGzzn3bmow30VE3paXXl11S2jPD0JTwsfzB9nHjvu151gwWeCw6lr/89JUUSwXCKCIIQySFlNDmVYwr2ksV4LPJi0MmdJtgZijOQZuK8k43pDkqHV2Zp717a6pjLnTrUeL8Y8rUJuqseT5iyfFvZeDot7O1cBR3b+3nvo0d3P9ML2s3FhneHpKbiFhsAQd0phw0L+CggQJd5Rz9lSB76AgD6CmlVBtGURf+9XsCXbFNMywrC0JOOfNcVrz1f9D3pk9y6ee/wbzeTnxnMjMsUGNeGszwA9NejZhZJpBXS2TfKpnLO80hycxdJVKOWbu+macBxx5zNFpijMoUN44EuNcthbrHr4zozYWcc9Ffc8HfX8Gl3/oxV9x4C5/8/i+46ubfcOWPfs2l1/6Sz958N5f/7G7+5ss38VeXXk6zledgvQq964gOyhL4lf15evLGzvGQTZMhz41HpPLuJuFyuYh9913Eeee/i/dddBG9Pd2Z0wukGDPT/GQMuwhItJlUinPMzERUBWXMVNlTwWw0a9PcQswcd2iXmlmmpCAwDjr4VTrfh2hkntxjwgOeH0941bIcRy5q8tVPfowtG9YR5Ip0acsc2H81lb4FLD74QFYedTjz9tmXju4etj29nnv//UZOe0XAX59cBllFZzHi/KM7eGBnxOZ6jifkSKcSKVn3CtPYLuiihYspFkuCIrlcTu1c7lS34ySTz/lHwUx0pR7n7MJMVFFmKwnNoucdPGPWrmPWTmdpKfpJrYcfdhi9fX16isoRBwHapXhazmqgr0R/2VjVeJJ/+fv38f1Pf4zfScD1a+5m89r7WHvnrdxy3Q+54Qv/nW//tzPY/qsvcZBt5vDFAeVCyDMjKX2dRcbTHLdvCRmXoxuvJ9m+39SVOMX5MY46+pgMc74ySCWo+HL+58B5VaGmXF9ZgBcIe0l0msMs0XGHF+dncU81CdJyysIFC3n3e95NQc7QCPBltE1bX1HmP1KHlQsj3nFMicXj9/HINy7hV5f8Kbdfcj7rvvwhOjd8gyOC33FwxzjztI/EekEuV3Js0K6wSY5umjzXP9pgt+4JNf0bkj2L6/+BRlOzK7Fz+RyvWL1KM52Q6OXZ+XXgRcFUT/JjUgrCzUxcsldLQrNoZln68s+LO5zFZ9NAM26C9733vcyb10+skWL5i92TCSN6H+yXY7tfe/vw+ATzu40TT1jBWWcfxhvPO4aTzz6KQC9JGx57jkRX1yH5EBd+Ws7uto11xuKAUW2FQ1NpNuv+6tPSqa+pK7ArGc3AogUDcsIVPN/2UzPcZ8K28VQ8uWgyjIyQaifR6kG6IAsujBd6mhH+Lx8zKUnRGwfqJdQ2E4i239KlnHr66VgQaUcgWwZbdVBZ2A33bKpy16Ya657eydrHnuKhR57iiUc28Ltb7mNw6w69EzZ48NlJCvmAUsnYMpqyWdDSdtjSVbf9b3FTzjGmLitwBcQ67i7v0+wv6ddlJyQQzya+nCezDAGlZgFmyjMLKGgJ4EQHZWejmYnchj9EMxENk+kI8SjUzPC9OG7F/O3f/A0LFy6SLwxVGrFDQuRlE4doj79x7ZgOOhP8ZtMITz4/yNqN2/jt5jG+/8gk336wLv8R8op9I/Y0Qu7SaXJE1uDCNxpN6rUG9bpAd4GWxvE3yP5ii9MOKDK/pwszE0AYBPiEhGFAYGQ02T2mH1nwac4QlasRAjMVO6QqdFC5W4JZm66sqhl4mRIcnOjVZeqJzDDRbChLX28Pp5x8CiIjH8V/Pt3iga3GyFhCIKYe1kvvDesbfOuRKb75WJ2btqSsl684dJ+INx1e0jIIWbtLR+bn69QkeCa8BHe8JbN34d355YKE45fn6ZC1dHd1gZgyc8YclBNuFmD6oZBaiqNmxmzI/hnyrJl/RfbUQahHV4KnDo6rC6EzdYXNRlPPgQ+WaT/i+BNeQ0cxz5sP6dGhJcchhw1w0Kpu3nJ4hdfvnyfnzKhxXuvywJ6ADxzWwTv03J0vRDw7VeI3Tzd0nE71jtcUNGjIKSbSqPOgZvh/AK9eHOF/vRVDo1gqyQJbtLRUfDK8Tqo1rhkT2uZaiLg0JTaTQqDcTEwxszbMUF6epDOEWSZmsu02aouBm5xbyaqV+7FioMiFx3cyXx56w5YqdzxZo6cCp70q4lWLSyzQQ8drlpW5+PQBXn9IH+hP0mfrXfz0oUl2yXk2Zeq+rJpu7hLeNKDzoKM+x2pHOXRRSFcpR6Cj8Fi1zuDgMFPTNWLVdx5TWWWqds6P9JzpIk3VgyvfO1N/gWAmamdUoVdIVVs5lwczywDzal6iDoR6PSU4XVXw4G3QoHHc5D++fw1nvTJiiw5C++p/vj95/QDvO3MBa3VMvumhhJ3VgLCzkx3Wyw1bO/nmxjJXr4n4wp3TPDcRa8abmnnBjDCWjY8sB169b8gr+wMWzStTiELquhrff8uvOO3U8/jz9/8tmzY9iy8bV57zKbGcPbFqmBkSD6c7MfCPZxwcz0odUcXMghx3mR3U1kwfp2UgonrP2io19ex77LrH1zFQW0NfT4t/vWUXrxzIsUePJCvmIYZh83CaXZnH9FfZrhr89plp7n1ukse3j+lBZUoPnjX9XTadmbPPYJtJ0LWAE5aFHKjL0rKFHfTqnJCTybV0xT5xP3SXqLL50V1cePZf8Z1v/IAp/U/pBuAg1tpCi+WMdX2c70DpTJwtMWlJZGXNNSDBsgoS3BAdLwdlBYE6hUTOL9afDuPjVTY+9Szf/drV7FeaJh/DhSf2c8Zru/mvB4aJdWh57X7GK3qhprusr+up6iTTk+N6Lh8VjDM+MsGk/gJr6k8Of+pONL6PtaBivFH/GazsDlncV9BDaZFKLsguSSa/s09ng558kVLQRcHm8aXLf8BZJ7yHn3z/RsZGR4l1OGrFLaWJ+HYZ2uASkYVM2AyTUClZ1pRizERPUGF2+3IGG40GTXnpXXoD/NTHr+bcM/6aC879EI+veZBUB5qpasp+cnDNapVjDuxmZLzOqv0KHNEPPXqyitW+UZ/WP8pT1LV2p6c08/L2zVab0QToyBnHaHd43ZKQrkinza4c++/bJWsIM+FVTD6KmYqLjNU6tdvlQeeGUPnGWIVvX3kL73zzR7nuezcxqX+h3Uk2M4eq3iVaoDHQZNPeIjLMSRJUibKp1nRL69Ah1p6WakbqjTpjEyPce/caPvupr/Bn513Gnb94ktFd08S1MU5Yadz9aIv1OxIStY+l+YU9sGNXle6OgEoh4IxVEYkLKmbcabnQbUtSG9lsMUSmHvD6/QKW6BSZj2BBd4EVizrpKub1kJonkPmrNvO7Ax58rovO4n5SQIE0MSmlQJhGekSFqZ0h37jqZi4876N862s/4oWdu+Qj6rKGGM2TBPUoYT1xcCEzZsR4bXqa6sQEQ4ODPP3UJu68/S4+95kv8f63/h2XfOjL3PerrdSHC7T0BNSqTbO6b5pTDqxz+lEF9ug97+7HxtDKINLs7R6qExCT0wXn9QdIiCDBtHzktglJ5OBSOjWlK2Q1JywNOUiOriuvta8rcH9nyJLeAr3dFUL9LfA7qxQAAAOkSURBVOaTEUtRiXocr/cwOLmaHJ1EliPRUovCIoHlicJQQgY0x2DPlhbfueaXvPtP/o5f/vw/eWHHLtUxw6wNmlxibSmxXlfcvMdHR7n+up/ykQ9+nLef9UEuPOti/vHD1/K7f9tOfUc35VY/06M1DdhAkkiEBq/Tq8/W7ca/6uHz4GVdHH7APDbrUbSpfi2IZDkpPZ0RtXrCokrK/n0BB8snHLHAOGl5yFmrI06Un1jSaXTmoVPW0t+ZY4k8/rzeDiJdpRMLackap2U9k3Ge6+5fCNG+2czXGlWCyAjDXGYh7kQJkNJCYm2ruaYma6TEFy/7Ceef8RdexFzYO/Ox1sz3OP3kC/jCZ/6dLWtToolFdKZLsOkuGlUZnmQO0oBcXh2KkVA22lcaYXF3laOO7uWwV/ZxyvG97L+kwKD+EUqDiAXzSgwON+nXI8cmPW8t7Y04oM84fJFxaD+s6Ia+Qkqn7gIdeegthQxUIvabV6S7lKOrs4yR4suxlU6zeyrih/cuolA8ADckp6XEqoGEj0RL8SXozjTU+GGQJ7SIlh5Tk3qBdGI+WkWApj77m1m9bNvyHB+44C/51hf/g1JjJZ3WRzyd0JxukcgyArUwCzALwcSOaEkaa/brHKa1P6rbXkNX1snJOm5+qepMTjdpxCF98zvZPQolCfjc7piVmv0h3RQbGjcBdWdqE5DTGBUptKsYsnJRB52liN6uEvlQgllMENR4arjIj+5eQsyqjP+UJtONcU1IScYo/lIDlbaaTT2OFLQMQnKWJ3Igl/3Q9hmkGlw1M0099Ls1vOPNH2BqcClMyNya3kCVowJRlNfAQTYYhuq3pOlYZ3Xd3soVGq0qy7tj5s8vqrtAf4k1SeNIkOj2FugtP9AtL2RUJ7xQCou01vfpNcZrpu5MbcjSkIB8FOm8kGe5rpCVYoFSoUBPJSSfU59RwnfvKHP9fYeov1USNiKUwqbr41TKvcoHBBaAuKvXaxT1QmREUmwkkqksIi95wjBP3v2EJp+WtrI7br2FKy75FktKr2VC/02piTrOEVqkRiEmc8eDqR/Nt+8azWaNMFSdIKBSatBVqeqf3PlgeXaNxRI8Vt8tSuVc9pbvfDXjQHRjfx2FkfJ7C0YxDIgkRKg0zIXkCzmWLu6kR07ANLPzu1r4O+PPHyjxuZtXsHPieJ0BFomvEkaqSZimUpkH8vpBEMmgE1KdS4qFckYTyxrKCKXYMIwwMRIKgiDgfwMAAP//Pie+2AAAAAZJREFUAwAL95OxN+LT+QAAAABJRU5ErkJggg==")}

.ogv-app-sidebar .ogv-app-nav__link > .ogv-app-nav__solar-icon,
.ogv-app-nav__solar-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 22px !important;
  height: 22px !important;
  flex: 0 0 22px !important;
  color: #6e617a !important;
  background: transparent !important;
  -webkit-mask: none !important;
  mask: none !important;
  -webkit-mask-image: none !important;
  mask-image: none !important;
  transition: color .14s ease;
}
.ogv-app-nav__link:hover .ogv-app-nav__solar-icon { color: #8224e3 !important; }
.ogv-app-nav__link.is-active .ogv-app-nav__solar-icon { color: #791bcf !important; }
html[data-theme="dark"] .ogv-app-nav__solar-icon { color: #a494b5 !important; }
html[data-theme="dark"] .ogv-app-nav__link:hover .ogv-app-nav__solar-icon { color: #d7b4ff !important; }
html[data-theme="dark"] .ogv-app-nav__link.is-active .ogv-app-nav__solar-icon { color: #f1e2ff !important; }

.ogv-app-nav__solar-icon iconify-icon,
.ogv-app-nav__solar-icon svg {
  display: block !important;
  width: 22px !important;
  height: 22px !important;
  font-size: 22px !important;
  color: inherit !important;
}

.ogv-app-nav__link .ogv-nav-icon--mascot {
  width: 24px !important;
  height: 24px !important;
  flex: 0 0 24px !important;
}
.ogv-app-nav__mascot-avatar {
  display: block !important;
  width: 24px !important;
  height: 24px !important;
  border-radius: 50% !important;
  background-image: var(--ogv-mascot) !important;
  background-size: cover !important;
  background-position: center !important;
  box-shadow: 0 1px 4px rgba(130, 36, 227, .25) !important;
  flex-shrink: 0 !important;
}

.ogv-app-sidebar re-icon,
.ogv-app-sidebar .ogv-app-nav__reicon,
.ogv-app-sidebar .ogv-app-nav__icon:not(.ogv-app-nav__solar-icon) {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  opacity: 0 !important;
  pointer-events: none !important;
}


/* ==========================================================================
   Header: dark-mode theme toggle, and the currency switcher.

   The toggle was given the light-orange chip treatment with !important,
   which outranked the dark rule below it however specific that was --
   !important beats a plain declaration no matter the selector. So in dark
   mode the button kept a cream background and a dark brown glyph, sitting
   bright against the dark bar. The dark rule carries !important too now.

   The dropdown itself had only a box around it; every row inside was a
   bare list item. Styled to match the rest of the header.
   ========================================================================== */
html[data-theme="dark"] .ogv-theme-btn{
  background:rgba(255,255,255,.06)!important;
  border-color:var(--ogv-border)!important;
  color:#f3b65d!important;
}
html[data-theme="dark"] .ogv-theme-btn:hover{background:rgba(255,255,255,.12)!important}

.ogv-app-currency .dropdown-menu{
  right:0;left:auto;min-width:158px;margin-top:8px;padding:7px;
  border:1px solid #ede5f1;border-radius:14px;background:#fff;
  box-shadow:0 18px 48px rgba(40,16,55,.14);
  list-style:none;
}
.ogv-app-currency .dropdown-menu > li{list-style:none}
.ogv-app-currency .dropdown-menu > li > a{
  display:flex!important;align-items:center;justify-content:space-between;gap:12px;
  padding:9px 11px!important;border-radius:10px;
  color:#4a3654!important;font-size:12px;font-weight:750;
  text-decoration:none!important;white-space:nowrap;
}
.ogv-app-currency .dropdown-menu > li > a:hover,
.ogv-app-currency .dropdown-menu > li > a:focus{
  background:#f7f1fb!important;color:#6810b3!important;
}
/* The panel marks the current currency; it should look chosen. */
.ogv-app-currency .dropdown-menu > li.active > a{
  background:#f2e5fc!important;color:#6810b3!important;font-weight:850;
}
.ogv-app-currency > .dropdown-toggle > .caret{margin-left:7px;opacity:.7}

html[data-theme="dark"] .ogv-app-currency .dropdown-menu{
  background:var(--ogv-bg-raised)!important;border-color:var(--ogv-border)!important;
  box-shadow:0 18px 48px rgba(0,0,0,.5)!important;
}
html[data-theme="dark"] .ogv-app-currency .dropdown-menu > li > a{color:var(--ogv-text-muted)!important}
html[data-theme="dark"] .ogv-app-currency .dropdown-menu > li > a:hover,
html[data-theme="dark"] .ogv-app-currency .dropdown-menu > li > a:focus{
  background:rgba(161,72,244,.14)!important;color:var(--ogv-text-main)!important;
}
html[data-theme="dark"] .ogv-app-currency .dropdown-menu > li.active > a{
  background:rgba(161,72,244,.2)!important;color:#e9d7ff!important;
}


/* ==========================================================================
   Mobile/tablet: keep the page clear of the fixed tab bar.

   .ogv-tabbar becomes position:fixed at <=991px and stands 58px tall, but
   nothing reserved room for it. Content bottom padding was 34px on phones
   and 45px on tablets, so whatever ended a page -- the last card, the Place
   Order button, the summary -- sat underneath the bar. On a phone with a
   home indicator it sat further under still.

   The offset deliberately matches the one .ogv-ai-fab already uses
   (58px + gap + safe-area) so the bar, the FAB and the page agree on where
   the bottom of the screen is.

   Scoped to the page's own <main> via the direct-child selector: the AI
   panel reuses .ogv-app-content for its body and does not need this.
   ========================================================================== */
@media (max-width:991px){
  .ogv-app-body .ogv-app-main > .ogv-app-content{
    padding-bottom:calc(58px + 26px + env(safe-area-inset-bottom,0px))!important;
  }
}


/* ==========================================================================
   Brand wordmark.

   Replaces the "OgaViral" text lockup everywhere it appeared: the app sidebar
   (server-rendered and the JS-rebuilt copy on the order page), the public
   navbar, the sign-up panel, and the terms / api / blog headers.

   The mark is 2376x700, so it is sized by height and left to find its own
   width -- fixing a width instead would squash it on narrow sidebars.

   The dedicated dark-mode wordmark is already white/orange on a transparent
   canvas, so it must sit directly on the dark surface without a white plate.
   ========================================================================== */
.ogv-brand-logo{
  display:block;
  width:auto;
  height:32px;
  max-width:100%;
  object-fit:contain;
}
.ogv-app-logo .ogv-brand-logo{height:46px;max-width:205px;max-height:none}
.ovr-logo .ogv-brand-logo{height:34px}
.navbar-brand .ogv-brand-logo{height:30px}

/* The old text lockup: no longer rendered, but the gradient-text rule would
   still apply to any stray span, so it is neutralised rather than left to
   surprise someone. */
.ogv-app-logo span:empty{display:none}

html[data-theme="dark"] .ogv-brand-logo{
  padding:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}

@media (max-width:640px){
  .ogv-brand-logo{height:28px}
  .ogv-app-logo .ogv-brand-logo{height:38px;max-height:none}
}

/* Empty alert boxes, flagged by the sweep in script.js. Hidden with a class
   rather than the hidden attribute, because .alert carries display:block from
   Bootstrap and would win against the UA's [hidden] rule. */
.alert[data-ogv-empty-alert]{display:none!important}


/* ==========================================================================
   Desktop & Mobile Dark Mode Theme Overrides & Floating Oga AI Popover
   ========================================================================== */
html[data-theme="dark"],
html[data-theme="dark"] body,
body[data-theme="dark"],
html[data-theme="dark"] .ogv-app-shell,
html[data-theme="dark"] .ogv-app-main,
html[data-theme="dark"] .ogv-app-content,
html[data-theme="dark"] .ogv-dash,
body.ogv-ui-repaired[data-theme="dark"],
body.ogv-ui-repaired[data-theme="dark"] .ogv-app-content {
  background: #0e071c !important;
  color: #f3eaff !important;
}

/* Topbar & Header Greetings */
html[data-theme="dark"] .ogv-app-topbar,
html[data-theme="dark"] .ogv-dash-greeting h1,
html[data-theme="dark"] .ogv-dash-greeting h2,
html[data-theme="dark"] .ogv-app-topbar__title,
html[data-theme="dark"] .ogv-dash-greeting,
body[data-theme="dark"] .ogv-dash-greeting h1,
body[data-theme="dark"] .ogv-dash-greeting h2 {
  color: #ffffff !important;
}
html[data-theme="dark"] .ogv-dash-greeting p,
html[data-theme="dark"] .ogv-app-topbar__sub,
body[data-theme="dark"] .ogv-dash-greeting p {
  color: #a491b8 !important;
}
html[data-theme="dark"] .ogv-app-topbar__balance,
html[data-theme="dark"] .ogv-topbar-balance,
body[data-theme="dark"] .ogv-app-topbar__balance,
body[data-theme="dark"] .ogv-topbar-balance {
  background: #1a0e2e !important;
  border: 1px solid #3c245c !important;
  color: #f3eaff !important;
}
html[data-theme="dark"] .ogv-app-topbar__actions button,
html[data-theme="dark"] .ogv-app-user,
body[data-theme="dark"] .ogv-app-user {
  background: #1a0e2e !important;
  border-color: #3c245c !important;
  color: #f3eaff !important;
}

/* Floating Oga AI FAB & Live Chat Popover */
.ogv-ai-fab {
  display: flex !important;
  position: fixed !important;
  z-index: 99990 !important;
}
@media (min-width: 992px) {
  .ogv-ai-fab {
    right: 28px !important;
    bottom: 28px !important;
  }
  .ogv-ai-panel__box {
    position: fixed !important;
    right: 28px !important;
    bottom: 28px !important;
    width: min(420px, calc(100vw - 44px)) !important;
    height: min(76vh, 660px) !important;
    border-radius: 20px !important;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.55) !important;
    overflow: hidden !important;
  }
}
@media (max-width: 991px) {
  .ogv-ai-fab {
    right: 16px !important;
    bottom: calc(58px + 14px + env(safe-area-inset-bottom, 0px)) !important;
  }
}
html[data-theme="dark"] .ogv-ai-fab__hint,
body[data-theme="dark"] .ogv-ai-fab__hint {
  background: #1a0e2e !important;
  border: 1px solid #3c245c !important;
  color: #f3eaff !important;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.5) !important;
}
html[data-theme="dark"] .ogv-ai-fab__hint b,
body[data-theme="dark"] .ogv-ai-fab__hint b {
  color: #ffffff !important;
}
html[data-theme="dark"] .ogv-ai-fab__hint em,
body[data-theme="dark"] .ogv-ai-fab__hint em {
  color: #b9a9c6 !important;
}
html[data-theme="dark"] .ogv-ai-fab__hintx,
body[data-theme="dark"] .ogv-ai-fab__hintx {
  background: rgba(255, 255, 255, 0.14) !important;
  color: #d7b4ff !important;
}
html[data-theme="dark"] .ogv-ai-panel__box,
body[data-theme="dark"] .ogv-ai-panel__box {
  background: #180928 !important;
  border: 1px solid rgba(161, 72, 244, 0.3) !important;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.75) !important;
}
html[data-theme="dark"] .ogv-ai-panel__x,
body[data-theme="dark"] .ogv-ai-panel__x {
  color: #d7b4ff !important;
}

/* ===========================================================================
   Suppress Oga AI on external/public pages, Add funds, and Tickets
   ========================================================================== */
body.ogv-public-body .ogv-ai-fab,
body.ogv-public-body [data-ogv-ai-fab],
body.ogv-public-body .ogv-ai-panel,
body.ogv-public-body [data-ogv-ai-panel],
html.ogv-react-landing .ogv-ai-fab,
html.ogv-react-landing [data-ogv-ai-fab],
html.ogv-react-landing .ogv-ai-panel,
html.ogv-react-landing [data-ogv-ai-panel],
html.ogv-ai-disabled-route .ogv-ai-fab,
html.ogv-ai-disabled-route [data-ogv-ai-fab],
html.ogv-ai-disabled-route .ogv-ai-panel,
html.ogv-ai-disabled-route [data-ogv-ai-panel],
body.ogv-page-ticket .ogv-ai-fab,
body.ogv-page-ticket [data-ogv-ai-fab],
body.ogv-page-ticket .ogv-ai-panel,
body.ogv-page-ticket [data-ogv-ai-panel],
body:not(.ogv-app-body) .ogv-ai-fab,
body:not(.ogv-app-body) [data-ogv-ai-fab],
body:not(.ogv-app-body) .ogv-ai-panel,
body:not(.ogv-app-body) [data-ogv-ai-panel] {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
  opacity: 0 !important;
}

/* Global authenticated header. Sticky positioning across all pages. */
body.ogv-app-body {
  --ogv-auth-topbar-height: 74px;
  overflow-x: clip !important;
}

html body.ogv-app-body .ogv-app-shell,
html body.ogv-app-body .ogv-app-main {
  overflow: visible !important;
}

html body.ogv-app-body .ogv-app-main {
  padding-top: 0 !important;
}

html body.ogv-app-body .ogv-app-topbar {
  position: sticky !important;
  position: -webkit-sticky !important;
  top: 0 !important;
  z-index: 1040 !important;
  display: flex !important;
  width: 100% !important;
  min-height: var(--ogv-auth-topbar-height) !important;
  height: auto !important;
  box-sizing: border-box !important;
  transform: translateZ(0);
}

.ogv-app-topbar__logo {
  display: none !important;
  align-items: center !important;
  flex: 0 0 auto !important;
  text-decoration: none !important;
  line-height: 1 !important;
}

.ogv-app-topbar__logo img {
  display: block !important;
  width: auto !important;
  height: 34px !important;
  max-width: 140px !important;
  object-fit: contain !important;
  object-position: left center !important;
}

.ogv-app-topbar__logo-fallback {
  color: #2b2130;
  font-size: 20px;
  font-weight: 850;
  letter-spacing: -1px;
}

html[data-theme="dark"] .ogv-app-topbar__logo-fallback { color: #fff; }

/* Suppress duplicate logo if page already has .ogv-app-topbar__logo */

@media (max-width: 991px) {
  body.ogv-app-body { --ogv-auth-topbar-height: 66px; }
  .ogv-app-topbar__logo { display: inline-flex !important; }
  .ogv-app-topbar__title .ogv-app-greeting { display: none !important; }
}

@media (max-width: 767px) {
  body.ogv-app-body { --ogv-auth-topbar-height: 64px; }
  .ogv-app-topbar__logo img {
    height: 28px !important;
    max-width: 120px !important;
  }
}

/* AI Chat Bubble Animation & Delayed Display */
[data-ogv-ai-hint][hidden] {
  display: none !important;
}

@keyframes ogvHintPopIn {
  0% { opacity: 0; transform: translateY(-50%) scale(0.92); }
  100% { opacity: 1; transform: translateY(-50%) scale(1); }
}

.ogv-ai-fab__hint:not([hidden]) {
  animation: ogvHintPopIn 0.3s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

/* ==========================================================================
   PUBLIC & EXTERNAL PAGES MOBILE DARK MODE HARDENING
   ========================================================================== */
html[data-theme="dark"] body.ogv-public-body {
  background: #0e071c !important;
  color: #f3eaff !important;
}

html[data-theme="dark"] #ogv-public-navbar,
html[data-theme="dark"] .navbar-default.navbar-static-top {
  background: #140824 !important;
  border-bottom: 1px solid rgba(161, 72, 244, 0.2) !important;
}

html[data-theme="dark"] #ogv-public-navbar .navbar-nav > li > a {
  color: #f3eaff !important;
}

html[data-theme="dark"] #ogv-public-navbar .navbar-nav > li > a:hover,
html[data-theme="dark"] #ogv-public-navbar .navbar-nav > .active > a {
  color: #a148f4 !important;
  background: rgba(161, 72, 244, 0.12) !important;
}

html[data-theme="dark"] #ogv-public-navbar .navbar-toggle {
  border-color: rgba(161, 72, 244, 0.3) !important;
  background: rgba(161, 72, 244, 0.1) !important;
}

html[data-theme="dark"] #ogv-public-navbar .navbar-toggle .icon-bar {
  background-color: #f3eaff !important;
}

html[data-theme="dark"] #ogv-public-navbar .navbar-collapse {
  background: #140824 !important;
  border-color: rgba(161, 72, 244, 0.2) !important;
}

/* Mobile Table Dark Mode Support */
html[data-theme="dark"] .ogv-app-content table.table:has(td[data-label]) tbody tr {
  background: #190e2b !important;
  border-color: rgba(161, 72, 244, 0.2) !important;
  color: #f3eaff !important;
}

html[data-theme="dark"] .ogv-app-content table.table:has(td[data-label]) tbody td {
  border-bottom-color: rgba(161, 72, 244, 0.12) !important;
  color: #e2d6f0 !important;
}

html[data-theme="dark"] .ogv-app-content table.table:has(td[data-label]) tbody td::before {
  color: #b9a9c6 !important;
}

html[data-theme="dark"] .ogv-app-content table.table .btn,
html[data-theme="dark"] .ogv-app-content table.table button {
  background: rgba(255, 255, 255, 0.08) !important;
  border-color: rgba(161, 72, 244, 0.3) !important;
  color: #f3eaff !important;
}
html[data-theme="dark"] .ogv-app-content table.table:not(:has(td[data-label])) td,
html[data-theme="dark"] .ogv-app-content table.table:not(:has(td[data-label])) th {
  color: #f3eaff !important;
  border-color: rgba(161, 72, 244, 0.12) !important;
}

/* Header Theme Toggle & Mobile Layout */
@media (max-width: 991px) {
  body .ovr-header__actions {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    justify-self: end !important;
  }
  body .ovr-header__actions > .ovr-text-button,
body .ovr-header__actions > .ovr-button {
    display: none !important;
  }
  body .ovr-header__actions .ovr-menu {
    display: block !important;
    justify-self: end !important;
  }
}

/* Public Navbar Theme Toggle & Mobile Dark Mode */
#ogv-public-navbar .ogv-public-theme-item {
  display: inline-flex;
  align-items: center;
  padding: 12px 14px;
}
#ogv-public-navbar .ogv-public-theme-btn-mobile {
  display: none;
}
@media (max-width: 767px) {
  #ogv-public-navbar .ogv-public-theme-btn-mobile {
    display: grid;
    float: right;
    margin: 12px 10px 12px 0;
  }
  #ogv-public-navbar .ogv-public-theme-item {
    display: none;
  }
}

html[data-theme="dark"] body:has(.ogv-home) #navbar.navbar-collapse,
html[data-theme="dark"] #navbar.navbar-collapse,
html[data-theme="dark"] #ogv-public-navbar .navbar-collapse {
  background: #140824 !important;
  border-color: rgba(161, 72, 244, 0.2) !important;
  color: #f3eaff !important;
  box-shadow: -18px 0 50px rgba(0, 0, 0, 0.5) !important;
}

html[data-theme="dark"] body:has(.ogv-home) #navbar .navbar-nav > li > a,
html[data-theme="dark"] #navbar .navbar-nav > li > a,
html[data-theme="dark"] #ogv-public-navbar .navbar-nav > li > a {
  color: #f3eaff !important;
}

html[data-theme="dark"] body:has(.ogv-home) #navbar .navbar-nav > li:first-child > a {
  background: rgba(255, 255, 255, 0.08) !important;
  border-color: rgba(161, 72, 244, 0.3) !important;
  color: #f3eaff !important;
}

/* ==========================================================================
   PUBLIC & REACT LANDING LIGHT MODE STYLING & BANNER CLAMP
   ========================================================================== */
html[data-theme="light"] {
  background: #ffffff !important;
  color-scheme: light !important;
}
html[data-theme="light"] body.ogv-public-body {
  background: #ffffff !important;
  color: #17141d !important;
}
html[data-theme="light"] body .ovr-site,
html[data-theme="light"] body .ovr-home {
  background: #ffffff !important;
  color: #17141d !important;
}
html[data-theme="light"] body .ovr-header {
  background: #ffffff !important;
  border-bottom: 1px solid #ebe7ef !important;
}
html[data-theme="light"] body .ovr-header__actions .ogv-theme-btn {
  background: #f4ecfb !important;
  border: 1px solid #e2d2f5 !important;
  color: #3b0078 !important;
}
html[data-theme="light"] body .ovr-header__actions .ogv-theme-btn .ogv-icon-moon {
  display: block !important;
}
html[data-theme="light"] body .ovr-header__actions .ogv-theme-btn .ogv-icon-sun {
  display: none !important;
}
html[data-theme="dark"] body .ovr-header__actions .ogv-theme-btn .ogv-icon-moon {
  display: none !important;
}
html[data-theme="dark"] body .ovr-header__actions .ogv-theme-btn .ogv-icon-sun {
  display: block !important;
}
html[data-theme="light"] body .ovr-client-hero h1,
html[data-theme="light"] body .ovr-client-hero .ovr-fs-heading,
html[data-theme="light"] body .ovr-client-hero strong,
html[data-theme="light"] body .ovr-section-heading h2,
html[data-theme="light"] body .ovr-fs-heading h2 {
  color: #17141d !important;
}
html[data-theme="light"] body .ovr-client-hero p,
html[data-theme="light"] body .ovr-client-hero span:not(.ovr-client-pricing-strap span) {
  color: #5f5a67 !important;
}
html[data-theme="light"] body .ovr-client-platform-marquee {
  background: #faf8fd !important;
  border-color: #ebe7ef !important;
}
html[data-theme="light"] body .ovr-client-featured-grid > article,
html[data-theme="light"] body .ovr-client-service-grid > article,
html[data-theme="light"] body .ovr-client-review-grid > article,
html[data-theme="light"] body .ovr-client-benefit-grid > article,
html[data-theme="light"] body .ovr-client-compare-grid > article,
html[data-theme="light"] body .ovr-client-step-grid > article,
html[data-theme="light"] body .ovr-fs-reason-grid > article,
html[data-theme="light"] body .ovr-client-tool-grid > a,
html[data-theme="light"] body .ovr-client-blog-grid > a,
html[data-theme="light"] body .ovr-fs-faq-list > details {
  background: #ffffff !important;
  border-color: #ebe7ef !important;
  color: #17141d !important;
  box-shadow: 0 4px 20px rgba(59,0,120,0.04) !important;
}
html[data-theme="light"] body .ovr-client-featured-grid h3,
html[data-theme="light"] body .ovr-client-service-grid h3,
html[data-theme="light"] body .ovr-client-review-grid h3,
html[data-theme="light"] body .ovr-client-benefit-grid h3,
html[data-theme="light"] body .ovr-fs-faq-list > details > summary,
html[data-theme="light"] body .ovr-client-service-faq summary,
html[data-theme="light"] body .ovr-faq-list summary {
  color: #17141d !important;
}

/* Clamping Oversized Elements on Mobile */
@media (max-width: 768px) {
  .ovr-login-card__intro,
#signin .ovr-login-card__intro,
.ovr-inline-signin .ovr-login-card__intro {
    min-height: 0 !important;
    height: auto !important;
    padding: 16px 16px 14px !important;
  }
  .ovr-login-card__intro h2,
#signin .ovr-login-card__intro h2,
.ovr-inline-signin .ovr-login-card__intro h2 {
    font-size: 20px !important;
    margin: 0 !important;
    line-height: 1.25 !important;
  }
  .ovr-login-card__intro span,
#signin .ovr-login-card__intro span,
.ovr-inline-signin .ovr-login-card__intro span,
.ovr-login-card__intro p,
#signin .ovr-login-card__intro p,
.ovr-inline-signin .ovr-login-card__intro p {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
  }
  .ovr-client-hero-strap,
.ovr-client-pricing-strap {
    height: 36px !important;
    min-height: 36px !important;
  }
}

/* Ready to Go Viral CTA section in Dark Mode */
html[data-theme="dark"] .ovr-fs-cta,
html[data-theme="dark"] section.ovr-fs-cta,
html[data-theme="dark"] body .ovr-fs-cta,
html[data-theme="dark"] .ovr-final-cta,
html[data-theme="dark"] body .ovr-final-cta {
  background: #0e071c !important;
  color: #f3eaff !important;
}
html[data-theme="dark"] .ovr-fs-cta .ovr-shell,
html[data-theme="dark"] body .ovr-fs-cta .ovr-shell {
  background: linear-gradient(135deg, #250b44 0%, #521685 100%) !important;
  border: 1px solid rgba(161, 72, 244, 0.25) !important;
  box-shadow: 0 20px 60px rgba(10, 3, 20, 0.6) !important;
}
html[data-theme="dark"] .ovr-fs-cta span,
html[data-theme="dark"] .ovr-fs-cta h2,
html[data-theme="dark"] .ovr-fs-cta p {
  color: #ffffff !important;
}
html[data-theme="dark"] .ovr-fs-footer,
html[data-theme="dark"] footer.ovr-fs-footer,
html[data-theme="dark"] body .ovr-fs-footer {
  background: #090312 !important;
  color: #d1c0e3 !important;
  border-top: 1px solid rgba(161, 72, 244, 0.15) !important;
}

/* Hero Stats Banner Marquee Animation */
@keyframes ovr-strap-marquee {
  0% { transform: translate3d(0, 0, 0); }
  100% { transform: translate3d(-50%, 0, 0); }
}
@-webkit-keyframes ovr-strap-marquee {
  0% { -webkit-transform: translate3d(0, 0, 0); }
  100% { -webkit-transform: translate3d(-50%, 0, 0); }
}
.ovr-client-pricing-strap {
  overflow: hidden !important;
  user-select: none !important;
  -webkit-user-select: none !important;
}
.ovr-client-pricing-strap .ovr-client-strap-track,
.ovr-client-hero-strap .ovr-client-strap-track {
  display: flex !important;
  width: max-content !important;
  will-change: transform !important;
  animation: ovr-strap-marquee 25s linear infinite !important;
  -webkit-animation: ovr-strap-marquee 25s linear infinite !important;
}
@media (prefers-reduced-motion: reduce) {
  .ovr-client-pricing-strap .ovr-client-strap-track,
.ovr-client-hero-strap .ovr-client-strap-track {
    animation: ovr-strap-marquee 25s linear infinite !important;
    -webkit-animation: ovr-strap-marquee 25s linear infinite !important;
  }
}
.ovr-client-pricing-strap .ovr-client-strap-group,
.ovr-client-hero-strap .ovr-client-strap-group {
  display: flex !important;
  align-items: center !important;
  flex-shrink: 0 !important;
  width: max-content !important;
  min-width: max-content !important;
  white-space: nowrap !important;
}




/* Universal emoji font support & cross-platform crisp flag/glyph fallbacks */
.ogv-flag-ng {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  vertical-align: middle;
}
.ogv-ai-card__icon,
.ogv-ai-tone > span,
.ogv-ai-tools button > span,
.ogv-flash__title span,
.ogv-deal__origin,
.ogv-custom-select-btn__emoji,
.ogv-fav-service-card__emoji {
  font-family: "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", "Segoe UI Symbol", sans-serif !important;
}

/* Perfect vertical centering for sign-in & form input icons */
.ogv-input-icon,
.ogv-field__input > re-icon,
.ovr-native-login-slot .ogv-field__input re-icon,
.ovr-native-login-slot .ogv-field__input .ogv-input-icon,
.ogv-field__input .ogv-input-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 20px !important;
  min-width: 20px !important;
  height: 20px !important;
  min-height: 20px !important;
  margin: 0 12px 0 0 !important;
  padding: 0 !important;
  position: static !important;
  top: auto !important;
  left: auto !important;
  bottom: auto !important;
  right: auto !important;
  color: #8224e3 !important;
  flex-shrink: 0 !important;
  align-self: center !important;
  line-height: 1 !important;
  pointer-events: none !important;
  transform: none !important;
}

.ogv-input-icon svg,
.ogv-field__input > re-icon svg,
.ovr-native-login-slot .ogv-field__input re-icon svg,
.ovr-native-login-slot .ogv-field__input .ogv-input-icon svg,
.ogv-field__input svg,
.ovr-native-login-slot .ogv-field__input svg,
.ogv-login-form .ogv-field__input svg,
.ovr-native-login-slot .ogv-field svg {
  position: static !important;
  top: auto !important;
  left: auto !important;
  bottom: auto !important;
  right: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
  width: 20px !important;
  min-width: 20px !important;
  height: 20px !important;
  min-height: 20px !important;
  color: #8224e3 !important;
  stroke: #8224e3 !important;
  fill: none !important;
  transform: none !important;
  align-self: center !important;
  vertical-align: middle !important;
}

/* Marquee hero banner numbers and text spacing */
.ovr-client-pricing-strap span,
.ovr-client-hero-strap span {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  white-space: nowrap !important;
}
.ovr-client-pricing-strap span b,
.ovr-client-hero-strap span b {
  display: inline-block !important;
  margin: 0 4px !important;
}
.ovr-client-signups b,
.ovr-client-kicker strong {
  display: inline-block !important;
  margin-right: 5px !important;
}

/* Responsive Desktop & Mobile Login Card proportions */
@media (min-width: 769px) {
  .ovr-login-card,
#signin.ovr-login-card,
.ovr-inline-signin .ovr-login-card {
    width: 100% !important;
    max-width: 540px !important;
    margin: 32px auto 48px !important;
    border-radius: 24px !important;
    box-shadow: 0 16px 50px rgba(25, 7, 45, 0.16) !important;
  }
  .ovr-login-card__intro,
#signin .ovr-login-card__intro,
.ovr-inline-signin .ovr-login-card__intro {
    padding: 24px 30px !important;
  }
  .ovr-login-card__intro h2,
#signin .ovr-login-card__intro h2,
.ovr-inline-signin .ovr-login-card__intro h2 {
    font-size: 25px !important;
  }
  .ogv-login-form {
    padding: 28px 32px 30px !important;
  }
  .ogv-field {
    margin-bottom: 20px !important;
  }
  .ogv-field__input,
.ovr-native-login-slot .ogv-field__input {
    height: 52px !important;
    min-height: 52px !important;
    border-radius: 13px !important;
    padding: 0 16px !important;
  }
  .ogv-submit {
    height: 52px !important;
    border-radius: 13px !important;
    font-size: 15.5px !important;
    margin-top: 18px !important;
  }
}
@media (max-width: 768px) {
  .ovr-login-card,
#signin.ovr-login-card,
.ovr-inline-signin .ovr-login-card {
    width: 100% !important;
    max-width: 390px !important;
    margin: 10px auto 24px !important;
    border-radius: 18px !important;
  }
  .ovr-login-card__intro,
#signin .ovr-login-card__intro,
.ovr-inline-signin .ovr-login-card__intro {
    padding: 16px 16px 14px !important;
  }
  .ovr-login-card__intro h2,
#signin .ovr-login-card__intro h2,
.ovr-inline-signin .ovr-login-card__intro h2 {
    font-size: 20px !important;
  }
  .ogv-login-form {
    padding: 18px 16px 20px !important;
  }
  .ogv-field__input,
.ovr-native-login-slot .ogv-field__input {
    height: 48px !important;
    min-height: 48px !important;
  }
  .ogv-submit {
    height: 48px !important;
  }
}

/* Light Theme Views Grid & Content High-Contrast Fixes */
html[data-theme="light"] body .ovr-client-views-grid article,
html[data-theme="light"] body .ovr-client-featured-grid article {
  background: #ffffff !important;
  border: 1px solid #ebe4f2 !important;
  color: #17141d !important;
  box-shadow: 0 8px 24px rgba(59,0,120,0.06) !important;
}
html[data-theme="light"] body .ovr-client-views-grid h3,
html[data-theme="light"] body .ovr-client-featured-grid h3 {
  color: #17141d !important;
}
html[data-theme="light"] body .ovr-client-views-grid article > footer {
  color: #695e74 !important;
}
html[data-theme="light"] body .ovr-client-views-grid article > small {
  color: #7a6e87 !important;
}
html[data-theme="light"] body .ovr-client-views-grid article > strong {
  color: #1a0f28 !important;
}
html[data-theme="light"] body .ovr-client-views-grid strong b {
  color: #7a6e87 !important;
}
html[data-theme="light"] body .ovr-client-views-grid article > p {
  color: #554961 !important;
}
html[data-theme="light"] body .ovr-client-views-grid article > ul,
html[data-theme="light"] body .ovr-client-featured-grid ul {
  color: #3b3046 !important;
}
html[data-theme="light"] body .ovr-client-views-grid article > ul li,
html[data-theme="light"] body .ovr-client-featured-grid ul li {
  color: #3b3046 !important;
}
html[data-theme="light"] body .ovr-client-views-grid .ovr-client-view-note {
  color: #9c5800 !important;
}

/* OgaViral /child-panel: readable post-order status cards on phones. */

/* Flash Deals campaign banner: keep its orange identity outside the shared
   lavender dashboard-card treatment in light mode. */
html:not([data-theme="dark"]) body:not([data-theme="dark"]) .ogv-dash-promo {
  background: linear-gradient(135deg, #ffb347 0%, #ff8a00 56%, #dd6c00 100%) !important;
  border-color: #d56400 !important;
  border-left-color: #a94300 !important;
  color: #2b1200 !important;
  box-shadow: 0 6px 18px rgba(221, 108, 0, 0.24) !important;
}
html:not([data-theme="dark"]) body:not([data-theme="dark"]) .ogv-dash-promo:hover {
  box-shadow: 0 9px 24px rgba(221, 108, 0, 0.3) !important;
}
html:not([data-theme="dark"]) body:not([data-theme="dark"]) .ogv-dash-promo__icon {
  background: rgba(255, 255, 255, 0.76) !important;
  color: #bd4c00 !important;
}
html:not([data-theme="dark"]) body:not([data-theme="dark"]) .ogv-dash-promo__copy b,
html:not([data-theme="dark"]) body:not([data-theme="dark"]) .ogv-dash-promo__copy small,
html:not([data-theme="dark"]) body:not([data-theme="dark"]) .ogv-dash-promo > re-icon {
  color: #2b1200 !important;
}
html:not([data-theme="dark"]) body:not([data-theme="dark"]) .ogv-dash-promo__copy small {
  opacity: 0.82;
}

/* ==========================================================================
   Footer Directory & Service Accordion Visibility Assurance
   Enforces high-contrast text across light and dark themes on all routes.
   ========================================================================== */
.ovr-fs-footer .ovr-footer-directory > summary,
html[data-theme="light"] body .ovr-fs-footer .ovr-footer-directory > summary,
html[data-theme="dark"] body .ovr-fs-footer .ovr-footer-directory > summary,
body[data-theme="light"] .ovr-fs-footer .ovr-footer-directory > summary,
body[data-theme="dark"] .ovr-fs-footer .ovr-footer-directory > summary {
  color: #ffffff !important;
}

.ovr-fs-footer .ovr-footer-service-group > summary,
html[data-theme="light"] body .ovr-fs-footer .ovr-footer-service-group > summary,
html[data-theme="dark"] body .ovr-fs-footer .ovr-footer-service-group > summary,
body[data-theme="light"] .ovr-fs-footer .ovr-footer-service-group > summary,
body[data-theme="dark"] .ovr-fs-footer .ovr-footer-service-group > summary {
  color: #e7d8f8 !important;
}

.ovr-fs-footer .ovr-footer-directory a,
html[data-theme="light"] body .ovr-fs-footer .ovr-footer-directory a,
html[data-theme="dark"] body .ovr-fs-footer .ovr-footer-directory a,
body[data-theme="light"] .ovr-fs-footer .ovr-footer-directory a,
body[data-theme="dark"] .ovr-fs-footer .ovr-footer-directory a {
  color: #e7d8f8 !important;
}

.ovr-fs-footer .ovr-footer-directory a:hover,
.ovr-fs-footer .ovr-footer-service-group > summary:hover,
html[data-theme="light"] body .ovr-fs-footer .ovr-footer-directory a:hover,
html[data-theme="light"] body .ovr-fs-footer .ovr-footer-service-group > summary:hover,
html[data-theme="dark"] body .ovr-fs-footer .ovr-footer-directory a:hover,
html[data-theme="dark"] body .ovr-fs-footer .ovr-footer-service-group > summary:hover,
body[data-theme="light"] .ovr-fs-footer .ovr-footer-directory a:hover,
body[data-theme="light"] .ovr-fs-footer .ovr-footer-service-group > summary:hover,
body[data-theme="dark"] .ovr-fs-footer .ovr-footer-directory a:hover,
body[data-theme="dark"] .ovr-fs-footer .ovr-footer-service-group > summary:hover {
  color: #ffa94d !important;
}

.ovr-fs-footer .ovr-footer-service-group > summary > svg {
  stroke: #ffa94d !important;
}

.ovr-fs-footer .ovr-footer-directory summary > i {
  border-right-color: #ffa94d !important;
  border-bottom-color: #ffa94d !important;
}

.ovr-fs-footer .ovr-footer-trust,
.ovr-fs-footer .ovr-fs-footer__bottom,
html[data-theme="light"] body .ovr-fs-footer .ovr-footer-trust,
html[data-theme="light"] body .ovr-fs-footer .ovr-fs-footer__bottom,
html[data-theme="dark"] body .ovr-fs-footer .ovr-footer-trust,
html[data-theme="dark"] body .ovr-fs-footer .ovr-fs-footer__bottom,
body[data-theme="light"] .ovr-fs-footer .ovr-footer-trust,
body[data-theme="light"] .ovr-fs-footer .ovr-fs-footer__bottom,
body[data-theme="dark"] .ovr-fs-footer .ovr-footer-trust,
body[data-theme="dark"] .ovr-fs-footer .ovr-fs-footer__bottom {
  color: #d8cbe6 !important;
}

/* ==========================================================================
   Mobile Tab Bar "New order" Button - Orange Accent (Mobile Only)
   ========================================================================== */
@media (max-width: 991px) {
  .ogv-tabbar .ogv-tabbar__fab .ogv-tabbar__disc,
.ogv-tabbar a[class*="fab"] .ogv-tabbar__disc,
.ogv-tabbar .ogv-tabbar__disc {
    background: linear-gradient(135deg, #ff7a18 0%, #dd6c00 100%) !important;
    box-shadow: 0 4px 14px rgba(221, 108, 0, 0.48) !important;
  }

  .ogv-tabbar .ogv-tabbar__fab span:not(.ogv-tabbar__disc),
.ogv-tabbar a[class*="fab"] span:not(.ogv-tabbar__disc) {
    color: #dd6c00 !important;
    font-weight: 800 !important;
  }

  html[data-theme="dark"] .ogv-tabbar .ogv-tabbar__fab span:not(.ogv-tabbar__disc),
html[data-theme="dark"] .ogv-tabbar a[class*="fab"] span:not(.ogv-tabbar__disc) {
    color: #f3b65d !important;
    font-weight: 800 !important;
  }
}
