/* White / Navy / Rainbow default. Other selected company palettes keep their own colours. */
body[data-theme=rainbow]{--navy:#142b49;--accent:#2968e8;--bg:#f5f8fe;--paper:#fff;--ink:#14234a;--muted:#52627e;--line:#e0e7f2}body[data-theme=rainbow] .sidebar{background:#142b49}body[data-theme=rainbow] .topbar{box-shadow:0 3px 20px #16386b08}body[data-theme=rainbow] .nav-btn.active{background:linear-gradient(100deg,#2874ed4a,#9452cb35);box-shadow:inset 3px 0 #5bd6da;color:#fff}body[data-theme=rainbow] .btn:not(.soft):not(.alt):not(.danger):not(.wa){background:linear-gradient(110deg,#04a6df,#5c4cea 55%,#e43ba5);color:white;border-color:transparent;box-shadow:0 5px 14px #4d6ce320}body[data-theme=rainbow] .btn.soft{background:#edf4ff;color:#245baf;border:1px solid #d6e4fc}body[data-theme=rainbow] .btn.alt{background:#fff;color:#142b49;border:1px solid #d4dff0}body[data-theme=rainbow] .card{box-shadow:0 5px 20px #24426b06;border:1px solid #e0e7f2;border-radius:15px}body[data-theme=rainbow] .kpi{border-top:0!important;position:relative;overflow:hidden}body[data-theme=rainbow] .kpi:before{content:"";height:3px;position:absolute;left:0;right:0;top:0;background:linear-gradient(90deg,#2987ee,#9b55d3,#23b2a1)}body[data-theme=rainbow] .intro h2{color:#14234a}body[data-theme=rainbow] .field{background:#fff;border-color:#dce5f2;color:#14234a}body[data-theme=rainbow] .field:focus{outline:2px solid #85b6ff;outline-offset:1px}.brand-mark{width:30px;height:34px;display:inline-block;background:linear-gradient(140deg,#02bce5,#5e4ff1,#e93ca0);clip-path:polygon(0 0,43% 0,43% 62%,100% 62%,100% 100%,0 100%);border-radius:7px}.public-brand{display:flex;align-items:center;gap:10px;font-size:25px;color:#14234a;text-decoration:none;white-space:nowrap}.public-nav{display:flex;align-items:center;justify-content:space-between;gap:18px;max-width:1320px;margin:auto;padding:18px 28px;background:#fff}.public-nav nav{display:flex;gap:18px}.public-nav nav button{background:none;border:0;color:#14234a;min-height:42px}.public-login{position:relative;color:#14234a}.public-login summary{cursor:pointer;padding:12px;list-style:none}.public-login>div{position:absolute;right:0;top:100%;z-index:60;min-width:190px;border:1px solid #e0e7f2;border-radius:10px;background:white;box-shadow:0 8px 24px #142b4920;padding:8px}.public-login a{display:block;padding:12px;text-decoration:none;color:#14234a}#publicHeader:empty{display:none}body.brand-marketing #publicHeader{position:sticky;top:0;z-index:35;border-bottom:1px solid #e0e7f2;background:white}body.brand-marketing .app{display:block}body.brand-marketing .sidebar,body.brand-marketing .topbar,body.brand-marketing .mobile-nav{display:none}body.brand-marketing .content{max-width:1320px;margin:auto;padding:0 28px 40px}body.brand-marketing{background:white!important}.brand-festival{padding:10px 16px;text-align:center;background:#fff4dc;color:#875319;border-radius:0 0 10px 10px;font-size:13px}.brand-hero{display:grid;grid-template-columns:1fr 1.15fr;align-items:center;gap:28px;padding:46px 0 40px;background:radial-gradient(ellipse at 74% 25%,#edf2ff,transparent 65%)}.hero-eyebrow{display:inline-block;padding:7px 12px;border-radius:20px;background:#e9f5ff;color:#1763b6;font-weight:650;font-size:12px}.brand-hero h1{font-size:clamp(32px,3.5vw,51px);line-height:1.15;letter-spacing:-1.6px;margin:18px 0;color:#102147}.brand-hero h1 span{background:linear-gradient(100deg,#087bd5,#6547e6,#c335a0);background-clip:text;-webkit-background-clip:text;color:transparent}.hero-copy{max-width:510px;font-size:18px;line-height:1.65;color:#4e6281}.brand-hero .btn{padding:13px 20px;min-height:46px}.brand-hero .tiny{color:#52627e;margin-top:15px}.dashboard-preview{display:grid;grid-template-columns:116px 1fr;background:#fff;border:1px solid #e0e7f2;border-radius:14px;overflow:hidden;box-shadow:0 15px 32px #2c5aa51c;min-width:0}.dashboard-preview aside{background:#142b49;color:white;padding:18px 12px;font-size:10px}.dashboard-preview aside strong{display:block;margin-bottom:20px;font-size:11px}.dashboard-preview aside span{display:block;padding:11px 3px}.dashboard-preview aside span:nth-of-type(1){background:#316bd8;border-radius:5px;padding:10px 6px}.dashboard-preview>section{padding:14px;background:#f7faff;min-width:0}.preview-toolbar{display:flex;justify-content:space-between;gap:10px;font-size:11px;margin-bottom:14px}.preview-toolbar small{font-size:8px}.preview-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.preview-metrics article{padding:13px 8px;background:white;border:1px solid #e0e7f2;border-radius:8px;min-width:0}.preview-metrics small{display:block;font-size:8px;color:#52627e}.preview-metrics b{font-size:11px;overflow-wrap:anywhere}.preview-bottom{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.preview-bottom article{background:white;border:1px solid #e0e7f2;border-radius:8px;padding:12px;font-size:10px;min-width:0}.preview-bottom p{padding:6px 0;border-bottom:1px solid #edf1f7;font-size:9px;margin:5px 0}.preview-bottom small{font-size:8px;color:#52627e}.preview-bars{height:126px;display:flex;gap:9px;align-items:flex-end;padding:20px 0 18px}.preview-bars i{position:relative;flex:1;background:linear-gradient(#60cce2,#a4b9f9);border-radius:4px 4px 0 0}.preview-bars i:nth-child(2n){background:linear-gradient(#bd91e7,#d6c5f4)}.preview-bars span{position:absolute;top:100%;font-size:7px;left:0;color:#52627e}.brand-benefits{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;background:#f7faff;border-radius:12px;padding:18px}.brand-benefits>div{display:flex;gap:12px;align-items:center;font-size:12px}.brand-benefits span{color:#3674df;font-size:25px}.brand-features{text-align:center;padding:38px 0 25px}.brand-features h2,.brand-plan h2,.brand-faq h2{font-size:26px;color:#14234a;margin:0 0 10px}.brand-features>p{color:#52627e}.brand-service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:24px}.brand-service{display:block;text-align:left;padding:22px;border:1px solid #e0e7f2;border-radius:13px;text-decoration:none;background:white;transition:transform .15s,box-shadow .15s}.brand-service:hover{transform:translateY(-3px);box-shadow:0 8px 22px #2c5aa514}.brand-service h3{font-size:16px;color:#14234a;margin:12px 0 7px}.brand-service p{font-size:13px;color:#52627e;line-height:1.7}.brand-service small{color:#3869ae}.service-icon{display:inline-grid;place-items:center;width:38px;height:38px;font-size:24px;background:#e7f2ff;color:#2778d9;border-radius:10px}.brand-service:nth-child(3n+2) .service-icon{background:#f4eafa;color:#9654c1}.brand-service:nth-child(3n) .service-icon{background:#e6f8f4;color:#168d77}.brand-steps{display:flex;align-items:center;justify-content:space-between;gap:18px;background:#f4f1ff;border-radius:12px;padding:22px;margin:12px 0}.brand-steps h2{font-size:18px;max-width:200px;color:#14234a}.brand-steps>div{display:flex;align-items:center;gap:10px;font-size:12px}.brand-steps span{display:grid;place-items:center;background:linear-gradient(130deg,#5f65e9,#bb66e4);color:white;width:32px;height:32px;border-radius:50%;flex-shrink:0}.brand-plan{display:flex;align-items:center;justify-content:space-between;gap:20px;background:linear-gradient(100deg,#eaf4ff,#f5eeff,#e9faf7);padding:26px;border-radius:14px;margin:18px 0}.brand-plan p{margin:0;color:#52627e}.brand-faq{padding:30px 0;max-width:850px;margin:auto}.brand-faq details{padding:17px 0;border-bottom:1px solid #e0e7f2}.brand-faq summary{cursor:pointer;font-weight:650}.brand-faq p{color:#52627e;line-height:1.7}.brand-footer{text-align:center;padding:20px;color:#52627e;font-size:12px}.brand-footer p{font-size:11px}.brand-mobile-trial{display:none}.brand-home .tiny{font-size:12px}
@media(min-width:1400px){.brand-service-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.brand-service{padding:17px}}
@media(max-width:950px){.brand-hero{grid-template-columns:1fr;padding-top:28px}.brand-hero>div:first-child{max-width:650px}.brand-hero h1{font-size:44px}.dashboard-preview{max-width:700px}.brand-steps{flex-wrap:wrap}.brand-steps h2{max-width:none;width:100%;margin:0}.brand-plan{flex-wrap:wrap}}
@media(max-width:650px){.public-nav{padding:12px;gap:8px;flex-wrap:wrap}.public-brand{font-size:22px}.public-nav nav{order:3;width:100%;justify-content:center;gap:26px}.public-nav .actions{gap:3px}.public-nav .btn{font-size:11px;padding:9px;min-height:40px}.public-login summary{font-size:12px;padding:8px}.public-brand .brand-mark{width:23px;height:27px}.brand-marketing .content{padding:0 14px 76px!important}.brand-hero{gap:22px;padding:24px 0}.brand-hero h1{font-size:36px;letter-spacing:-1px}.hero-copy{font-size:16px}.brand-hero .actions{display:grid;grid-template-columns:1fr;width:100%}.brand-hero .btn{width:100%}.dashboard-preview{grid-template-columns:68px 1fr}.dashboard-preview aside{font-size:8px;padding:12px 7px}.dashboard-preview aside strong{font-size:8px}.dashboard-preview aside span{padding:9px 2px}.dashboard-preview>section{padding:8px}.preview-toolbar{font-size:9px}.preview-toolbar small{display:none}.preview-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.preview-metrics article{padding:10px}.preview-bottom{grid-template-columns:1fr}.preview-bottom article:nth-child(2){display:none}.brand-benefits{grid-template-columns:repeat(2,1fr);padding:14px;gap:16px 8px}.brand-benefits>div{font-size:11px;gap:7px}.brand-benefits span{font-size:21px}.brand-features{padding-top:28px}.brand-features h2,.brand-plan h2,.brand-faq h2{font-size:23px}.brand-service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:18px}.brand-service{padding:14px}.brand-service h3{font-size:14px}.brand-service p{font-size:12px}.brand-service small{font-size:10px}.brand-steps{gap:16px;padding:18px}.brand-steps>div{width:100%}.brand-plan{padding:19px}.brand-plan .btn{width:100%}body.brand-marketing .brand-mobile-trial{display:block;position:fixed;bottom:0;left:0;right:0;padding:9px 14px calc(9px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid #e0e7f2;z-index:35}.brand-mobile-trial .btn{width:100%}.brand-festival{font-size:11px}}
@media(prefers-reduced-motion:reduce){.brand-service{transition:none}.brand-service:hover{transform:none}}

.public-menu{display:none}@media(max-width:650px){.public-menu{display:inline-block;background:white;color:#14234a;border:1px solid #e0e7f2;border-radius:8px;font-size:20px;min-height:40px;min-width:40px;margin-left:auto}.public-nav nav{display:none}.public-nav.nav-open nav{display:flex}.public-nav>.actions>.btn{display:none}.public-nav{flex-wrap:wrap}.public-nav>.actions{order:2}.public-menu{order:3}.public-nav nav{order:4}}

/* Keep the existing configurable seasonal campaign in a compact strip. */
body.brand-marketing .brand-festival{display:none}body.brand-marketing .festival-banner{min-height:0;padding:10px 16px;margin:0 0 14px;border-radius:0 0 10px 10px;display:flex;align-items:center;gap:14px}body.brand-marketing .festival-banner:before,body.brand-marketing .festival-art,body.brand-marketing .festival-kicker{display:none}body.brand-marketing .festival-banner-copy{padding:0}body.brand-marketing .festival-banner h2{font-size:16px;margin:0 0 3px}body.brand-marketing .festival-banner p{font-size:12px;margin:0}body.brand-marketing .festival-offer{margin-top:5px;font-size:12px}body.brand-marketing .festival-banner-image{max-width:100px;max-height:64px;object-fit:contain}@media(max-width:650px){body.brand-marketing .festival-banner h2{font-size:14px}body.brand-marketing .festival-banner p{font-size:11px}}

.public-brand .lapco-platform-logo{width:110px;height:57px;object-fit:contain}.lapco-auth-logo{display:block;width:190px;max-width:70%;height:auto;margin:8px auto 16px}@media(max-width:650px){.public-brand .lapco-platform-logo{width:80px;height:42px}.public-brand{gap:3px;font-size:18px}}
