
:root{
  --petrol:#062f3a;--petrol-2:#0b4350;--gold:#f3a536;--gold-dark:#c98518;
  --ivory:#fbf7f0;--sand:#f2e8dc;--ink:#1f2c31;--green:#386b47;--white:#fff;
  --shadow:0 18px 50px rgba(6,47,58,.12);--radius:22px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ivory);color:var(--ink);font-family:Inter,Arial,sans-serif;line-height:1.55}
img{max-width:100%;display:block} a{text-decoration:none;color:inherit}
.container{width:min(94%,1180px);margin-inline:auto}
h1,h2,h3{font-family:"DM Serif Display",Georgia,serif;font-weight:400;line-height:1.03;margin:0}
h1{font-size:clamp(3.2rem,6vw,6.1rem)} h2{font-size:clamp(2.2rem,3.7vw,3.8rem)} h3{font-size:1.8rem}
em{font-style:normal;color:var(--gold)}
p{margin:.75rem 0 1.2rem}
.eyebrow{font-weight:700;letter-spacing:.16em;text-transform:uppercase;font-size:.74rem;color:#ffd58e}
.eyebrow.dark{color:var(--gold-dark)}
.section{padding:76px 0}
.section-head{margin-bottom:30px}.section-head.centered{text-align:center}.section-head.compact{max-width:760px}
.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:13px 22px;font-weight:700;border:1px solid transparent;transition:.2s}
.btn:hover{transform:translateY(-1px)} .btn-lg{padding:15px 26px}
.btn-gold{background:var(--gold);color:#1e2b2f}.btn-ghost{color:#fff;border-color:rgba(255,255,255,.55);background:rgba(255,255,255,.04)}
.btn-outline{color:#fff;border-color:rgba(255,255,255,.7)}.btn-outline-dark{color:var(--petrol);border-color:var(--petrol)}
.btn-petrol{background:var(--petrol);color:#fff}.btn-light{background:#fff;color:var(--petrol)}

.site-header{position:fixed;z-index:1000;inset:0 0 auto 0;transition:.25s;background:linear-gradient(to bottom,rgba(3,22,27,.62),transparent)}
.site-header.scrolled{background:rgba(6,47,58,.94);backdrop-filter:blur(12px);box-shadow:0 7px 30px rgba(0,0,0,.16)}
.nav-wrap{width:min(94%,1240px);margin:auto;min-height:80px;display:flex;align-items:center;gap:20px}
.brand{color:#fff;display:flex;align-items:center;gap:10px;min-width:240px}
.brand-mark{width:40px;height:40px;border:2px solid var(--gold);border-radius:9px;display:grid;place-items:center;color:var(--gold)}
.brand strong{display:block;font-family:"DM Serif Display",serif;font-size:1.45rem}.brand small{display:block;font-size:.62rem;opacity:.82}
.main-nav{display:flex;gap:18px;margin-left:auto;color:#fff;font-size:.84rem}.main-nav a{opacity:.9;padding:29px 0 11px}.main-nav a.active{color:var(--gold);border-bottom:2px solid var(--gold)}
.nav-actions{display:flex;gap:8px}.nav-toggle{display:none;margin-left:auto;background:none;border:0;color:#fff;font-size:1.5rem}

.hero{min-height:670px;position:relative;background:#092d38;overflow:hidden;display:flex;align-items:flex-end}
.hero-visual{position:absolute;inset:0 0 0 35%;background:url("../img/hero-visual.jpg") center/cover no-repeat}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,26,33,.99) 0%,rgba(3,26,33,.92) 28%,rgba(3,26,33,.42) 64%,rgba(3,26,33,.12) 100%)}
.hero-content{position:relative;z-index:2;color:#fff;padding-bottom:58px}.hero h1{max-width:720px;color:#fff}.hero-copy{font-size:1.12rem;max-width:600px;color:rgba(255,255,255,.92)}
.hero-points{display:flex;gap:24px;flex-wrap:wrap;margin:18px 0 24px;font-size:.88rem}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}

.principles{background:#fff;border-bottom:1px solid rgba(6,47,58,.08)}
.principles-grid{display:grid;grid-template-columns:repeat(4,1fr);min-height:90px;align-items:center}
.principles-grid>div{padding:18px 26px;border-right:1px solid rgba(6,47,58,.1);display:grid;grid-template-columns:auto 1fr;column-gap:12px}
.principles-grid>div:last-child{border-right:0}.mini-icon{grid-row:1/3;font-size:1.8rem;color:var(--gold-dark)}
.principles strong{color:var(--petrol)}.principles small{color:#69767b}

.roles{background:var(--ivory)}
.role-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.role-card{display:grid;grid-template-columns:58% 42%;background:#fff;border-radius:var(--radius);overflow:hidden;min-height:260px;box-shadow:var(--shadow);border:1px solid rgba(6,47,58,.08)}
.role-copy{padding:24px 15px 20px 24px}.role-photo{background-size:cover;background-position:center}
.role-kicker{font-family:"DM Serif Display",serif;font-size:1.55rem;margin:.45rem 0}.role-card h3{font-size:1.4rem}.role-card p{font-size:.86rem}.role-card a{font-weight:700;font-size:.86rem;color:var(--petrol)}
.role-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;color:#fff;font-size:1.15rem}
.role-icon.gold{background:var(--gold-dark)}.role-icon.petrol{background:var(--petrol)}.role-icon.green{background:var(--green)}

.kit-section{background:#f7eee4}.kit-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}
.kit-card{position:relative;border-radius:16px;overflow:hidden;background:#1f272a;min-height:245px}.kit-card:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 42%,rgba(0,0,0,.82))}
.kit-card img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.kit-card>div{position:absolute;z-index:2;left:12px;right:12px;bottom:10px;color:#fff;text-align:center}
.kit-card h3{font-size:1.35rem;color:#fff}.kit-card p{font-size:.7rem;margin:.25rem 0}.center-actions{text-align:center;margin-top:20px}

.dual-section{background:#fff;padding-top:32px}.dual-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.feature-panel{min-height:320px;display:grid;grid-template-columns:58% 42%;overflow:hidden;border-radius:18px;border:1px solid rgba(6,47,58,.09)}
.host-panel{background:linear-gradient(90deg,#d8eef0,#f8fbfb)}.partner-panel{background:linear-gradient(90deg,#f5dfc3,#fff4e7)}
.feature-copy{padding:27px}.feature-copy h2{font-size:2.45rem}.feature-copy ul{padding-left:18px;font-size:.86rem}.feature-copy li{margin:.38rem 0}
.feature-photo{background-size:cover;background-position:center}.host-feature{background-image:url("../img/host-feature.jpg")}.partner-feature{background-image:url("../img/partner-feature.jpg")}
.pill{display:inline-block;padding:5px 10px;border-radius:999px;color:#fff;font-size:.68rem;font-weight:700}.petrol-bg{background:var(--petrol)}.gold-bg{background:var(--gold-dark)}

.improve{background:var(--ivory)}.improve-grid{display:grid;grid-template-columns:1fr 1fr;gap:66px;align-items:start}
.improve-list{display:grid;gap:10px}.improve-list span{background:#fff;border:1px solid rgba(6,47,58,.08);border-radius:14px;padding:15px 18px;box-shadow:0 5px 18px rgba(6,47,58,.05)}

.guide-section{background:#fff}.guide-panel{display:grid;grid-template-columns:42% 58%;min-height:350px;border-radius:20px;overflow:hidden;background:var(--petrol);color:#fff}
.guide-copy{padding:40px}.guide-copy h2{color:#fff}.guide-image{background:url("../img/guide.jpg") center/cover no-repeat}
.season-pills{display:flex;gap:8px;margin:16px 0 20px}.season-pills span{border:1px solid rgba(255,255,255,.32);border-radius:999px;padding:7px 12px;font-size:.8rem}

.test-section{background:#fbf5ec;padding-top:34px}.test-panel{display:grid;grid-template-columns:210px 1fr 210px;gap:32px;align-items:center;background:#fff;border:1px solid rgba(6,47,58,.08);border-radius:20px;padding:28px}
.fake-box{height:210px;background:linear-gradient(145deg,#0b2934,#09222c);border-radius:8px;color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:var(--shadow)}
.fake-box span,.fake-box strong{font-family:"DM Serif Display",serif;color:#f8c160}.fake-box strong{font-size:2.4rem}.fake-box small{text-align:center}
.test-points{display:flex;gap:10px;flex-wrap:wrap;font-size:.72rem}.test-points span{padding:8px 10px;border-radius:999px;background:var(--sand)}
.test-cta{display:grid;gap:10px}.text-link{font-weight:700;text-decoration:underline}

.page-hero{padding:160px 0 80px;background:linear-gradient(135deg,var(--petrol),var(--petrol-2));color:#fff}.page-hero h1{color:#fff;max-width:900px}.page-lead{font-size:1.15rem;max-width:760px;color:rgba(255,255,255,.9)}
.info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.info-card{background:#fff;border-radius:18px;padding:26px;box-shadow:var(--shadow);border:1px solid rgba(6,47,58,.08)}

.footer{background:var(--petrol);color:rgba(255,255,255,.84);padding:44px 0 18px}.footer-grid{display:grid;grid-template-columns:1.6fr repeat(4,1fr);gap:28px}
.footer h4{margin:.1rem 0 .8rem;color:#fff}.footer a{display:block;font-size:.78rem;margin:.35rem 0}.footer-brand strong{font-family:"DM Serif Display",serif;font-size:1.5rem;color:#fff}
.footer-bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:28px;padding-top:16px;font-size:.75rem}

@media(max-width:1050px){
  .main-nav{display:none}.nav-actions{display:none}.nav-toggle{display:block}
  .main-nav.open{display:flex;position:absolute;top:72px;left:3%;right:3%;background:var(--petrol);padding:18px;border-radius:14px;flex-direction:column}.main-nav.open a{padding:7px 0}
  .role-grid{grid-template-columns:1fr}.kit-grid{grid-template-columns:repeat(3,1fr)}.dual-grid,.improve-grid,.guide-panel,.info-grid{grid-template-columns:1fr}
  .guide-image{min-height:280px}.test-panel{grid-template-columns:180px 1fr}.test-cta{grid-column:1/-1}.footer-grid{grid-template-columns:1fr 1fr 1fr}
}
@media(max-width:720px){
  .section{padding:58px 0}.hero{min-height:720px}.hero-visual{inset:0;background-position:60% center}.hero-overlay{background:linear-gradient(180deg,rgba(3,26,33,.46),rgba(3,26,33,.93) 52%,rgba(3,26,33,.99))}
  .hero-content{padding-bottom:40px}.hero-points{display:grid;gap:8px}.principles-grid{grid-template-columns:1fr 1fr}.principles-grid>div{border-bottom:1px solid rgba(6,47,58,.08)}
  .role-card{grid-template-columns:1fr}.role-photo{min-height:180px;order:-1}.kit-grid{display:flex;overflow:auto;scroll-snap-type:x mandatory;padding-bottom:10px}.kit-card{min-width:72vw;scroll-snap-align:start}
  .feature-panel{grid-template-columns:1fr}.feature-photo{min-height:190px;order:-1}.improve-grid{gap:25px}.guide-copy{padding:28px}.test-panel{grid-template-columns:1fr}.test-box{max-width:250px;margin:auto}.footer-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:480px){.principles-grid,.footer-grid{grid-template-columns:1fr}}


/* ===========================
   HOST EXPERIENCE — V1.1
   =========================== */
.host-hero{padding:150px 0 80px;background:linear-gradient(135deg,#062f3a,#0b4350);color:#fff;overflow:hidden}
.host-hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:58px;align-items:center}
.host-hero h1{color:#fff;max-width:760px}
.host-hero .page-lead{max-width:650px}
.host-hero-card{position:relative;min-height:460px}
.host-hero-photo{position:absolute;inset:0;border-radius:28px;background:
  linear-gradient(180deg,rgba(6,47,58,.05),rgba(6,47,58,.25)),
  url("../img/host-feature.jpg") center/cover no-repeat;box-shadow:0 28px 70px rgba(0,0,0,.24)}
.host-hero-floating{position:absolute;left:-32px;bottom:28px;background:rgba(255,255,255,.96);color:var(--petrol);border-radius:18px;padding:20px 24px;box-shadow:var(--shadow);display:grid;gap:4px;min-width:260px}
.host-hero-floating strong{font-family:"DM Serif Display",serif;font-size:1.7rem;line-height:1.05}
.host-hero-floating small{color:#647278}
.mini-label{text-transform:uppercase;letter-spacing:.12em;font-size:.68rem;font-weight:700;color:var(--gold-dark)}

.section-lead{font-size:1.08rem;max-width:760px;color:#5c6a6f}
.host-benefit-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.host-benefit-card{background:#fff;border:1px solid rgba(6,47,58,.08);border-radius:18px;padding:24px;box-shadow:0 12px 32px rgba(6,47,58,.08)}
.host-benefit-card>span{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#f7e6c7;color:var(--gold-dark);font-weight:800;font-size:.78rem}
.host-benefit-card h3{font-size:1.55rem;margin-top:18px}.host-benefit-card p{font-size:.9rem;color:#67757a}

.host-kit-story{background:#f7eee4}
.host-guide-story{background:#fff}
.host-story-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.host-story-grid.reverse{grid-template-columns:1fr 1fr}
.host-story-photo{min-height:470px;border-radius:26px;box-shadow:var(--shadow);background-size:cover;background-position:center}
.host-kit-photo{background-image:url("../img/kit-experience.jpg")}
.host-guide-photo{background-image:url("../img/guide.jpg")}
.host-story-copy h2{margin-bottom:18px}.host-story-copy p{font-size:1rem;color:#5f6c71}
.host-inline-tags{display:flex;flex-wrap:wrap;gap:9px;margin:20px 0}
.host-inline-tags span,.dark-pills span{background:#fff;border:1px solid rgba(6,47,58,.12);border-radius:999px;padding:8px 12px;font-size:.78rem;color:var(--petrol)}

.host-grow{background:#fff}
.host-grow-panel{display:grid;grid-template-columns:1fr .8fr;gap:60px;align-items:center;background:linear-gradient(135deg,#062f3a,#0b4350);border-radius:28px;padding:48px;color:#fff;overflow:hidden}
.host-grow-copy h2{color:#fff}.host-grow-copy p{max-width:620px;color:rgba(255,255,255,.86)}
.host-points-demo{display:flex;justify-content:center}
.points-card{background:#fff;color:var(--petrol);border-radius:24px;padding:28px;box-shadow:0 24px 55px rgba(0,0,0,.22);width:min(100%,330px)}
.points-card strong{display:block;font-family:"DM Serif Display",serif;font-size:3.3rem;color:var(--gold-dark);line-height:1}
.points-card small{color:#738086}
.points-progress{height:9px;background:#e9edf0;border-radius:999px;margin:20px 0 15px;overflow:hidden}
.points-progress i{display:block;height:100%;background:var(--gold);border-radius:999px}
.points-card p{font-size:.76rem;color:#748187;margin-bottom:.2rem}.points-card b{font-size:.9rem}

.host-services{background:var(--ivory)}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.service-grid article{background:#fff;border-radius:18px;padding:24px;border:1px solid rgba(6,47,58,.08);box-shadow:0 10px 28px rgba(6,47,58,.06)}
.service-grid article>span{font-size:1.6rem;color:var(--gold-dark)}
.service-grid h3{font-size:1.45rem;margin-top:12px}.service-grid p{font-size:.87rem;color:#68757a}

.host-flow{background:#fff}
.flow-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.flow-grid>div{position:relative;background:#fbf7f0;border-radius:18px;padding:24px;border:1px solid rgba(6,47,58,.08)}
.flow-grid span{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--petrol);color:#fff;font-weight:800}
.flow-grid h3{font-size:1.35rem;margin-top:18px}.flow-grid p{font-size:.86rem;color:#68757a}

.host-test-final{background:#f3e5d4}
.host-test-final-panel{background:
  linear-gradient(90deg,rgba(6,47,58,.96),rgba(6,47,58,.75)),
  url("../img/hero-visual.jpg") center/cover no-repeat;
  border-radius:28px;padding:48px;color:#fff;display:flex;justify-content:space-between;gap:30px;align-items:center}
.host-test-final-panel h2{color:#fff}.host-test-final-panel p{max-width:650px;color:rgba(255,255,255,.88)}
.host-test-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}

@media(max-width:1000px){
  .host-hero-grid,.host-story-grid,.host-story-grid.reverse,.host-grow-panel{grid-template-columns:1fr}
  .host-hero-card{min-height:380px}
  .host-hero-floating{left:20px}
  .host-benefit-grid,.flow-grid{grid-template-columns:1fr 1fr}
  .service-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:680px){
  .host-hero{padding-top:125px}
  .host-hero-card{min-height:320px}
  .host-hero-floating{left:12px;right:12px;bottom:12px}
  .host-benefit-grid,.flow-grid,.service-grid{grid-template-columns:1fr}
  .host-story-photo{min-height:330px}
  .host-grow-panel,.host-test-final-panel{padding:28px}
  .host-test-final-panel{display:block}
  .host-test-actions{justify-content:flex-start;margin-top:24px}
}


/* ===========================
   PARTNER EXPERIENCE — V1.2
   =========================== */
.partner-hero{padding:150px 0 80px;background:linear-gradient(135deg,#062f3a,#0b4350);color:#fff;overflow:hidden}
.partner-hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:58px;align-items:center}
.partner-hero h1{color:#fff;max-width:760px}
.partner-hero .page-lead{max-width:650px}
.partner-hero-card{position:relative;min-height:460px}
.partner-hero-photo{position:absolute;inset:0;border-radius:28px;background:
  linear-gradient(180deg,rgba(6,47,58,.03),rgba(6,47,58,.22)),
  url("../img/partner-feature.jpg") center/cover no-repeat;box-shadow:0 28px 70px rgba(0,0,0,.24)}
.partner-hero-floating{position:absolute;left:-32px;bottom:28px;background:rgba(255,255,255,.96);color:var(--petrol);border-radius:18px;padding:20px 24px;box-shadow:var(--shadow);display:grid;gap:4px;min-width:260px}
.partner-hero-floating strong{font-family:"DM Serif Display",serif;font-size:1.7rem;line-height:1.05}
.partner-hero-floating small{color:#647278}

.partner-benefit-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.partner-benefit-card{background:#fff;border:1px solid rgba(6,47,58,.08);border-radius:18px;padding:24px;box-shadow:0 12px 32px rgba(6,47,58,.08)}
.partner-benefit-card>span{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#f7e6c7;color:var(--gold-dark);font-weight:800;font-size:.78rem}
.partner-benefit-card h3{font-size:1.55rem;margin-top:18px}.partner-benefit-card p{font-size:.9rem;color:#67757a}

.partner-guide-story{background:#f7eee4}
.partner-story-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.partner-story-grid.reverse{grid-template-columns:1fr 1fr}
.partner-story-photo{min-height:470px;border-radius:26px;box-shadow:var(--shadow);background-size:cover;background-position:center}
.partner-guide-photo{background-image:url("../img/guide.jpg")}
.partner-host-photo{background-image:url("../img/partner-card.jpg")}
.partner-story-copy h2{margin-bottom:18px}.partner-story-copy p{font-size:1rem;color:#5f6c71}

.qr-section{background:#fff}
.qr-grid{display:grid;grid-template-columns:1fr .85fr;gap:70px;align-items:center}
.qr-copy p{color:#607076}
.qr-use-list{display:flex;gap:9px;flex-wrap:wrap;margin-top:20px}
.qr-use-list span{padding:8px 12px;border-radius:999px;background:var(--sand);font-size:.78rem;color:var(--petrol)}
.qr-demo-card{background:linear-gradient(145deg,#062f3a,#0b4350);color:#fff;border-radius:28px;padding:34px;display:grid;grid-template-columns:140px 1fr;gap:28px;align-items:center;box-shadow:var(--shadow)}
.qr-fake{height:140px;background:#fff;color:#062f3a;border-radius:14px;display:grid;place-items:center;font-size:5rem}
.qr-demo-card small{color:#ffd58e;font-weight:700}.qr-demo-card strong{display:block;font-size:1.1rem;margin:.4rem 0}.qr-demo-card p{color:rgba(255,255,255,.78);font-size:.85rem}

.partner-plans{background:var(--ivory)}
.partner-plan-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;align-items:stretch}
.plan-card{background:#fff;border:1px solid rgba(6,47,58,.09);border-radius:22px;padding:28px;box-shadow:0 14px 38px rgba(6,47,58,.08);display:flex;flex-direction:column}
.plan-card.featured{border:2px solid var(--gold);transform:translateY(-8px)}
.plan-card.sponsor{background:linear-gradient(180deg,#fff,#f7eee4)}
.plan-tag{font-size:.68rem;font-weight:800;letter-spacing:.14em;color:var(--gold-dark)}
.plan-card h3{font-size:1.6rem;margin:10px 0}.plan-price{font-family:"DM Serif Display",serif;font-size:2.4rem;color:var(--petrol)}
.plan-price small{font-family:Inter,sans-serif;font-size:.8rem;color:#718086}
.plan-card ul{padding-left:18px;flex:1}.plan-card li{margin:.5rem 0;font-size:.88rem}
.plan-note{text-align:center;color:#6e7b80;font-size:.83rem;margin-top:20px}

.partner-test{background:#fff}
.partner-test-panel{display:grid;grid-template-columns:1fr .7fr;gap:50px;align-items:center;background:linear-gradient(135deg,#062f3a,#0b4350);border-radius:28px;padding:48px;color:#fff}
.partner-test-panel h2{color:#fff}.partner-test-panel p{color:rgba(255,255,255,.86)}
.partner-test-box{background:#fff;color:var(--petrol);border-radius:20px;padding:28px;box-shadow:0 20px 48px rgba(0,0,0,.2)}
.partner-test-box strong{display:block;font-family:"DM Serif Display",serif;font-size:2rem;margin:.5rem 0}

.partner-host-network{background:#f7eee4}
.partner-final{background:#fff}
.partner-final-panel{background:
  linear-gradient(90deg,rgba(6,47,58,.96),rgba(6,47,58,.72)),
  url("../img/partner-feature.jpg") center/cover no-repeat;
  border-radius:28px;padding:48px;color:#fff;display:flex;justify-content:space-between;gap:30px;align-items:center}
.partner-final-panel h2{color:#fff}.partner-final-panel p{max-width:650px;color:rgba(255,255,255,.88)}
.partner-final-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}

@media(max-width:1000px){
  .partner-hero-grid,.partner-story-grid,.partner-story-grid.reverse,.qr-grid,.partner-test-panel{grid-template-columns:1fr}
  .partner-hero-card{min-height:380px}.partner-hero-floating{left:20px}
  .partner-benefit-grid{grid-template-columns:1fr 1fr}
  .partner-plan-grid{grid-template-columns:1fr}.plan-card.featured{transform:none}
}
@media(max-width:680px){
  .partner-hero{padding-top:125px}.partner-hero-card{min-height:320px}.partner-hero-floating{left:12px;right:12px;bottom:12px}
  .partner-benefit-grid{grid-template-columns:1fr}
  .partner-story-photo{min-height:330px}
  .qr-demo-card{grid-template-columns:1fr}.qr-fake{height:180px}
  .partner-test-panel,.partner-final-panel{padding:28px}
  .partner-final-panel{display:block}.partner-final-actions{justify-content:flex-start;margin-top:24px}
}


/* ==========================================================
   V1.2.1 — PARTNER PAGE CSS FIX
   Scoped corrective layer
   ========================================================== */
body.page-partner .partner-hero{
  padding:150px 0 80px;
  background:linear-gradient(135deg,#062f3a,#0b4350);
  color:#fff;
}
body.page-partner .partner-hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);
  gap:58px;
  align-items:center;
}
body.page-partner .partner-hero-card{display:block;position:relative;min-height:460px}
body.page-partner .partner-benefit-grid{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:16px !important;
}
body.page-partner .partner-benefit-card{
  display:block !important;
  background:#fff !important;
  border:1px solid rgba(6,47,58,.08) !important;
  border-radius:18px !important;
  padding:24px !important;
  box-shadow:0 12px 32px rgba(6,47,58,.08) !important;
}
body.page-partner .partner-guide-story{background:#f7eee4}
body.page-partner .partner-story-grid{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
  gap:56px !important;
  align-items:center !important;
}
body.page-partner .partner-story-photo{
  display:block !important;
  min-height:470px !important;
  border-radius:26px !important;
  background-size:cover !important;
  background-position:center !important;
  box-shadow:0 18px 50px rgba(6,47,58,.12) !important;
}
body.page-partner .partner-guide-photo{background-image:url("../img/guide.jpg") !important}
body.page-partner .partner-host-photo{background-image:url("../img/partner-card.jpg") !important}
body.page-partner .qr-grid{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) minmax(340px,.85fr) !important;
  gap:70px !important;
  align-items:center !important;
}
body.page-partner .partner-plan-grid{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:18px !important;
}
body.page-partner .partner-test-panel{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) minmax(300px,.7fr) !important;
  gap:50px !important;
}
body.page-partner .partner-final-panel{
  display:flex !important;
  justify-content:space-between !important;
  align-items:center !important;
}

@media(max-width:1000px){
  body.page-partner .partner-hero-grid,
  body.page-partner .partner-story-grid,
  body.page-partner .qr-grid,
  body.page-partner .partner-test-panel{
    grid-template-columns:1fr !important;
  }
  body.page-partner .partner-benefit-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
  body.page-partner .partner-plan-grid{grid-template-columns:1fr !important}
}
@media(max-width:680px){
  body.page-partner .partner-benefit-grid{grid-template-columns:1fr !important}
  body.page-partner .partner-final-panel{display:block !important}
}


/* ===========================
   PROFESSIONISTI EXPERIENCE — V1.3
   =========================== */
.pro-hero{padding:150px 0 80px;background:linear-gradient(135deg,#062f3a,#0b4350);color:#fff;overflow:hidden}
.pro-hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:58px;align-items:center}
.pro-hero h1{color:#fff;max-width:790px}.pro-hero .page-lead{max-width:670px}
.pro-hero-card{position:relative;min-height:460px}
.pro-hero-photo{position:absolute;inset:0;border-radius:28px;background:
linear-gradient(180deg,rgba(6,47,58,.04),rgba(6,47,58,.22)),
url("../img/pro-card.jpg") center/cover no-repeat;box-shadow:0 28px 70px rgba(0,0,0,.24)}
.pro-hero-floating{position:absolute;left:-32px;bottom:28px;background:rgba(255,255,255,.96);color:var(--petrol);border-radius:18px;padding:20px 24px;box-shadow:var(--shadow);display:grid;gap:4px;min-width:270px}
.pro-hero-floating strong{font-family:"DM Serif Display",serif;font-size:1.7rem;line-height:1.05}.pro-hero-floating small{color:#647278}

.pro-benefit-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.pro-benefit-card{background:#fff;border:1px solid rgba(6,47,58,.08);border-radius:18px;padding:24px;box-shadow:0 12px 32px rgba(6,47,58,.08)}
.pro-benefit-card>span{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#dcebdc;color:var(--green);font-weight:800;font-size:.78rem}
.pro-benefit-card h3{font-size:1.5rem;margin-top:18px}.pro-benefit-card p{font-size:.9rem;color:#67757a}

.pro-rate-section{background:#f7eee4}
.pro-rate-grid{display:grid;grid-template-columns:1fr .8fr;gap:70px;align-items:center}
.pro-rate-copy p{color:#627176}.pro-rate-types{display:flex;gap:9px;flex-wrap:wrap;margin:20px 0}
.pro-rate-types span{padding:8px 12px;border-radius:999px;background:#fff;border:1px solid rgba(6,47,58,.1);font-size:.78rem;color:var(--petrol)}
.pro-small{font-size:.8rem!important;color:#7a8589!important}
.rate-demo{background:#fff;border-radius:24px;padding:30px;box-shadow:var(--shadow);border:1px solid rgba(6,47,58,.08)}
.rate-line,.rate-total{display:flex;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid rgba(6,47,58,.08)}
.rate-line strong{color:var(--petrol)}.rate-total{border:0;padding-top:22px}.rate-total span{font-weight:700}.rate-total strong{font-family:"DM Serif Display",serif;font-size:2rem;color:var(--gold-dark)}
.rate-demo small{display:block;color:#738086;font-size:.74rem;margin-top:12px}

.pro-levels{background:#fff}
.level-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.level-grid article{background:#fbf7f0;border-radius:18px;padding:22px;text-align:center;border:1px solid rgba(6,47,58,.08)}
.level-grid strong{display:block;font-family:"DM Serif Display",serif;font-size:2.2rem;color:var(--petrol);margin:.35rem 0}
.level-grid small{color:#738086;font-size:.74rem}.level-name{font-weight:800;color:var(--gold-dark);font-size:.75rem;text-transform:uppercase;letter-spacing:.1em}
.level-min{background:#eef5ef!important}
.level-progress-card{margin-top:22px;background:var(--petrol);color:#fff;border-radius:20px;padding:24px}
.level-progress-card strong{display:block;font-size:1.1rem}.level-progress-card small{color:rgba(255,255,255,.7)}
.level-progress{height:9px;border-radius:999px;background:rgba(255,255,255,.16);overflow:hidden;margin:18px 0}
.level-progress i{height:100%;background:var(--gold);display:block;border-radius:999px}
.level-next{display:flex;justify-content:space-between;gap:20px;font-size:.82rem}.level-next b{color:#ffd58e}

.pro-anonymous{background:var(--ivory)}
.pro-anon-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:64px;align-items:center}
.pro-anon-visual{background:linear-gradient(145deg,#062f3a,#0b4350);border-radius:28px;padding:28px;display:grid;gap:14px;box-shadow:var(--shadow)}
.anon-card{background:#fff;border-radius:16px;padding:16px;display:grid;grid-template-columns:46px 1fr;column-gap:12px;align-items:center}
.anon-card small{grid-column:2;color:#718086}.anon-avatar{grid-row:1/3;width:46px;height:46px;border-radius:50%;background:var(--gold);display:grid;place-items:center;font-weight:800;color:#18343b}
.anon-avatar.pro{background:#6b9a74;color:#fff}
.anon-chat{background:#eef4f5;border-radius:16px;padding:16px}.anon-chat span{font-size:.7rem;font-weight:800;color:var(--petrol)}.anon-chat p{margin:.4rem 0 0;font-size:.86rem}
.anon-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:20px}
.anon-choice-grid>div{background:#fff;border-radius:16px;padding:18px;border:1px solid rgba(6,47,58,.08)}
.anon-choice-grid p{font-size:.82rem;color:#6c797e}

.pro-quality{background:#fff}
.pro-quality-panel{background:linear-gradient(135deg,#062f3a,#0b4350);border-radius:28px;padding:44px;color:#fff}
.pro-quality-panel h2{color:#fff}.pro-quality-panel>div:first-child p{color:rgba(255,255,255,.82)}
.quality-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:28px}
.quality-steps>div{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.13);border-radius:16px;padding:18px}
.quality-steps span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--gold);color:#17343c;font-weight:800}
.quality-steps strong{display:block;margin:.8rem 0 .25rem}.quality-steps small{color:rgba(255,255,255,.72)}
.quality-note{margin-top:18px;padding:14px 16px;border-radius:14px;background:rgba(255,213,142,.12);color:#ffe0aa;font-size:.82rem}

.pro-services{background:#f7eee4}
.pro-service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.pro-service-grid article{background:#fff;border-radius:18px;padding:22px;border:1px solid rgba(6,47,58,.08);box-shadow:0 10px 28px rgba(6,47,58,.06)}
.pro-service-grid h3{font-size:1.35rem}.pro-service-grid p{font-size:.84rem;color:#68757a}

.pro-flow{background:#fff}
.pro-flow-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.pro-flow-grid>div{background:#fbf7f0;border-radius:18px;padding:24px;border:1px solid rgba(6,47,58,.08)}
.pro-flow-grid span{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--green);color:#fff;font-weight:800}
.pro-flow-grid h3{font-size:1.35rem;margin-top:18px}.pro-flow-grid p{font-size:.86rem;color:#68757a}

.pro-final{background:#f3e5d4}
.pro-final-panel{background:
linear-gradient(90deg,rgba(6,47,58,.96),rgba(6,47,58,.72)),
url("../img/pro-card.jpg") center/cover no-repeat;
border-radius:28px;padding:48px;color:#fff;display:flex;justify-content:space-between;gap:30px;align-items:center}
.pro-final-panel h2{color:#fff}.pro-final-panel p{max-width:650px;color:rgba(255,255,255,.88)}
.pro-final-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}

@media(max-width:1000px){
  .pro-hero-grid,.pro-rate-grid,.pro-anon-grid{grid-template-columns:1fr}
  .pro-hero-card{min-height:380px}.pro-hero-floating{left:20px}
  .pro-benefit-grid{grid-template-columns:1fr 1fr}
  .level-grid{grid-template-columns:repeat(3,1fr)}
  .quality-steps,.pro-service-grid,.pro-flow-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:680px){
  .pro-hero{padding-top:125px}.pro-hero-card{min-height:320px}.pro-hero-floating{left:12px;right:12px;bottom:12px}
  .pro-benefit-grid,.level-grid,.quality-steps,.pro-service-grid,.pro-flow-grid,.anon-choice-grid{grid-template-columns:1fr}
  .level-next{display:grid}
  .pro-quality-panel,.pro-final-panel{padding:28px}
  .pro-final-panel{display:block}.pro-final-actions{justify-content:flex-start;margin-top:24px}
}


/* ===========================
   AUTHENTICATION — V1.4
   =========================== */
.auth-page{min-height:100vh;padding:145px 0 85px;background:linear-gradient(135deg,#062f3a 0%,#0b4350 55%,#123b3d 100%);color:#fff}
.auth-grid{display:grid;grid-template-columns:1fr .78fr;gap:70px;align-items:center}
.auth-story h1{color:#fff}.auth-story>p{max-width:620px;color:rgba(255,255,255,.82);font-size:1.05rem}
.auth-story-points{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.auth-story-points span{border:1px solid rgba(255,255,255,.28);border-radius:999px;padding:8px 12px;font-size:.78rem}
.auth-card{background:#fff;color:var(--ink);border-radius:24px;padding:30px;box-shadow:0 28px 70px rgba(0,0,0,.18);border:1px solid rgba(6,47,58,.08)}
.auth-card h2{margin-bottom:20px}
.sw-form{display:grid;gap:15px}.sw-form label{display:grid;gap:7px;font-size:.8rem;font-weight:700;color:var(--petrol)}
.sw-form input,.sw-form select,.sw-form textarea{width:100%;border:1px solid rgba(6,47,58,.16);border-radius:12px;padding:13px 14px;background:#fff;color:var(--ink);outline:none}
.sw-form input:focus,.sw-form select:focus,.sw-form textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(243,165,54,.13)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.btn-block{width:100%}
.auth-links{display:grid;gap:7px;margin-top:18px;font-size:.78rem}.auth-links a{color:var(--petrol);text-decoration:underline}
.form-alert{padding:12px 14px;border-radius:12px;margin-bottom:15px;font-size:.82rem}.form-alert.error{background:#fdecec;color:#8a2f2f;border:1px solid #f3caca}

.register-hero{padding:150px 0 76px;background:linear-gradient(135deg,#062f3a,#0b4350);color:#fff}.register-hero h1{color:#fff}
.register-section{background:var(--ivory)}
.register-role-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.register-role-card{background:#fff;border:1px solid rgba(6,47,58,.08);border-radius:20px;padding:24px;box-shadow:0 12px 32px rgba(6,47,58,.07);transition:.2s}
.register-role-card:hover,.register-role-card.selected{transform:translateY(-2px);border-color:var(--gold);box-shadow:0 16px 38px rgba(6,47,58,.12)}
.register-role-card h3{font-size:1.55rem;margin:.6rem 0}.register-role-card p{font-size:.88rem;color:#67757a}
.role-badge{font-size:.67rem;font-weight:800;letter-spacing:.13em;color:var(--gold-dark)}
.tester-entry{margin-top:18px;background:#f6eadb;border:1px solid #ead6ba;border-radius:18px;padding:20px 22px;display:flex;justify-content:space-between;gap:20px;align-items:center}
.tester-entry strong{display:block;font-family:"DM Serif Display",serif;font-size:1.4rem;color:var(--petrol)}.tester-entry p{font-size:.82rem;margin:.4rem 0 0;color:#68757a}
.register-form-wrap{margin-top:34px;display:grid;grid-template-columns:1fr .8fr;gap:48px;align-items:start}.register-form-intro p{color:#67757a}
.check-label{grid-template-columns:auto 1fr!important;align-items:start!important}.check-label input{width:auto!important;margin-top:4px}
.registration-success{background:#fff;border-radius:24px;padding:38px;text-align:center;box-shadow:var(--shadow);max-width:720px;margin:auto}.registration-success>span{display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:#dcebdc;color:var(--green);font-size:1.7rem;margin:0 auto 18px}

.dashboard-placeholder{min-height:75vh;padding:150px 0 80px;background:var(--ivory)}.dashboard-placeholder-card{margin-top:28px;background:#fff;border-radius:20px;padding:24px;display:flex;gap:18px;align-items:center;box-shadow:var(--shadow)}
.dashboard-placeholder-card strong{font-family:"DM Serif Display",serif;font-size:1.5rem;color:var(--petrol)}.dashboard-placeholder-card span{margin-right:auto;color:#68757a}

@media(max-width:900px){
  .auth-grid,.register-form-wrap{grid-template-columns:1fr}
  .register-role-grid{grid-template-columns:1fr}
}
@media(max-width:620px){
  .auth-page{padding-top:125px}.form-row{grid-template-columns:1fr}
  .tester-entry,.dashboard-placeholder-card{display:grid}
}


/* ===========================
   DASHBOARD SYSTEM — V1.5
   =========================== */
.dashboard-body{background:#f4f1eb;color:var(--ink);overflow-x:hidden}
.dashboard-shell{min-height:100vh;display:grid;grid-template-columns:260px 1fr}
.dash-sidebar{position:sticky;top:0;height:100vh;background:linear-gradient(180deg,#062f3a,#08252d);color:#fff;padding:22px 16px;display:flex;flex-direction:column;z-index:50}
.dash-brand{display:flex;gap:10px;align-items:center;color:#fff;padding:0 8px 24px;border-bottom:1px solid rgba(255,255,255,.1)}
.dash-brand strong{display:block;font-family:"DM Serif Display",serif;font-size:1.3rem}.dash-brand small{display:block;color:rgba(255,255,255,.55);font-size:.68rem}
.dash-nav{display:grid;gap:4px;padding-top:20px}
.dash-nav a{display:flex;gap:11px;align-items:center;padding:11px 13px;border-radius:11px;color:rgba(255,255,255,.72);font-size:.84rem;transition:.2s}
.dash-nav a:hover,.dash-nav a.active{background:rgba(255,255,255,.09);color:#fff}
.dash-nav a.active{box-shadow:inset 3px 0 0 var(--gold)}
.dash-nav a span{width:20px;color:#ffd58e}
.dash-user{margin-top:auto;border-top:1px solid rgba(255,255,255,.1);padding:18px 8px 0;display:flex;gap:10px;align-items:center}
.dash-avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--gold);color:#18353d;font-weight:800}
.dash-user strong{display:block;font-size:.78rem}.dash-user small{display:block;font-size:.62rem;color:rgba(255,255,255,.5)}

.dash-main{min-width:0}
.dash-topbar{height:76px;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);border-bottom:1px solid rgba(6,47,58,.08);display:flex;align-items:center;padding:0 28px;position:sticky;top:0;z-index:30}
.dash-topbar>div:first-of-type{display:grid}.dash-topbar small{font-size:.65rem;text-transform:uppercase;letter-spacing:.12em;color:var(--gold-dark)}.dash-topbar strong{font-size:1rem;color:var(--petrol)}
.dash-top-actions{margin-left:auto;display:flex;gap:16px;align-items:center;font-size:.78rem}.dash-home-link{color:#647278}.dash-logout{color:var(--petrol);font-weight:700}
.dash-menu-toggle{display:none;border:0;background:none;font-size:1.4rem;margin-right:12px;color:var(--petrol)}
.dash-content{padding:30px 32px 60px;max-width:1500px;margin:auto}

.dash-welcome{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:26px}
.dash-welcome h1{font-size:clamp(2.4rem,4vw,4rem);color:var(--petrol)}.dash-welcome p{color:#65747a;max-width:700px}
.dash-eyebrow,.dash-section-label{font-size:.67rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-dark)}
.dash-welcome-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}

.dash-kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:16px}
.dash-kpi{background:#fff;border:1px solid rgba(6,47,58,.08);border-radius:17px;padding:20px;box-shadow:0 8px 24px rgba(6,47,58,.05);display:grid;gap:3px}
.dash-kpi.featured{background:linear-gradient(135deg,#062f3a,#0b4350);color:#fff}.dash-kpi.featured .kpi-label,.dash-kpi.featured small{color:rgba(255,255,255,.68)}.dash-kpi.featured strong{color:#ffd58e}
.kpi-label{font-size:.7rem;color:#758287}.dash-kpi strong{font-family:"DM Serif Display",serif;font-size:2.2rem;color:var(--petrol);line-height:1.05}.dash-kpi small{font-size:.7rem;color:#788589}

.dash-two-col{display:grid;grid-template-columns:1.2fr .8fr;gap:16px;margin-bottom:16px}
.dash-three-col{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:16px}
.dash-panel{background:#fff;border:1px solid rgba(6,47,58,.08);border-radius:18px;padding:22px;box-shadow:0 8px 24px rgba(6,47,58,.05)}
.dash-panel h2{font-size:1.65rem;color:var(--petrol);margin:.25rem 0 .7rem}.dash-panel p{font-size:.84rem;color:#69777c}
.dash-panel-head{display:flex;justify-content:space-between;gap:18px;align-items:start;margin-bottom:16px}.dash-panel-head a,.text-link{font-size:.75rem;font-weight:700;color:var(--petrol)}
.reward-progress{display:grid;grid-template-columns:140px 1fr;gap:24px;align-items:center}
.reward-circle{width:130px;height:130px;border-radius:50%;display:grid;place-content:center;text-align:center;background:conic-gradient(var(--gold) 0 68%,#edf0f1 68% 100%);position:relative}
.reward-circle:after{content:"";position:absolute;inset:10px;border-radius:50%;background:#fff}.reward-circle strong,.reward-circle small{position:relative;z-index:2}.reward-circle strong{font-family:"DM Serif Display",serif;font-size:1.8rem;color:var(--petrol)}.reward-circle small{font-size:.65rem;color:#718086}
.reward-info h3{font-size:1.3rem;margin:.35rem 0;color:var(--petrol)}.reward-info span,.reward-info small{font-size:.72rem;color:#758287}
.dash-progress{height:8px;border-radius:999px;background:#e8edef;overflow:hidden;margin:12px 0}.dash-progress i{display:block;height:100%;background:var(--gold);border-radius:999px}

.property-row{display:grid;grid-template-columns:42px 1fr auto;gap:12px;align-items:center;padding:13px 0;border-bottom:1px solid rgba(6,47,58,.07)}.property-row:last-child{border-bottom:0}
.property-icon{width:42px;height:42px;border-radius:12px;background:var(--sand);display:grid;place-items:center;color:var(--gold-dark)}.property-row strong{display:block;font-size:.86rem}.property-row small{display:block;color:#7a878b;font-size:.7rem}
.status-dot{display:inline-flex;padding:5px 8px;border-radius:999px;font-size:.62rem;font-weight:700}.status-dot.active{background:#e3f3e7;color:#28643c}.status-dot.pending{background:#fff2d9;color:#8c6317}
.empty-state{padding:18px;border:1px dashed rgba(6,47,58,.16);border-radius:12px;color:#788589;font-size:.8rem}

.activity-list>div,.request-list>div{display:grid;grid-template-columns:40px 1fr auto;gap:12px;align-items:center;padding:13px 0;border-bottom:1px solid rgba(6,47,58,.07)}.activity-list>div:last-child,.request-list>div:last-child{border-bottom:0}
.activity-icon{width:38px;height:38px;border-radius:50%;background:var(--sand);display:grid;place-items:center;color:var(--gold-dark)}.activity-list strong,.request-list strong{display:block;font-size:.82rem}.activity-list small,.request-list small{display:block;font-size:.68rem;color:#788589}.activity-list time{font-size:.66rem;color:#8a9598}

.qr-dashboard-demo{display:grid;grid-template-columns:110px 1fr;gap:20px;align-items:center}.qr-mini{height:110px;border-radius:14px;background:var(--petrol);color:#fff;display:grid;place-items:center;font-size:3.5rem}.qr-dashboard-demo strong{display:block;color:var(--petrol)}.qr-dashboard-demo small,.qr-dashboard-demo span{font-size:.7rem;color:#7a878b}
.visibility-list{display:grid;gap:4px}.visibility-list>div{display:flex;justify-content:space-between;gap:14px;padding:11px 0;border-bottom:1px solid rgba(6,47,58,.07);font-size:.78rem}.visibility-list>div:last-child{border-bottom:0}

.professional-rate-dashboard{display:grid}.professional-rate-dashboard>div{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid rgba(6,47,58,.07);font-size:.8rem}.professional-rate-dashboard .total{border:0;padding-top:18px}.professional-rate-dashboard .total strong{font-family:"DM Serif Display",serif;font-size:1.8rem;color:var(--gold-dark)}
.pro-level-dash strong{display:block;font-family:"DM Serif Display",serif;font-size:2rem;color:var(--petrol)}.pro-level-dash span,.pro-level-dash small{font-size:.72rem;color:#788589}
.request-type{padding:6px 8px;border-radius:999px;background:var(--sand);font-size:.62rem;font-weight:700;color:var(--petrol)}.request-list a{font-size:.72rem;font-weight:700;color:var(--petrol)}

.admin-alert-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:16px}
.admin-alert{background:#fff;border-radius:16px;padding:17px;display:grid;grid-template-columns:44px 1fr auto;gap:12px;align-items:center;border:1px solid rgba(6,47,58,.08)}.admin-alert>span{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;font-family:"DM Serif Display",serif;font-size:1.5rem}.admin-alert strong{display:block;font-size:.78rem}.admin-alert small{display:block;font-size:.64rem;color:#7a878b}.admin-alert a{font-size:.68rem;font-weight:700}
.admin-alert.critical>span{background:#fde4e4;color:#9d3535}.admin-alert.warning>span{background:#fff0d8;color:#8b5d13}.admin-alert.success>span{background:#e1f2e5;color:#2d6b40}
.admin-queue>div{display:grid;grid-template-columns:60px 1fr auto;gap:12px;align-items:center;padding:13px 0;border-bottom:1px solid rgba(6,47,58,.07)}.admin-queue>div:last-child{border-bottom:0}.admin-queue strong{display:block;font-size:.8rem}.admin-queue small{display:block;font-size:.67rem;color:#788589}.admin-queue a{font-size:.68rem;font-weight:700}
.priority{padding:5px 7px;border-radius:999px;text-align:center;font-size:.6rem}.priority.high{background:#fde4e4;color:#9d3535}.priority.medium{background:#fff0d8;color:#8b5d13}.priority.low{background:#edf0f1;color:#637176}
.coverage-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.coverage-grid>div{background:#f7f5f0;border-radius:12px;padding:14px;text-align:center}.coverage-grid strong{display:block;font-family:"DM Serif Display",serif;font-size:1.5rem;color:var(--petrol)}.coverage-grid span{font-size:.68rem;color:#788589}.coverage-grid .missing{background:#fff1df}.coverage-grid .missing strong{color:#a56919}

@media(max-width:1150px){
  .dashboard-shell{grid-template-columns:220px 1fr}.dash-kpi-grid,.admin-alert-grid{grid-template-columns:repeat(2,1fr)}.dash-three-col{grid-template-columns:1fr 1fr}
}
@media(max-width:860px){
  .dashboard-shell{grid-template-columns:1fr}.dash-sidebar{position:fixed;left:-280px;top:0;width:260px;transition:.25s}.dash-sidebar.open{left:0;box-shadow:20px 0 50px rgba(0,0,0,.2)}
  .dash-menu-toggle{display:block}.dash-content{padding:22px 18px 50px}.dash-two-col,.dash-three-col{grid-template-columns:1fr}.dash-welcome{display:block}.dash-welcome-actions{justify-content:flex-start;margin-top:18px}
}
@media(max-width:560px){
  .dash-kpi-grid,.admin-alert-grid{grid-template-columns:1fr}.reward-progress{grid-template-columns:1fr}.reward-circle{margin:auto}.qr-dashboard-demo{grid-template-columns:1fr}.dash-top-actions .dash-home-link{display:none}.coverage-grid{grid-template-columns:1fr 1fr}
}

.map-section{background:var(--ivory)}.map-layout{display:grid;grid-template-columns:260px 1fr;gap:20px;align-items:start}
.map-filters{background:#fff;border:1px solid rgba(6,47,58,.08);border-radius:18px;padding:20px;position:sticky;top:100px;box-shadow:0 8px 24px rgba(6,47,58,.05)}
.map-filters label{display:grid;gap:8px;font-size:.78rem;font-weight:700;color:var(--petrol);margin-bottom:14px}.map-filters select{padding:12px;border:1px solid rgba(6,47,58,.16);border-radius:11px;background:#fff}
.map-note{font-size:.7rem!important;color:#788589!important;margin-top:14px!important}.map-results{display:grid;gap:16px}
.fake-map{min-height:330px;border-radius:20px;background:linear-gradient(rgba(6,47,58,.12),rgba(6,47,58,.12)),radial-gradient(circle at 25% 35%,#f3a536 0 7px,transparent 8px),radial-gradient(circle at 55% 58%,#386b47 0 7px,transparent 8px),radial-gradient(circle at 76% 30%,#c98518 0 7px,transparent 8px),linear-gradient(145deg,#dce7e4,#f4efe5);display:grid;place-items:center;color:var(--petrol);font-family:"DM Serif Display",serif;font-size:1.5rem;border:1px solid rgba(6,47,58,.08)}
.professional-list{display:grid;gap:12px}.pro-map-card{display:grid;grid-template-columns:56px 1fr auto;gap:14px;align-items:center;background:#fff;border:1px solid rgba(6,47,58,.08);border-radius:17px;padding:17px;box-shadow:0 8px 24px rgba(6,47,58,.05)}
.pro-map-avatar{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:var(--sand);color:var(--gold-dark);font-family:"DM Serif Display",serif;font-size:1.5rem}
.pro-map-card h3{font-size:1.25rem;margin:.15rem 0}.pro-map-card p{font-size:.76rem;color:#69777c;margin:.2rem 0}.pro-map-tags{display:flex;gap:7px;flex-wrap:wrap}.pro-map-tags span{font-size:.63rem;padding:5px 8px;border-radius:999px;background:#f3f1ec;color:#66747a}
@media(max-width:800px){.map-layout{grid-template-columns:1fr}.map-filters{position:static}.pro-map-card{grid-template-columns:48px 1fr}.pro-map-action{grid-column:1/-1}}

.form-alert.success{background:#e6f4e9;color:#2d6b40;border:1px solid #c9e5d1}
.admin-table-wrap{overflow:auto}.admin-table{width:100%;border-collapse:collapse;min-width:820px}.admin-table th,.admin-table td{padding:13px 12px;text-align:left;border-bottom:1px solid rgba(6,47,58,.08);font-size:.78rem;vertical-align:middle}.admin-table th{font-size:.65rem;text-transform:uppercase;letter-spacing:.1em;color:#7b878b}
.table-user{display:flex;gap:10px;align-items:center}.table-user .dash-avatar{width:36px;height:36px;flex:0 0 auto}.table-user strong{display:block;font-size:.8rem}.table-user small{display:block;color:#7d888c;font-size:.66rem}
.role-pills{display:flex;gap:5px;flex-wrap:wrap}.role-pills span,.staff-level{display:inline-flex;padding:5px 8px;border-radius:999px;background:var(--sand);color:var(--petrol);font-size:.62rem;font-weight:800}
.status-dot.pending{background:#fff1da;color:#8b6217}.status-dot.suspended{background:#fde5e5;color:#983838}.status-dot.test{background:#e6edf5;color:#415f82}
.inline-action{display:flex;gap:6px;align-items:center}.inline-action select,.inline-create-dept input,.admin-search{padding:8px 10px;border-radius:9px;border:1px solid rgba(6,47,58,.14);font-size:.7rem;background:#fff}
.mini-btn{border:0;border-radius:9px;padding:8px 10px;background:var(--petrol);color:#fff;font-size:.68rem;font-weight:700;cursor:pointer}.admin-search{min-width:250px}
.department-list{display:grid;gap:7px;margin-top:14px}.department-list>div{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center;padding:11px 0;border-bottom:1px solid rgba(6,47,58,.07)}.department-list strong{font-size:.8rem}.department-list small{font-size:.65rem;color:#7b878b}
.inline-create-dept{display:flex;gap:8px;margin-top:16px}.inline-create-dept input{flex:1}.muted{font-size:.68rem;color:#8a9598}

.profile-section{background:var(--ivory)}.profile-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:22px;align-items:start}.profile-security-card{margin-top:18px}.auth-card hr{border:0;border-top:1px solid rgba(6,47,58,.08);margin:22px 0}
@media(max-width:850px){.profile-grid{grid-template-columns:1fr}}


/* ===========================
   USERS TABLE UI FIX — V1.8.3.2
   =========================== */
.admin-table{
  table-layout:fixed;
}
.admin-table th:nth-child(1),
.admin-table td:nth-child(1){width:34%}
.admin-table th:nth-child(2),
.admin-table td:nth-child(2){width:16%}
.admin-table th:nth-child(3),
.admin-table td:nth-child(3){width:12%}
.admin-table th:nth-child(4),
.admin-table td:nth-child(4){width:14%}
.admin-table th:nth-child(5),
.admin-table td:nth-child(5){width:24%}

.admin-table th,
.admin-table td{
  vertical-align:middle;
}

.admin-table-actions{
  text-align:right!important;
  white-space:nowrap;
}

.admin-manage-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-width:118px;
  min-height:38px;
  padding:9px 14px;
  border-radius:10px;
  background:var(--petrol);
  color:#fff!important;
  font-size:.72rem;
  font-weight:800;
  text-decoration:none;
  line-height:1;
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease;
}

.admin-manage-btn:hover{
  transform:translateY(-1px);
  box-shadow:0 8px 18px rgba(6,47,58,.16);
}

.admin-manage-btn span{
  font-size:.9rem;
  line-height:1;
}

.admin-table .table-user{
  min-width:0;
}

.admin-table .table-user>div{
  min-width:0;
}

.admin-table .table-user strong,
.admin-table .table-user small{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

@media(max-width:980px){
  .admin-table{
    min-width:760px;
  }
  .admin-table th:nth-child(1),
  .admin-table td:nth-child(1){width:36%}
  .admin-table th:nth-child(2),
  .admin-table td:nth-child(2){width:16%}
  .admin-table th:nth-child(3),
  .admin-table td:nth-child(3){width:12%}
  .admin-table th:nth-child(4),
  .admin-table td:nth-child(4){width:14%}
  .admin-table th:nth-child(5),
  .admin-table td:nth-child(5){width:22%}
}

@media(max-width:680px){
  .admin-table-wrap{
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
  }
  .admin-table{
    min-width:720px;
  }
}

/* HOST ADMIN — V1.10.1 */
.host-admin-data{display:grid;gap:0;margin-top:14px}
.host-admin-data>div{display:grid;grid-template-columns:150px 1fr;gap:12px;padding:11px 0;border-bottom:1px solid rgba(6,47,58,.07)}
.host-admin-data span{font-size:.68rem;color:#758287}.host-admin-data strong{font-size:.78rem}
.host-admin-summary{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}
.host-admin-summary>div{background:#f5f2eb;border-radius:14px;padding:16px;text-align:center}
.host-admin-summary strong{display:block;font-family:"DM Serif Display",serif;font-size:2rem;color:var(--petrol)}
.host-admin-summary span{font-size:.68rem;color:#758287}


/* CONTROL ROOM DYNAMIC LINKS — V1.10.3 */
.dash-kpi,
.dash-queue-row,
.coverage-cell,
.dash-stat-card{
  text-decoration:none;
  color:inherit;
}

.dash-kpi:hover,
.coverage-cell:hover,
.dash-stat-card:hover{
  transform:translateY(-1px);
}

.dash-panel-title-row{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
}

.dash-inline-link{
  color:var(--petrol);
  text-decoration:none;
  font-size:.72rem;
  font-weight:800;
  white-space:nowrap;
}

.dash-inline-link:hover{
  text-decoration:underline;
}


/* ==========================================================
   V1.10.3.4 — MOBILE NAV SAFE FIX
   Desktop remains identical to baseline.
   ========================================================== */

/* Critical: NEVER show mobile account actions on desktop */
.main-nav-mobile-actions{
  display:none!important;
}

@media(max-width:1050px){
  .main-nav.open{
    max-height:calc(100dvh - 90px);
    overflow-y:auto;
    overscroll-behavior:contain;
  }

  .main-nav-mobile-actions{
    display:grid!important;
    grid-template-columns:1fr 1fr;
    gap:8px;
    margin-top:10px;
    padding-top:14px;
    border-top:1px solid rgba(255,255,255,.16);
  }

  .main-nav-mobile-actions .mobile-account-link{
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:42px;
    padding:10px 12px!important;
    border:1px solid rgba(255,255,255,.35)!important;
    border-radius:999px;
    color:#fff;
    font-weight:700;
    opacity:1;
  }

  .main-nav-mobile-actions .mobile-account-register,
  .main-nav-mobile-actions .mobile-account-exit{
    background:var(--gold);
    border-color:var(--gold)!important;
    color:#1e2b2f;
  }

  .main-nav-mobile-actions .mobile-account-exit:nth-child(3){
    grid-column:1/-1;
  }
}

@media(max-width:560px){
  .main-nav-mobile-actions{
    grid-template-columns:1fr;
  }

  .main-nav-mobile-actions .mobile-account-exit:nth-child(3){
    grid-column:auto;
  }
}

/* Dashboard: only ensure existing hamburger works cleanly */
@media(max-width:860px){
  .dash-sidebar{
    overflow-y:auto;
    overscroll-behavior:contain;
  }
}


/* ==========================================================
   V1.10.3.5 — MOBILE ACCOUNT ACTIONS DEFINITIVE FIX
   ========================================================== */
@media (max-width:1050px){
  .main-nav.open .main-nav-mobile-actions{
    display:grid!important;
    width:100%;
    flex:0 0 auto;
  }
  .main-nav.open .main-nav-mobile-actions a.mobile-account-link{
    display:flex!important;
    width:100%;
    padding:10px 12px!important;
  }
}
@media (max-width:560px){
  .main-nav.open .main-nav-mobile-actions{
    grid-template-columns:1fr!important;
  }
  .dash-top-actions{
    gap:10px;
    font-size:.72rem;
  }
  .dash-top-actions .dash-profile-link,
  .dash-top-actions .dash-logout{
    display:inline-flex;
  }
  .dash-top-actions .dash-home-link{
    display:none;
  }
}

/* StayWelcome v1.11.0 - registration Kit Test paths */
.tester-entry-split{display:grid;grid-template-columns:1fr 1fr;align-items:stretch;padding:0;overflow:hidden;gap:0}
.tester-path{padding:22px;display:flex;flex-direction:column;align-items:flex-start}
.tester-path+.tester-path{border-left:1px solid #ead6ba}
.tester-path .btn{margin-top:auto}
.tester-request{background:rgba(255,255,255,.32)}
@media(max-width:760px){.tester-entry-split{grid-template-columns:1fr}.tester-path+.tester-path{border-left:0;border-top:1px solid #ead6ba}}


/* ==========================================================
   V1.11.1.2 — PUBLIC NAVIGATION / MOBILE ACCOUNT FIX
   ========================================================== */
@media(max-width:1050px){
  .site-header .nav-wrap{min-height:76px}

  .site-header .main-nav.open{
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:0!important;
    top:76px;
    left:3%;
    right:3%;
    padding:14px 18px 18px;
    max-height:calc(100dvh - 92px);
    overflow-y:auto;
    background:var(--petrol);
    border-radius:0 0 18px 18px;
    box-shadow:0 20px 40px rgba(0,0,0,.18);
  }

  .site-header .main-nav.open > a{
    display:flex!important;
    width:100%!important;
    min-height:46px;
    align-items:center;
    padding:9px 4px!important;
    margin:0!important;
    border-bottom:1px solid rgba(255,255,255,.08);
    opacity:.96;
  }

  .site-header .main-nav.open > a.active{
    border-bottom-color:rgba(255,255,255,.08);
    color:var(--gold);
  }

  .site-header .main-nav-mobile-actions{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr));
    width:100%!important;
    gap:8px!important;
    margin:12px 0 0!important;
    padding:14px 0 0!important;
    border-top:1px solid rgba(255,255,255,.18)!important;
  }

  .site-header .main-nav-mobile-actions .mobile-account-link{
    display:flex!important;
    width:100%!important;
    min-width:0!important;
    min-height:44px!important;
    align-items:center!important;
    justify-content:center!important;
    padding:9px 10px!important;
    margin:0!important;
    border:1px solid rgba(255,255,255,.35)!important;
    border-radius:999px!important;
    white-space:nowrap!important;
    text-align:center!important;
    font-size:.82rem!important;
    font-weight:700!important;
    line-height:1.1!important;
    color:#fff!important;
    opacity:1!important;
  }

  /* Guest = 2 azioni, logged = 3 azioni. */
  .site-header .main-nav-mobile-actions .mobile-account-register,
  .site-header .main-nav-mobile-actions .mobile-account-exit{
    background:var(--gold)!important;
    border-color:var(--gold)!important;
    color:#18272b!important;
  }

  .site-header .nav-actions{display:none!important}
}

@media(max-width:620px){
  .site-header .main-nav-mobile-actions{
    grid-template-columns:1fr!important;
  }

  .site-header .main-nav-mobile-actions .mobile-account-link{
    justify-content:flex-start!important;
    padding-inline:14px!important;
    border-radius:11px!important;
  }

  .site-header .main-nav.open > a{
    min-height:43px;
    font-size:.93rem;
  }
}

@media(max-width:420px){
  .site-header .brand strong{font-size:1.18rem}
  .site-header .brand small{font-size:.63rem}
  .site-header .brand-mark{width:42px;height:42px}
}

/* Footer: account links must remain distinct on every viewport. */
.footer .footer-account{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}
.footer .footer-account a{display:block}

/* ==========================================================
   V1.12.2 — UNIFIED LOGGED-IN SIDEBAR
   ========================================================== */

/* Public header stays the public header. Logged-in navigation
   lives in the left sidebar instead of a second horizontal bar. */
.header-mobile-tools{
  display:flex;
  align-items:center;
  gap:8px;
}

.account-side-toggle{
  display:none;
}

.account-sidebar{
  position:fixed;
  left:0;
  top:76px;
  bottom:0;
  width:250px;
  z-index:890;
  display:flex;
  flex-direction:column;
  background:linear-gradient(180deg,#073844 0%,#062b34 100%);
  color:#fff;
  border-top:1px solid rgba(255,255,255,.08);
  box-shadow:10px 0 30px rgba(5,37,45,.10);
}

.account-side-head{
  padding:18px 16px 15px;
  border-bottom:1px solid rgba(255,255,255,.11);
}

.account-side-user{
  display:flex;
  align-items:center;
  gap:11px;
  min-width:0;
}

.account-side-avatar{
  flex:0 0 38px;
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border-radius:999px;
  background:var(--gold);
  color:#17353d;
  font-size:.84rem;
  font-weight:900;
}

.account-side-user div{
  min-width:0;
}

.account-side-user strong,
.account-side-user small{
  display:block;
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
}

.account-side-user strong{
  font-size:.79rem;
}

.account-side-user small{
  margin-top:3px;
  color:rgba(255,255,255,.57);
  font-size:.57rem;
  text-transform:uppercase;
  letter-spacing:.05em;
}

.account-side-close{
  display:none;
}

.account-side-nav{
  flex:1 1 auto;
  overflow:auto;
  padding:15px 12px 24px;
}

.account-side-section + .account-side-section{
  margin-top:20px;
  padding-top:18px;
  border-top:1px solid rgba(255,255,255,.10);
}

.account-side-label{
  display:block;
  margin:0 10px 8px;
  color:#f3a536;
  font-size:.57rem;
  font-weight:900;
  letter-spacing:.13em;
  text-transform:uppercase;
}

.account-side-links{
  display:grid;
  gap:4px;
}

/* Role links */
.account-side-link,
.account-side-links > a{
  min-height:42px;
  display:flex;
  align-items:center;
  gap:11px;
  padding:9px 11px;
  border-left:3px solid transparent;
  border-radius:10px;
  color:rgba(255,255,255,.80);
  font-size:.76rem;
  font-weight:600;
  line-height:1.15;
  transition:.16s ease;
}

.account-side-link:hover,
.account-side-links > a:hover{
  color:#fff;
  background:rgba(255,255,255,.06);
}

.account-side-link.active,
.account-side-links > a.active{
  color:#fff;
  background:rgba(255,255,255,.11);
  border-left-color:var(--gold);
}

.account-side-icon,
.account-side-links > a > span:first-child{
  width:18px;
  flex:0 0 18px;
  display:grid;
  place-items:center;
  color:#f3a536;
  font-size:.72rem;
}

.account-side-footer{
  flex:0 0 auto;
  padding:13px 14px 16px;
  border-top:1px solid rgba(255,255,255,.10);
  display:grid;
  gap:7px;
}

.account-side-public,
.account-side-logout{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
  border-radius:9px;
  font-size:.7rem;
  font-weight:800;
}

.account-side-public{
  border:1px solid rgba(255,255,255,.20);
  color:#fff;
}

.account-side-logout{
  background:var(--gold);
  color:#17353d;
}

/* Logged-in public pages reserve the sidebar column. */
@media(min-width:1051px){
  body.has-account-sidebar main,
  body.has-account-sidebar > .page-hero,
  body.has-account-sidebar > .section,
  body.has-account-sidebar > .footer{
    margin-left:250px;
  }

  body.has-account-sidebar .site-header{
    left:0;
  }

  /* Center the public navigation in the free header area. */
  body.has-account-sidebar .site-header .nav-wrap{
    padding-left:max(270px,calc((100vw - 1240px)/2 + 250px));
  }

  body.has-account-sidebar .site-header .brand{
    position:absolute;
    left:22px;
  }

  body.has-account-sidebar .site-header .main-nav{
    margin-left:auto;
    margin-right:auto;
  }

  body.has-account-sidebar .site-header .nav-actions{
    margin-left:14px;
  }

  /* Logged-in users no longer need profile/dashboard in the header. */
  body.has-account-sidebar .site-header .nav-actions .btn-ghost{
    display:none;
  }
}

.account-side-overlay{
  display:none;
}

/* ==========================================================
   MOBILE / TABLET
   ========================================================== */
@media(max-width:1050px){
  body.has-account-sidebar main,
  body.has-account-sidebar > .page-hero,
  body.has-account-sidebar > .section,
  body.has-account-sidebar > .footer{
    margin-left:0;
  }

  .account-sidebar{
    top:0;
    width:min(84vw,290px);
    transform:translateX(-105%);
    z-index:1300;
    transition:transform .24s ease;
    box-shadow:none;
  }

  .account-sidebar.open{
    transform:translateX(0);
    box-shadow:22px 0 50px rgba(0,0,0,.28);
  }

  .account-side-head{
    padding-top:19px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
  }

  .account-side-close{
    display:grid;
    place-items:center;
    flex:0 0 34px;
    width:34px;
    height:34px;
    border:0;
    border-radius:9px;
    background:rgba(255,255,255,.08);
    color:#fff;
    font-size:1.35rem;
  }

  .account-side-toggle{
    display:grid;
    place-items:center;
    flex:0 0 40px;
    width:40px;
    height:40px;
    border:1px solid rgba(255,255,255,.40);
    border-radius:999px;
    background:var(--gold);
    color:#17353d;
    font-size:.78rem;
    font-weight:900;
  }

  .account-side-overlay{
    position:fixed;
    inset:0;
    z-index:1290;
    display:block;
    background:rgba(3,22,27,.48);
    opacity:0;
    transition:opacity .18s ease;
  }

  .account-side-overlay.visible{
    opacity:1;
  }

  body.account-side-open{
    overflow:hidden;
  }

  .header-mobile-tools{
    margin-left:auto;
  }

  /* Logged mobile users get account avatar + public hamburger. */
  body.has-account-sidebar .site-header .nav-actions{
    display:none!important;
  }

  /* Public menu remains focused on public navigation.
     Account actions belong to the role drawer. */
  body.has-account-sidebar .main-nav-mobile-actions{
    display:none!important;
  }
}

@media(max-width:620px){
  .account-sidebar{
    width:min(88vw,300px);
  }

  .account-side-nav{
    padding-inline:10px;
  }

  .account-side-link,
  .account-side-links > a{
    min-height:44px;
    font-size:.79rem;
  }
}

/* ==========================================================
   V1.12.2.1 — SIDEBAR / LOGO / PUBLIC HEADER UNIFICATION
   ========================================================== */

/* --- Brand blocks: white background + StayWelcome petrol --- */
@media(min-width:1051px){
  body.has-account-sidebar .site-header .brand{
    position:absolute!important;
    left:0!important;
    top:0!important;
    width:250px!important;
    height:76px!important;
    padding:0 18px!important;
    display:flex!important;
    align-items:center!important;
    background:#fff!important;
    border-right:1px solid rgba(6,47,58,.08)!important;
    color:var(--petrol)!important;
    z-index:4!important;
  }

  body.has-account-sidebar .site-header .brand strong{
    color:var(--petrol)!important;
  }

  body.has-account-sidebar .site-header .brand small{
    color:#6f7d81!important;
  }

  body.has-account-sidebar .site-header .brand-mark{
    color:var(--gold-dark)!important;
    border-color:var(--gold)!important;
  }

  /* Real centering in the usable area: sidebar excluded, logout excluded. */
  body.has-account-sidebar .site-header .nav-wrap{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:0 96px 0 250px!important;
    position:relative!important;
  }

  body.has-account-sidebar .site-header .main-nav{
    position:absolute!important;
    left:calc(250px + (100% - 250px)/2)!important;
    top:50%!important;
    transform:translate(-50%,-50%)!important;
    margin:0!important;
    gap:clamp(12px,1.2vw,20px)!important;
    white-space:nowrap!important;
  }

  body.has-account-sidebar .site-header .nav-actions{
    position:absolute!important;
    right:22px!important;
    top:50%!important;
    transform:translateY(-50%)!important;
    margin:0!important;
  }
}

/* Dashboard brand gets exactly the same visual language. */
.dash-sidebar{
  padding:0 14px 16px!important;
}

.dash-brand{
  min-height:76px!important;
  margin:0 -14px!important;
  padding:0 18px!important;
  background:#fff!important;
  border-bottom:1px solid rgba(6,47,58,.09)!important;
  color:var(--petrol)!important;
  gap:10px!important;
}

.dash-brand strong{
  color:var(--petrol)!important;
  font-family:"DM Serif Display",serif!important;
  font-size:1.30rem!important;
}

.dash-brand small{
  color:#6f7d81!important;
  font-size:.61rem!important;
}

.dash-brand .brand-mark{
  color:var(--gold-dark)!important;
  border-color:var(--gold)!important;
}

/* --- One sidebar design system for dashboard + other logged pages --- */
.dash-sidebar,
.account-sidebar{
  background:linear-gradient(180deg,#073844 0%,#062b34 100%)!important;
  color:#fff!important;
}

.dash-nav,
.account-side-nav{
  font-family:"Inter",sans-serif!important;
}

.dash-nav{
  padding-top:14px!important;
  gap:4px!important;
}

.dash-nav a,
.account-side-link,
.account-side-links > a{
  min-height:42px!important;
  display:flex!important;
  align-items:center!important;
  gap:11px!important;
  padding:9px 11px!important;
  border-radius:10px!important;
  border-left:3px solid transparent!important;
  color:rgba(255,255,255,.82)!important;
  font-family:"Inter",sans-serif!important;
  font-size:.76rem!important;
  font-weight:600!important;
  line-height:1.15!important;
  transition:.16s ease!important;
}

.dash-nav a:hover,
.account-side-link:hover,
.account-side-links > a:hover{
  background:rgba(255,255,255,.06)!important;
  color:#fff!important;
}

.dash-nav a.active,
.account-side-link.active,
.account-side-links > a.active{
  background:rgba(255,255,255,.11)!important;
  color:#fff!important;
  border-left-color:var(--gold)!important;
  box-shadow:none!important;
}

.dash-nav a > span:first-child,
.account-side-icon,
.account-side-links > a > span:first-child{
  width:18px!important;
  min-width:18px!important;
  display:grid!important;
  place-items:center!important;
  color:#f3a536!important;
  font-family:"Inter",sans-serif!important;
  font-size:.72rem!important;
  font-weight:700!important;
  text-align:center!important;
}

.nav-item-label{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.account-side-section + .account-side-section{
  margin-top:18px!important;
  padding-top:17px!important;
  border-top:1px solid rgba(255,255,255,.10)!important;
}

.account-side-label{
  margin:0 10px 8px!important;
  color:#f3a536!important;
  font-size:.57rem!important;
  font-weight:900!important;
  letter-spacing:.13em!important;
  text-transform:uppercase!important;
}

/* User identity blocks also match. */
.dash-user,
.account-side-head{
  border-color:rgba(255,255,255,.10)!important;
}

.dash-avatar,
.account-side-avatar{
  width:38px!important;
  height:38px!important;
  min-width:38px!important;
  border-radius:999px!important;
  background:var(--gold)!important;
  color:#17353d!important;
  display:grid!important;
  place-items:center!important;
  font-family:"Inter",sans-serif!important;
  font-size:.82rem!important;
  font-weight:900!important;
}

.dash-user strong,
.account-side-user strong{
  font-family:"Inter",sans-serif!important;
  font-size:.78rem!important;
  font-weight:700!important;
}

.dash-user small,
.account-side-user small{
  font-family:"Inter",sans-serif!important;
  font-size:.58rem!important;
  color:rgba(255,255,255,.55)!important;
  text-transform:uppercase!important;
}

/* Desktop dashboard sidebar footer/user location stays clean. */
.dash-user{
  margin-top:auto!important;
  padding:17px 8px 0!important;
}

/* Mobile keeps exactly the same icon/font/menu language. */
@media(max-width:1050px){
  body.has-account-sidebar .site-header .brand{
    background:transparent!important;
  }

  .account-sidebar .account-side-head{
    background:#073844!important;
  }
}

@media(max-width:860px){
  .dash-brand{
    margin:0 -14px!important;
  }
}


/* ==========================================================
   V1.12.2.2 — DASHBOARD ROLE SIDEBAR FIX
   ========================================================== */

/* Legacy rule .dash-nav a span { width:20px } must apply only
   to the icon, never to the navigation label. */
.dash-nav a .nav-item-label{
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  flex:1 1 auto!important;
  display:block!important;
  overflow:visible!important;
  text-overflow:clip!important;
  white-space:nowrap!important;
}

.dash-nav a .dash-nav-icon{
  width:18px!important;
  min-width:18px!important;
  max-width:18px!important;
  flex:0 0 18px!important;
  display:grid!important;
  place-items:center!important;
  color:#f3a536!important;
}

/* Same hierarchy as the authenticated sidebar on every page. */
.dash-nav{
  display:block!important;
  padding:14px 0 22px!important;
}

.dash-nav-section{
  display:block;
}

.dash-nav-section + .dash-nav-section{
  margin-top:18px;
  padding-top:17px;
  border-top:1px solid rgba(255,255,255,.10);
}

.dash-nav-label{
  display:block;
  width:auto!important;
  margin:0 10px 8px;
  color:#f3a536!important;
  font-family:"Inter",sans-serif!important;
  font-size:.57rem!important;
  font-weight:900!important;
  line-height:1.2!important;
  letter-spacing:.13em!important;
  text-transform:uppercase;
  white-space:nowrap;
}

.dash-nav-links{
  display:grid;
  gap:4px;
}

.dash-nav-links a{
  width:100%!important;
  min-width:0!important;
}

@media(max-width:860px){
  .dash-nav a .nav-item-label{
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
}


/* ==========================================================
   V1.12.3 — ONE AUTHENTICATED LAYOUT
   HOST / PROFESSIONAL / PARTNER
   ========================================================== */

/* ----------------------------------------------------------
   WHITE HEADER FOR EVERY AUTHENTICATED APPLICATION PAGE
   ---------------------------------------------------------- */
body.has-account-sidebar .site-header{
  background:#fff!important;
  border-bottom:1px solid rgba(6,47,58,.10)!important;
  box-shadow:0 3px 16px rgba(5,37,45,.06)!important;
}

body.has-account-sidebar .site-header .brand{
  background:#fff!important;
  color:var(--petrol)!important;
}

body.has-account-sidebar .site-header .brand strong{
  color:var(--petrol)!important;
}

body.has-account-sidebar .site-header .brand small{
  color:#6f7d81!important;
}

body.has-account-sidebar .site-header .brand-mark{
  color:var(--gold-dark)!important;
  border-color:var(--gold)!important;
}

body.has-account-sidebar .site-header .main-nav > a{
  color:#173943!important;
}

body.has-account-sidebar .site-header .main-nav > a:hover,
body.has-account-sidebar .site-header .main-nav > a.active{
  color:#cf7d00!important;
}

body.has-account-sidebar .site-header .main-nav > a.active::after{
  background:var(--gold)!important;
}

body.has-account-sidebar .nav-toggle{
  color:var(--petrol)!important;
}

/* Logout remains visually separate. */
body.has-account-sidebar .nav-logout{
  background:var(--gold)!important;
  border-color:var(--gold)!important;
  color:#17353d!important;
}

/* ----------------------------------------------------------
   PERSISTENT SIDEBAR — SAME ON DASHBOARD AND OTHER PAGES
   ---------------------------------------------------------- */
body.has-account-sidebar .account-sidebar{
  top:76px!important;
}

.account-side-footer{
  grid-template-columns:1fr!important;
}

/* "Sito pubblico" no longer exists, but neutralize old CSS too. */
.account-side-public{
  display:none!important;
}

/* ----------------------------------------------------------
   DASHBOARD CONTENT NOW LIVES INSIDE THE SAME APP SHELL
   ---------------------------------------------------------- */
.account-dashboard-content{
  width:auto;
  max-width:none;
  padding:120px clamp(24px,4vw,64px) 54px;
  min-height:100vh;
  background:#f7f4ee;
}

.account-dashboard-content .dash-welcome,
.account-dashboard-content .dash-panel,
.account-dashboard-content .dash-kpi-grid,
.account-dashboard-content .dash-two-col,
.account-dashboard-content .dash-three-col{
  max-width:1240px;
  margin-left:auto;
  margin-right:auto;
}

/* Body rules from old dashboard must not create a second shell. */
body.has-account-sidebar.dashboard-body,
body.has-account-sidebar{
  background:#f7f4ee;
}

/* ----------------------------------------------------------
   DESKTOP HEADER NAV: truly centered in free area
   (sidebar 250px + account logout excluded)
   ---------------------------------------------------------- */
@media(min-width:1051px){
  body.has-account-sidebar .site-header .nav-wrap{
    width:100%!important;
    max-width:none!important;
    padding:0 110px 0 250px!important;
    margin:0!important;
    position:relative!important;
  }

  body.has-account-sidebar .site-header .brand{
    position:absolute!important;
    left:0!important;
    top:0!important;
    width:250px!important;
    height:76px!important;
    padding:0 18px!important;
    display:flex!important;
    align-items:center!important;
    border-right:1px solid rgba(6,47,58,.09)!important;
  }

  body.has-account-sidebar .site-header .main-nav{
    position:absolute!important;
    left:calc(250px + (100% - 250px)/2)!important;
    top:50%!important;
    transform:translate(-50%,-50%)!important;
    margin:0!important;
    gap:clamp(10px,1.15vw,18px)!important;
    white-space:nowrap!important;
  }

  body.has-account-sidebar .site-header .nav-actions{
    position:absolute!important;
    right:20px!important;
    top:50%!important;
    transform:translateY(-50%)!important;
    margin:0!important;
  }

  /* All application content shares the exact same sidebar offset. */
  body.has-account-sidebar main{
    margin-left:250px!important;
  }

  body.has-account-sidebar .account-dashboard-content{
    margin-left:250px!important;
  }
}

/* ----------------------------------------------------------
   MOBILE: one account drawer, no dashboard-specific nav
   ---------------------------------------------------------- */
@media(max-width:1050px){
  body.has-account-sidebar .site-header{
    background:#fff!important;
  }

  body.has-account-sidebar .site-header .brand{
    background:#fff!important;
  }

  body.has-account-sidebar .site-header .brand strong{
    color:var(--petrol)!important;
  }

  body.has-account-sidebar .site-header .brand small{
    color:#6f7d81!important;
  }

  body.has-account-sidebar .site-header .brand-mark{
    color:var(--gold-dark)!important;
  }

  body.has-account-sidebar main,
  body.has-account-sidebar .account-dashboard-content{
    margin-left:0!important;
  }

  .account-dashboard-content{
    padding:118px 16px 36px!important;
  }

  /* Account button and public hamburger are both visible. */
  .header-mobile-tools{
    display:flex!important;
    align-items:center!important;
    gap:8px!important;
    margin-left:auto!important;
  }

  .account-side-toggle{
    display:grid!important;
  }

  .nav-toggle{
    display:grid!important;
  }

  .account-sidebar{
    top:0!important;
    width:min(88vw,300px)!important;
    transform:translateX(-105%)!important;
    transition:transform .24s ease!important;
    z-index:1300!important;
  }

  .account-sidebar.open{
    transform:translateX(0)!important;
  }

  .account-side-overlay{
    z-index:1290!important;
  }

  /* No legacy dashboard mobile sidebar/toggle. */
  .dash-sidebar,
  .dash-topbar,
  .dash-menu-toggle{
    display:none!important;
  }

  /* Public hamburger has white-header colors. */
  body.has-account-sidebar .nav-toggle{
    border-color:rgba(6,47,58,.25)!important;
    background:#fff!important;
  }

  /* Main public menu on white background. */
  body.has-account-sidebar .main-nav{
    background:#fff!important;
    color:var(--petrol)!important;
  }

  body.has-account-sidebar .main-nav > a{
    color:var(--petrol)!important;
  }
}

/* Smaller phones */
@media(max-width:620px){
  .account-dashboard-content{
    padding-inline:12px!important;
  }

  .account-dashboard-content .dash-welcome h1{
    font-size:clamp(2.3rem,13vw,4rem)!important;
  }
}


/* ==========================================================
   V1.12.3.1 — TRUE PUBLIC NAV CENTERING
   Desktop public navigation is centered on the VIEWPORT,
   independently from brand width and account CTAs.
   ========================================================== */
@media (min-width:1051px){

  .site-header .nav-wrap{
    position:relative!important;
    width:100%!important;
    max-width:none!important;
  }

  .site-header .main-nav{
    position:absolute!important;
    left:50%!important;
    top:50%!important;
    transform:translate(-50%,-50%)!important;
    margin:0!important;
    white-space:nowrap!important;
    z-index:2!important;
  }

  .site-header .brand{
    position:relative!important;
    z-index:3!important;
    margin-right:auto!important;
    flex:0 0 auto!important;
  }

  .site-header .nav-actions{
    position:relative!important;
    z-index:3!important;
    margin-left:auto!important;
    flex:0 0 auto!important;
  }

  /* Logged-in pages keep the 250px sidebar/brand block,
     but the PUBLIC menu itself still uses the viewport center. */
  body.has-account-sidebar .site-header .main-nav{
    left:50%!important;
    top:50%!important;
    transform:translate(-50%,-50%)!important;
  }

  body.has-account-sidebar .site-header .brand{
    position:absolute!important;
    left:0!important;
    top:0!important;
  }

  body.has-account-sidebar .site-header .nav-actions{
    position:absolute!important;
    right:20px!important;
    top:50%!important;
    transform:translateY(-50%)!important;
  }
}


/* ==========================================================
   V1.12.3.2 — CONTAINED PUBLIC HEADER
   Keep the navigation centered, but return logo/actions closer
   together inside the original StayWelcome content width.
   ========================================================== */
@media (min-width:1051px){

  body:not(.has-account-sidebar) .site-header .nav-wrap{
    width:min(94%,1240px)!important;
    max-width:1240px!important;
    margin:0 auto!important;
    padding:0!important;
    display:grid!important;
    grid-template-columns:1fr auto 1fr!important;
    align-items:center!important;
    position:relative!important;
  }

  body:not(.has-account-sidebar) .site-header .brand{
    position:relative!important;
    left:auto!important;
    top:auto!important;
    justify-self:start!important;
    margin:0!important;
  }

  body:not(.has-account-sidebar) .site-header .main-nav{
    position:relative!important;
    left:auto!important;
    top:auto!important;
    transform:none!important;
    justify-self:center!important;
    margin:0!important;
    white-space:nowrap!important;
  }

  body:not(.has-account-sidebar) .site-header .nav-actions{
    position:relative!important;
    right:auto!important;
    top:auto!important;
    transform:none!important;
    justify-self:end!important;
    margin:0!important;
  }
}

@media (min-width:1051px) and (max-width:1260px){
  body:not(.has-account-sidebar) .site-header .nav-wrap{
    width:96%!important;
  }

  body:not(.has-account-sidebar) .site-header .main-nav{
    gap:10px!important;
    font-size:.74rem!important;
  }

  body:not(.has-account-sidebar) .site-header .nav-actions{
    gap:8px!important;
  }
}

/* ==========================================================
   V1.12.3.3 — PUBLIC HEADER ONE-LINE FIX
   ========================================================== */
@media (min-width:1051px){

  body:not(.has-account-sidebar) .site-header .nav-wrap{
    width:min(94%,1240px)!important;
    max-width:1240px!important;
    min-height:76px!important;
    margin:0 auto!important;
    padding:0!important;
    display:grid!important;
    grid-template-columns:minmax(220px,1fr) auto minmax(220px,1fr)!important;
    align-items:center!important;
    column-gap:22px!important;
  }

  body:not(.has-account-sidebar) .site-header .brand{
    grid-column:1!important;
    justify-self:start!important;
    align-self:center!important;
    position:static!important;
    margin:0!important;
  }

  body:not(.has-account-sidebar) .site-header .main-nav{
    grid-column:2!important;
    justify-self:center!important;
    align-self:center!important;
    position:static!important;
    transform:none!important;
    margin:0!important;
    display:flex!important;
    align-items:center!important;
    gap:18px!important;
    white-space:nowrap!important;
  }

  body:not(.has-account-sidebar) .site-header .nav-actions{
    grid-column:3!important;
    justify-self:end!important;
    align-self:center!important;
    position:static!important;
    transform:none!important;
    margin:0!important;
    display:flex!important;
    align-items:center!important;
    gap:10px!important;
    white-space:nowrap!important;
  }

  body:not(.has-account-sidebar) .site-header .nav-actions .btn{
    margin:0!important;
  }
}

@media (min-width:1051px) and (max-width:1220px){
  body:not(.has-account-sidebar) .site-header .nav-wrap{
    width:96%!important;
    grid-template-columns:minmax(190px,.9fr) auto minmax(190px,.9fr)!important;
    column-gap:14px!important;
  }

  body:not(.has-account-sidebar) .site-header .main-nav{
    gap:12px!important;
    font-size:.72rem!important;
  }

  body:not(.has-account-sidebar) .site-header .nav-actions .btn{
    padding-left:18px!important;
    padding-right:18px!important;
  }
}

/* ==========================================================
   V1.12.3.4 — PUBLIC HEADER CLEAN RESET
   Markup is already correct. This block intentionally resets
   all previous desktop positioning for the public header.
   ========================================================== */
@media (min-width:1051px){

  body:not(.has-account-sidebar) .site-header{
    height:76px!important;
  }

  body:not(.has-account-sidebar) .site-header .nav-wrap{
    width:min(1160px,calc(100% - 48px))!important;
    max-width:1160px!important;
    height:76px!important;
    min-height:76px!important;
    margin:0 auto!important;
    padding:0!important;

    display:grid!important;
    grid-template-columns:auto minmax(0,1fr) auto!important;
    align-items:center!important;
    column-gap:34px!important;

    position:relative!important;
  }

  body:not(.has-account-sidebar) .site-header .brand{
    grid-column:1!important;

    position:static!important;
    inset:auto!important;
    transform:none!important;

    display:flex!important;
    align-items:center!important;
    justify-self:start!important;

    width:auto!important;
    height:auto!important;
    margin:0!important;
    padding:0!important;
  }

  body:not(.has-account-sidebar) .site-header .main-nav{
    grid-column:2!important;

    position:static!important;
    inset:auto!important;
    transform:none!important;

    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    justify-self:stretch!important;

    width:auto!important;
    margin:0!important;
    padding:0!important;
    gap:17px!important;

    white-space:nowrap!important;
  }

  body:not(.has-account-sidebar) .site-header .nav-actions{
    grid-column:3!important;

    position:static!important;
    inset:auto!important;
    transform:none!important;

    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    justify-self:end!important;

    width:auto!important;
    margin:0!important;
    padding:0!important;
    gap:10px!important;

    white-space:nowrap!important;
  }

  body:not(.has-account-sidebar) .site-header .nav-actions .btn{
    margin:0!important;
  }

  body:not(.has-account-sidebar) .header-mobile-tools{
    display:none!important;
  }
}

/* Slight compression before switching to mobile. */
@media (min-width:1051px) and (max-width:1190px){
  body:not(.has-account-sidebar) .site-header .nav-wrap{
    width:calc(100% - 32px)!important;
    column-gap:20px!important;
  }

  body:not(.has-account-sidebar) .site-header .main-nav{
    gap:11px!important;
    font-size:.72rem!important;
  }

  body:not(.has-account-sidebar) .site-header .brand strong{
    font-size:1.28rem!important;
  }

  body:not(.has-account-sidebar) .site-header .nav-actions .btn{
    padding-left:16px!important;
    padding-right:16px!important;
  }
}

/* ==========================================================
   V1.12.3.6 — DASHBOARD CARD GRID FIX
   Host / Professional / Partner
   ========================================================== */

/* Dashboard sections must always occupy the full application width. */
.account-dashboard-content .dash-welcome,
.account-dashboard-content .dash-kpi-grid,
.account-dashboard-content .dash-two-col,
.account-dashboard-content .dash-three-col,
.account-dashboard-content > .dash-panel{
  width:100%!important;
  max-width:1240px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* A panel inside a grid must fill its grid cell.
   Do not let old max-width/margin rules create large empty gaps. */
.account-dashboard-content .dash-kpi-grid > *,
.account-dashboard-content .dash-two-col > *,
.account-dashboard-content .dash-three-col > *{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin:0!important;
  align-self:stretch!important;
}

/* KPI cards: automatic distribution according to how many are present. */
.account-dashboard-content .dash-kpi-grid{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(210px,1fr))!important;
  gap:14px!important;
}

/* Main paired cards: clean 50/50 layout.
   This fixes Tariffa / Prossimo livello and equivalent Host/Partner pairs. */
.account-dashboard-content .dash-two-col{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:16px!important;
  align-items:stretch!important;
}

/* Secondary cards: all equal and no empty pseudo-columns. */
.account-dashboard-content .dash-three-col{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr))!important;
  gap:16px!important;
  align-items:stretch!important;
}

/* Consistent internal card height without forcing giant blank areas. */
.account-dashboard-content .dash-two-col > .dash-panel,
.account-dashboard-content .dash-three-col > .dash-panel{
  height:100%!important;
}

/* Professional dashboard: price and level are visually peer cards. */
.page-dashboard-professionista .dash-two-col > .dash-panel{
  min-height:290px;
}

/* Avoid exaggerated card widths/heights on very large screens. */
@media(min-width:1450px){
  .account-dashboard-content .dash-two-col{
    grid-template-columns:1fr 1fr!important;
  }

  .account-dashboard-content .dash-three-col{
    grid-template-columns:repeat(3,1fr)!important;
  }
}

/* Tablet: two-column KPI/secondary layout, paired blocks can still fit. */
@media(max-width:1100px){
  .account-dashboard-content .dash-kpi-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }

  .account-dashboard-content .dash-three-col{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

/* Mobile: everything becomes one clean vertical stack. */
@media(max-width:720px){
  .account-dashboard-content .dash-kpi-grid,
  .account-dashboard-content .dash-two-col,
  .account-dashboard-content .dash-three-col{
    grid-template-columns:1fr!important;
  }

  .page-dashboard-professionista .dash-two-col > .dash-panel{
    min-height:0;
  }
}


/* ==========================================================
   V1.13.3 — MOBILE CLICK / OVERLAY FIX
   ========================================================== */

/* The hidden overlay must be physically absent from hit-testing. */
.account-side-overlay[hidden]{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
}

.account-side-overlay{
  pointer-events:none!important;
  visibility:hidden!important;
}

/* It becomes interactive only while the account drawer is open. */
.account-side-overlay.visible:not([hidden]){
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  pointer-events:auto!important;
}

@media(max-width:1050px){
  .account-side-overlay{
    position:fixed!important;
    inset:0!important;
    z-index:1290!important;
    background:rgba(3,22,27,.48)!important;
    opacity:0!important;
    pointer-events:none!important;
    visibility:hidden!important;
  }

  .account-side-overlay.visible:not([hidden]){
    opacity:1!important;
    pointer-events:auto!important;
    visibility:visible!important;
  }

  /* Keep both mobile controls above page content. */
  .site-header{
    z-index:1400!important;
  }

  .header-mobile-tools{
    position:relative!important;
    z-index:1401!important;
  }

  .account-sidebar{
    z-index:1450!important;
  }

  .account-side-overlay{
    z-index:1440!important;
  }
}

/* V1.14.1 SuperAdmin cataloghi */
.admin-catalog-row{display:grid;grid-template-columns:120px 1fr 1.5fr 110px 75px 90px 70px;gap:8px;align-items:center;padding:10px 0;border-bottom:1px solid #e6e9e8}
.admin-catalog-row.reward-row{grid-template-columns:110px 130px 1fr 1.5fr 100px 70px 90px 70px}
.admin-catalog-row input,.admin-catalog-row select{width:100%;min-width:0;border:1px solid #d7dedd;border-radius:10px;padding:9px 10px;background:#fff}
.admin-catalog-row label{font-size:12px;display:flex;align-items:center;gap:5px}.admin-catalog-row label input{width:auto}
.admin-product-list>div{display:grid;grid-template-columns:1fr auto;gap:4px 15px;padding:12px 0;border-bottom:1px solid #e6e9e8}.admin-product-list small{grid-column:1;color:#718287}.admin-product-list form{grid-column:2;grid-row:1/3}
.mini-btn.danger{background:#8d3c32;color:#fff;border-color:#8d3c32}
@media(max-width:1100px){.admin-catalog-row,.admin-catalog-row.reward-row{grid-template-columns:1fr 1fr}.admin-catalog-row>*{min-width:0}}


/* ==========================================================
   V1.14.3 — SUPERADMIN CATALOG CONSOLE
   ========================================================== */
.catalog-summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:0 0 18px}
.catalog-summary-card{background:#fff;border:1px solid #e2e7e6;border-radius:18px;padding:18px;display:flex;align-items:center;gap:14px;box-shadow:0 8px 24px rgba(3,54,64,.04)}
.catalog-summary-icon{width:42px;height:42px;border-radius:13px;background:#fff1d9;color:#df8300;display:grid;place-items:center;font-size:18px}
.catalog-summary-card small{display:block;color:#7a8a8e;font-size:11px;text-transform:uppercase;letter-spacing:.08em;font-weight:800}
.catalog-summary-card strong{display:block;font-family:"DM Serif Display",serif;font-size:28px;color:#07323d;line-height:1.05;margin-top:3px}
.catalog-summary-card p{margin:4px 0 0;color:#74858a;font-size:12px}

.catalog-jumpbar{position:sticky;top:72px;z-index:10;display:flex;gap:6px;width:max-content;max-width:100%;padding:6px;background:#fff;border:1px solid #dde4e3;border-radius:999px;margin:0 0 18px;box-shadow:0 8px 26px rgba(3,54,64,.07)}
.catalog-jumpbar a{padding:8px 14px;border-radius:999px;color:#07323d;text-decoration:none;font-size:12px;font-weight:800}
.catalog-jumpbar a:hover{background:#07323d;color:#fff}

.catalog-panel{scroll-margin-top:130px!important;margin-bottom:20px!important}
.catalog-panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:22px}
.catalog-panel-head h2{margin:3px 0 5px;font-family:"DM Serif Display",serif;font-size:30px}
.catalog-panel-head p{margin:0;color:#708287;font-size:13px;line-height:1.45}
.catalog-count{padding:7px 10px;background:#f2f5f4;border-radius:999px;color:#63767b;font-size:11px;font-weight:800;white-space:nowrap}

.catalog-kit-grid,.catalog-reward-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.catalog-edit-card{background:#fff;border:1px solid #dfe5e4;border-radius:18px;padding:18px;position:relative}
.catalog-edit-card.is-inactive{opacity:.65;background:#f8f9f9}
.catalog-new-card{border-style:dashed;background:#fffaf2}
.catalog-card-titlebar{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:16px}
.catalog-card-titlebar h3{font-family:"DM Serif Display",serif;font-size:24px;margin:3px 0 0;color:#07323d}
.catalog-code{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:#d57900;font-weight:850}
.catalog-edit-card label,.catalog-product-card label,.catalog-add-strip label{display:block;font-size:11px;font-weight:800;color:#123943}
.catalog-edit-card input,.catalog-edit-card textarea,.catalog-edit-card select,.catalog-product-card input,.catalog-product-card select,.catalog-add-strip input,.catalog-add-strip select{width:100%;box-sizing:border-box;border:1px solid #d7dfde;border-radius:10px;background:#fff;padding:9px 10px;margin-top:5px;font:inherit;color:#082f39}
.catalog-edit-card textarea{resize:vertical}
.catalog-form-grid{display:grid;gap:10px;margin-bottom:10px}
.catalog-form-grid.two{grid-template-columns:1fr 1fr}
.catalog-edit-card>form>label{margin-bottom:10px}
.catalog-save{width:100%;justify-content:center;margin-top:4px}

.catalog-switch{display:flex!important;align-items:center;gap:7px!important;white-space:nowrap;font-size:10px!important;color:#567077!important}
.catalog-switch input{position:absolute;opacity:0;pointer-events:none}
.catalog-switch span{width:32px;height:18px;background:#c9d2d2;border-radius:999px;position:relative;transition:.2s}
.catalog-switch span:after{content:"";position:absolute;width:14px;height:14px;left:2px;top:2px;border-radius:50%;background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.2);transition:.2s}
.catalog-switch input:checked+span{background:#16845b}
.catalog-switch input:checked+span:after{transform:translateX(14px)}
.catalog-switch.compact b{min-width:48px}
.catalog-check{display:flex!important;align-items:center;gap:7px;margin:8px 0 12px!important}
.catalog-check input{width:auto!important;margin:0!important}

.catalog-product-list{display:grid;gap:9px}
.catalog-product-card{position:relative;border:1px solid #e0e6e5;background:#fff;border-radius:14px;padding:13px 86px 13px 13px}
.catalog-product-card.is-inactive{opacity:.62;background:#f7f8f8}
.catalog-product-form{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:end}
.catalog-product-main{display:grid;grid-template-columns:150px 1.1fr 1.5fr 90px 70px 70px;gap:8px;align-items:end}
.catalog-product-actions{display:flex;align-items:center;gap:10px;padding-bottom:1px}
.catalog-delete-form{position:absolute;right:13px;top:13px}
.catalog-delete-link{border:0;background:none;color:#a33f35;text-decoration:underline;font-size:10px;font-weight:800;cursor:pointer}

.catalog-add-strip{margin-top:16px;background:#fffaf2;border:1px dashed #e2bd7d;border-radius:16px;padding:16px}
.catalog-add-strip h3{margin:3px 0 14px;font-family:"DM Serif Display",serif;font-size:22px}
.catalog-add-product-form{display:grid;grid-template-columns:140px 1fr 1.5fr 80px 70px 70px 90px auto;gap:8px;align-items:end}
.catalog-add-product-form .btn{white-space:nowrap}

.reward-admin-card{min-height:0}

@media(max-width:1250px){
  .catalog-product-main{grid-template-columns:1fr 1fr 1fr}
  .catalog-add-product-form{grid-template-columns:repeat(3,1fr)}
  .catalog-product-actions{align-self:end}
}
@media(max-width:900px){
  .catalog-summary-grid,.catalog-kit-grid,.catalog-reward-grid{grid-template-columns:1fr}
  .catalog-product-card{padding-right:13px}
  .catalog-product-form{grid-template-columns:1fr}
  .catalog-product-main,.catalog-add-product-form{grid-template-columns:1fr 1fr}
  .catalog-delete-form{position:static;margin-top:8px}
  .catalog-jumpbar{position:static;width:100%;box-sizing:border-box}
}
@media(max-width:620px){
  .catalog-form-grid.two,.catalog-product-main,.catalog-add-product-form{grid-template-columns:1fr}
  .catalog-card-titlebar{flex-direction:column}
}

/* ==========================================================
   V1.14.4 — SUPERADMIN POINTS ENGINE
   ========================================================== */
.points-admin-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:0 0 18px}
.points-admin-summary article{background:#fff;border:1px solid #e0e6e5;border-radius:17px;padding:17px}
.points-admin-summary small{display:block;text-transform:uppercase;letter-spacing:.08em;font-size:10px;font-weight:800;color:#bd6f00}
.points-admin-summary strong{display:block;font-family:"DM Serif Display",serif;font-size:30px;color:#07323d;margin:4px 0}
.points-admin-summary p{margin:0;color:#72858a;font-size:12px}
.points-admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.points-control-card{margin:0!important}
.points-control-form{display:grid;gap:12px}
.points-control-form label{font-size:11px;font-weight:800;color:#123943}
.points-control-form input,.points-control-form select{width:100%;box-sizing:border-box;border:1px solid #d7dfde;border-radius:11px;background:#fff;padding:10px 11px;margin-top:5px}
.points-control-form label small{display:block;color:#7e9094;font-weight:500;margin-top:4px}
.points-inline{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.points-control-form .btn{justify-content:center}
.points-rule-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.points-rule-card{border:1px solid #dfe5e4;border-radius:16px;background:#fff;padding:16px}
.points-rule-card.is-off{background:#f7f8f8;opacity:.72}
.points-rule-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}
.points-rule-head h3{font-family:"DM Serif Display",serif;font-size:21px;margin:3px 0 0}
.points-rule-card p{color:#6e8186;line-height:1.4;font-size:12px;min-height:34px}
.points-rule-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0}
.points-rule-fields label{font-size:10px;font-weight:800}
.points-rule-fields input{width:100%;box-sizing:border-box;border:1px solid #d7dfde;border-radius:9px;padding:8px;margin-top:4px}
.points-engine-note{margin-top:14px;padding:12px 14px;border-radius:12px;background:#fff7e8;color:#6e5733;font-size:12px;line-height:1.5}
.points-ledger-table{border:1px solid #e1e6e5;border-radius:14px;overflow:hidden}
.points-ledger-head,.points-ledger-row{display:grid;grid-template-columns:1.2fr 120px 1.4fr 130px;gap:12px;align-items:center;padding:11px 14px}
.points-ledger-head{background:#f1f4f3;font-size:10px;text-transform:uppercase;letter-spacing:.06em;font-weight:800;color:#73868a}
.points-ledger-row{border-top:1px solid #e7ebea;font-size:12px;background:#fff}
.points-ledger-row span:first-child strong,.points-ledger-row span:first-child small{display:block}
.points-ledger-row span:first-child small{color:#849397;margin-top:2px}
.points-ledger-row .plus{color:#17734f}.points-ledger-row .minus{color:#a33f35}
@media(max-width:1050px){.points-admin-grid,.points-rule-grid{grid-template-columns:1fr}.points-admin-summary{grid-template-columns:1fr 1fr 1fr}}
@media(max-width:760px){.points-admin-summary{grid-template-columns:1fr}.points-ledger-head{display:none}.points-ledger-row{grid-template-columns:1fr 100px}.points-ledger-row span:nth-child(3),.points-ledger-row span:nth-child(4){grid-column:1/-1}.points-inline{grid-template-columns:1fr}}

/* V1.14.5 — notifications + two-level catalog */
.admin-notification-list,.admin-order-list,.catalog-simple-list{display:grid;gap:10px}
.admin-notification-card{display:grid;grid-template-columns:10px 1fr;gap:12px;padding:15px;border:1px solid #e0e6e5;border-radius:14px;background:#fff}
.admin-notification-card.is-read{opacity:.62}.notification-dot{width:9px;height:9px;border-radius:50%;background:#f3a128;margin-top:5px}.severity-critical .notification-dot{background:#a73b32}.severity-success .notification-dot{background:#21825c}
.admin-notification-card small{color:#819196}.admin-notification-card h3{margin:3px 0;font-family:"DM Serif Display",serif;font-size:21px}.admin-notification-card p{margin:0;color:#61777c}.notification-actions{display:flex;gap:10px;align-items:center;margin-top:9px}.notification-actions form{margin:0}.text-action{border:0;background:none;text-decoration:underline;color:#5a7075;cursor:pointer}
.admin-order-card{display:grid;grid-template-columns:1fr auto;gap:20px;align-items:center;background:#fff;border:1px solid #e0e6e5;border-radius:15px;padding:15px}.admin-order-card.needs-attention{border-left:4px solid #f3a128}.admin-order-main h3{font-family:"DM Serif Display",serif;font-size:23px;margin:4px 0}.admin-order-main p{margin:0;color:#667b80}.admin-order-status{display:flex;gap:8px}.admin-order-status select{border:1px solid #d6dfde;border-radius:9px;padding:8px}
.catalog-list-panel{margin-bottom:18px!important}.catalog-list-head,.catalog-editor-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:16px}.catalog-list-head h2,.catalog-editor-head h2{font-family:"DM Serif Display",serif;font-size:29px;margin:3px 0}.btn-small{padding:9px 14px!important;font-size:12px!important}
.catalog-simple-row{display:grid;grid-template-columns:minmax(0,1fr) 150px auto;gap:18px;align-items:center;border:1px solid #e1e6e5;border-radius:14px;background:#fff;padding:14px 15px}.catalog-simple-main h3{font-family:"DM Serif Display",serif;font-size:21px;margin:3px 0}.catalog-simple-main p{margin:0;color:#74858a;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.catalog-simple-meta{display:flex;flex-direction:column;align-items:flex-end;gap:5px}.catalog-simple-meta strong{font-size:14px}.state-on,.state-off{font-size:10px;font-weight:800;border-radius:999px;padding:4px 7px}.state-on{background:#e6f5ec;color:#187153}.state-off{background:#edf0f0;color:#7c8b8e}
.catalog-simple-actions{display:flex;gap:7px;align-items:center}.catalog-simple-actions form{margin:0}.mini-btn.ghost{background:#fff!important;color:#07323d!important}.catalog-create-box{margin-top:12px;border:1px dashed #d9b578;border-radius:14px;background:#fffaf2;padding:12px 14px}.catalog-create-box summary{cursor:pointer;font-weight:800;color:#a56000}.compact-top{margin-top:14px}.catalog-editor-panel{margin-bottom:18px!important;border:2px solid #f0c77e!important}.catalog-editor-form{display:grid;gap:11px}.catalog-editor-form label{display:block;font-size:11px;font-weight:800}.catalog-editor-form input,.catalog-editor-form textarea,.catalog-editor-form select{width:100%;box-sizing:border-box;border:1px solid #d7dfde;border-radius:10px;padding:10px;margin-top:5px}.catalog-form-grid.three{grid-template-columns:repeat(3,1fr)}
@media(max-width:900px){.catalog-simple-row{grid-template-columns:1fr}.catalog-simple-meta{align-items:flex-start}.admin-order-card{grid-template-columns:1fr}.catalog-simple-actions{justify-content:flex-start}.catalog-form-grid.three{grid-template-columns:1fr}}
