:root{
  --bg:#070709;
  --card:#101116;
  --card-subtle:#16171f;
  --ink:#ffffff;
  --muted:#e2e8f0;
  --border:rgba(0,212,255,0.22);
  --green:#00ff77;
  --green2:#66ffaa;
  --green-glow:rgba(0,255,119,0.45);
  --green-light:rgba(0,255,119,0.15);
  --orange:#ff7700;
  --orange2:#ffa333;
  --orange-glow:rgba(255,119,0,0.45);
  --blue:#00d4ff;
  --violet:#b829ff;
  --amber:#ffd700;
  --coral:#ff3344;
  --teal:#00e5a3;
  --danger:#ff3344;
  --neon-red:#ff3344;
  --neon-orange:#ff7700;
  --neon-gold:#ffd700;
  --neon-green:#00ff77;
  --neon-cyan:#00d4ff;
  --neon-indigo:#3a55ff;
  --neon-violet:#b829ff;
  --rainbow-gradient: linear-gradient(135deg, #00d4ff 0%, #0077ff 60%, #d4af37 100%);
  --rainbow-gradient-h: linear-gradient(90deg, #00d4ff 0%, #0077ff 100%);
  --shadow:0 16px 40px rgba(0,0,0,0.85), 0 0 25px rgba(0,212,255,0.18);
  --r:20px;
  --topbar-bg:rgba(7,7,9,0.92);
  --bottom-bg:rgba(10,11,15,0.95);
  --lux-gold:#d4af37;
  --lux-gold-light:#fff2b2;
  --lux-gold-dark:#996515;
  --lux-black:#070709;
  --lux-black-surface:#101116;
  --lux-white:#ffffff;
  --gold-primary:#d4af37;
  --gold-light:#fff2b2;
  --gold-border:rgba(212,175,55,0.25);
  --bg-card:#101116;
  --text-muted:#cbd5e1;
}

@media(prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --bg:#06070a;
    --card:rgba(12,15,24,0.85);
    --card-subtle:#121624;
    --ink:#ffffff;
    --muted:#e2e8f0;
    --border:rgba(255,255,255,0.14);
    --green:#00ff77;
    --green2:#66ffaa;
    --green-glow:rgba(0,255,119,0.45);
    --orange:#ff7700;
    --orange2:#ffa333;
    --orange-glow:rgba(255,119,0,0.45);
    --blue:#00d4ff;
    --shadow:0 16px 44px rgba(0,0,0,0.9), 0 0 25px rgba(0,212,255,0.2);
    --topbar-bg:rgba(6,7,10,0.92);
    --bottom-bg:rgba(8,10,15,0.96);
  }
}

[data-theme="dark"], [data-theme="light"]{
  --bg:#06070a;
  --card:rgba(12,15,24,0.85);
  --card-subtle:#121624;
  --ink:#ffffff;
  --muted:#e2e8f0;
  --border:rgba(255,255,255,0.14);
  --green:#00ff77;
  --green2:#66ffaa;
  --green-glow:rgba(0,255,119,0.45);
  --orange:#ff7700;
  --orange2:#ffa333;
  --orange-glow:rgba(255,119,0,0.45);
  --blue:#00d4ff;
  --shadow:0 16px 44px rgba(0,0,0,0.9), 0 0 25px rgba(0,212,255,0.2);
  --topbar-bg:rgba(6,7,10,0.92);
  --bottom-bg:rgba(8,10,15,0.96);
}

*{box-sizing:border-box}
html{font-size:17px;color-scheme:light dark;overflow-x:clip!important;max-width:100vw!important;width:100%!important;}
body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;padding-bottom:88px;overflow-x:clip!important;max-width:100vw!important;width:100%!important;transition:background-color .2s ease,color .2s ease}
a{color:inherit;text-decoration:none}
.topbar{position:sticky;top:0;z-index:90;display:flex;align-items:center;justify-content:space-between;padding:12px 20px;background:var(--topbar-bg);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-bottom:1px solid var(--border);transition:padding .2s ease}
@media(min-width:1024px){.topbar{padding:14px 40px}}
.brand{display:flex;gap:10px;align-items:center}
.brand-mark{width:42px;height:42px;border-radius:15px;background:linear-gradient(135deg,var(--green),var(--orange2));color:#fff;display:grid;place-items:center;font-weight:900;letter-spacing:-1px;box-shadow:var(--shadow)}
.brand b{display:block;font-size:.95rem;color:#fff;font-weight:800;}
.brand small{display:block;color:#e2e8f0;font-size:.78rem;font-weight:600;letter-spacing:.03em;}
.avatar{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--rainbow-gradient);color:#ffffff;text-shadow:0 1px 3px rgba(0,0,0,0.9);font-weight:900;box-shadow:0 0 14px rgba(0,212,255,0.4)}
/* Container Page Widescreen 16:9 / Mobile 9:16 */
.page, .container-169 {
  width: 100%;
  max-width: 1520px;
  margin: auto;
  padding: 14px;
}
@media(min-width:1024px){
  .page, .container-169 {
    padding: 24px 36px;
    width: min(1560px, 94vw);
  }
}
@media(max-width:767px){
  .page, .container-169 {
    padding: 10px 12px 92px;
    max-width: 100%;
  }
}

/* NATIVE RESPONSIVE GRID (PC/TABLET 16:9 & MOBILE 9:16) */
.row {
  display: flex;
  flex-wrap: wrap;
  margin-right: -12px;
  margin-left: -12px;
}
@media(max-width:767px){
  .row {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
  .row > * {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
}
.row > * {
  box-sizing: border-box;
  padding-right: 12px;
  padding-left: 12px;
  width: 100%;
}
.g-2 { margin-right: -6px; margin-left: -6px; }
.g-2 > * { padding-right: 6px; padding-left: 6px; }
.g-3 { margin-right: -10px; margin-left: -10px; }
.g-3 > * { padding-right: 10px; padding-left: 10px; }
.g-4 { margin-right: -16px; margin-left: -16px; }
.g-4 > * { padding-right: 16px; padding-left: 16px; }

.align-items-center { align-items: center !important; }
.align-items-start { align-items: flex-start !important; }
.justify-content-center { justify-content: center !important; }
.justify-content-between { justify-content: space-between !important; }
.text-center { text-align: center !important; }
.text-start { text-align: left !important; }
.text-end { text-align: right !important; }

@media (min-width: 768px) {
  .col-md-4 { width: 33.333333% !important; flex: 0 0 33.333333% !important; }
  .col-md-6 { width: 50% !important; flex: 0 0 50% !important; }
  .col-md-8 { width: 66.666667% !important; flex: 0 0 66.666667% !important; }
  .col-md-12 { width: 100% !important; flex: 0 0 100% !important; }
}

@media (min-width: 992px) {
  .col-lg-3 { width: 25% !important; flex: 0 0 25% !important; }
  .col-lg-4 { width: 33.333333% !important; flex: 0 0 33.333333% !important; }
  .col-lg-5 { width: 41.666667% !important; flex: 0 0 41.666667% !important; }
  .col-lg-6 { width: 50% !important; flex: 0 0 50% !important; }
  .col-lg-7 { width: 58.333333% !important; flex: 0 0 58.333333% !important; }
  .col-lg-8 { width: 66.666667% !important; flex: 0 0 66.666667% !important; }
  .col-lg-9 { width: 75% !important; flex: 0 0 75% !important; }
  .col-lg-12 { width: 100% !important; flex: 0 0 100% !important; }
  .d-lg-block { display: block !important; }
  .d-lg-flex { display: flex !important; }
}

@media (max-width: 991px) {
  .d-none.d-lg-block { display: none !important; }
}
.btn{display:inline-flex;justify-content:center;align-items:center;min-height:50px;padding:0 20px;border-radius:16px;border:1px solid rgba(0,212,255,0.25);background:#101116;color:#ffffff;font-weight:800;cursor:pointer;text-decoration:none;transition:all .25s ease}.btn.primary{background:linear-gradient(135deg,#00f0ff 0%,#0077ff 100%)!important;color:#070a12!important;text-shadow:none!important;font-weight:850!important;border:1px solid rgba(0,212,255,0.4)!important;box-shadow:0 4px 18px rgba(0,212,255,0.3)!important}.btn.primary:hover{box-shadow:0 6px 26px rgba(0,212,255,0.5)!important;transform:translateY(-2px)}.btn.small{min-height:42px;padding:0 14px}.btn:disabled{opacity:.5}
.bubble-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.bubble{aspect-ratio:1.25;border-radius:32% 68% 52% 48%/55% 43% 57% 45%;padding:20px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;background:#101116;border:1px solid var(--border);box-shadow:var(--shadow);animation:float 7s ease-in-out infinite;text-decoration:none;color:#ffffff}.bubble:nth-child(2n){animation-delay:-2.3s}.bubble b{font-size:2rem;color:var(--gold-primary)}.bubble span{font-weight:850;margin-top:8px;color:#ffffff}
.bubble.green{border-color:#00ff77!important;box-shadow:0 0 25px rgba(0,255,119,0.35)!important;color:#fff!important}.bubble.green b{color:#00ff77!important}
.bubble.blue{border-color:#00d4ff!important;box-shadow:0 0 25px rgba(0,212,255,0.35)!important;color:#fff!important}.bubble.blue b{color:#00d4ff!important}
.bubble.violet{border-color:#b829ff!important;box-shadow:0 0 25px rgba(184,41,255,0.35)!important;color:#fff!important}.bubble.violet b{color:#b829ff!important}
.bubble.amber{border-color:#ffd700!important;box-shadow:0 0 25px rgba(255,215,0,0.35)!important;color:#fff!important}.bubble.amber b{color:#ffd700!important}
.bubble.coral{border-color:#ff3344!important;box-shadow:0 0 25px rgba(255,51,68,0.35)!important;color:#fff!important}.bubble.coral b{color:#ff3344!important}
.bubble.teal{border-color:#00e5a3!important;box-shadow:0 0 25px rgba(0,229,163,0.35)!important;color:#fff!important}.bubble.teal b{color:#00e5a3!important}
@keyframes float{50%{transform:translateY(-5px) rotate(.7deg)}}
.quick-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:14px 0}.quick{min-height:118px;border-radius:22px;padding:16px;background:#101116;border:1px solid var(--border);box-shadow:var(--shadow);display:flex;flex-direction:column;justify-content:space-between;font-weight:850;color:#ffffff;text-decoration:none}.quick b{font-size:1.8rem;color:var(--gold-primary)}
.quick.green{border-top:3px solid #00ff77!important;border-color:rgba(0,255,119,0.3)!important}.quick.green b{color:#00ff77!important}
.quick.blue{border-top:3px solid #00d4ff!important;border-color:rgba(0,212,255,0.3)!important}.quick.blue b{color:#00d4ff!important}
.quick.violet{border-top:3px solid #b829ff!important;border-color:rgba(184,41,255,0.3)!important}.quick.violet b{color:#b829ff!important}
.quick.amber{border-top:3px solid #ffd700!important;border-color:rgba(255,215,0,0.3)!important}.quick.amber b{color:#ffd700!important}
.quick.coral{border-top:3px solid #ff7700!important;border-color:rgba(255,119,0,0.3)!important}.quick.coral b{color:#ff7700!important}
.quick.teal{border-top:3px solid #00e5a3!important;border-color:rgba(0,229,163,0.3)!important}.quick.teal b{color:#00e5a3!important}
.card,.auth-card,.profile-card{background:var(--card);border:1px solid var(--border);border-radius:var(--r);padding:22px;margin:14px 0;box-shadow:var(--shadow)}.auth-card{margin-top:8vh}.stack{display:grid;gap:14px}.stack label{display:grid;gap:7px;font-weight:750;color:#ffffff}.stack input,.stack select,.stack textarea,.network-tools input,.network-tools select{width:100%;font:inherit;border:1px solid var(--border);background:#16171f;border-radius:15px;padding:14px 15px;color:#ffffff}.stack label small{color:var(--muted);font-weight:500}.error{background:#16171f;color:#d4af37;border:1px solid rgba(212,175,55,0.4);padding:12px;border-radius:13px}.success{background:#16171f;color:#ffffff;border:1px solid rgba(212,175,55,0.4);padding:15px;border-radius:15px}.recovery-code{font-family:ui-monospace,monospace;font-size:1.25rem;font-weight:900;letter-spacing:.07em;background:#16171f;border:1px solid var(--border);color:var(--gold-primary);padding:18px;border-radius:16px;text-align:center;margin:14px 0}.text-link{display:block;margin-top:20px;text-align:center;color:var(--green);font-weight:800}
.welcome,.section-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;padding:14px 3px}.welcome h1,.section-head h1{font-size:2.2rem;color:#ffffff}.muted{color:var(--muted)}.drx-chip{background:#16171f;color:#d4af37;border:1px solid rgba(212,175,55,0.3);padding:11px 14px;border-radius:999px;font-weight:900}.sobriety-card{background:linear-gradient(145deg,#181b22,#0a0b0e);border:1px solid rgba(212,175,55,0.3);color:white;border-radius:30px;padding:24px;box-shadow:var(--shadow)}.sobriety-card span,.sobriety-card small{display:block;opacity:.9}.sobriety-card strong{font-size:5rem;line-height:1;letter-spacing:-.08em;color:var(--gold-primary)}.mini-row{display:flex;justify-content:space-between;gap:12px;margin-top:18px;font-size:.8rem}
.quick-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:14px 0}.quick{min-height:118px;border-radius:22px;padding:16px;background:#101116;border:1px solid var(--border);box-shadow:var(--shadow);display:flex;flex-direction:column;justify-content:space-between;font-weight:850;color:#ffffff;text-decoration:none}.quick b{font-size:1.8rem;color:var(--gold-primary)}.quick.green,.quick.blue,.quick.violet,.quick.amber,.quick.coral,.quick.teal{background:#101116;border-color:var(--border)}
.bottom-nav{position:fixed;z-index:70;bottom:0;left:50%;transform:translateX(-50%);width:min(760px,100%);height:76px;padding:9px 14px max(9px,env(safe-area-inset-bottom));background:rgba(10,11,15,0.96);backdrop-filter:blur(20px);border-top:1px solid var(--border);display:grid;grid-template-columns:repeat(5,1fr)}.bottom-nav a{display:flex;flex-direction:column;align-items:center;justify-content:center;font-weight:800;font-size:1.05rem;color:var(--muted);text-decoration:none}.bottom-nav a:hover,.bottom-nav a.active{color:var(--gold-primary)}.bottom-nav span{font-size:.63rem;margin-top:2px}.bottom-nav .nav-plus{color:var(--green);font-size:1.5rem}
.metric-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.metric{background:#101116;border:1px solid var(--border);padding:18px;border-radius:20px;box-shadow:var(--shadow)}.metric b{display:block;font-size:1.6rem;color:var(--gold-primary)}.metric span{color:var(--muted);font-size:.8rem}.warning-soft{background:#16171f;border:1px solid #d4af37;color:#fff}.danger-soft{background:#16171f;border:1px solid #d4af37;color:#fff}.menu-list{background:#101116;border:1px solid var(--border);border-radius:22px;overflow:hidden;box-shadow:var(--shadow);margin:14px 0}.menu-list a{display:flex;align-items:center;justify-content:space-between;padding:17px;border-bottom:1px solid rgba(255,255,255,0.06);font-weight:750;color:#ffffff;text-decoration:none}.menu-list a:last-child{border:0}
.segmented{display:flex;background:#16171f;border:1px solid var(--border);border-radius:12px;padding:3px}.segmented button{border:0;background:transparent;padding:8px 12px;border-radius:10px;font-weight:800;color:var(--muted)}.segmented .active{background:var(--card);color:var(--gold-primary)}
.course-list,.event-list,.topic-list{display:grid;gap:10px}.course,.event-card,.topic{background:#101116;border:1px solid var(--border);border-radius:20px;padding:18px;box-shadow:var(--shadow);color:#ffffff}.course-cat,.pill{display:inline-block;padding:5px 9px;border-radius:999px;background:rgba(212,175,55,0.15);border:1px solid var(--border);color:var(--gold-primary);font-size:.65rem;font-weight:900}.course-foot{display:flex;justify-content:space-between;color:var(--muted);font-size:.75rem}.event-card{display:flex;gap:14px}.event-icon{font-size:2rem;color:var(--gold-primary)}.topic .vote{background:rgba(212,175,55,0.12);border:1px solid var(--border);color:var(--gold-primary)}.topic h3{margin:.6rem 0;color:#ffffff}
.wheel{background:#101116;border:1px solid var(--border);border-radius:24px;padding:20px;box-shadow:var(--shadow);color:#ffffff}.wheel-row{display:grid;grid-template-columns:100px 1fr 24px;gap:10px;align-items:center;margin:13px 0;font-size:.84rem}.bar{height:10px;background:#16171f;border-radius:99px;overflow:hidden}.bar i{display:block;height:100%;background:var(--rainbow-gradient-h);border-radius:99px;box-shadow:0 0 10px rgba(0,212,255,0.5)}
.cortex-head{text-align:center;padding:28px 10px}.cortex-orb{width:82px;height:82px;margin:auto;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 35% 30%,#00d4ff,#b829ff 50%,#070709 95%);color:#ffffff;font-size:2rem;box-shadow:0 18px 60px rgba(0,212,255,.4), 0 0 30px rgba(184,41,255,0.4)}.cortex-head h1{font-size:2rem}.prompt-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.prompt-grid button{background:#101116;border:1px solid var(--border);border-radius:18px;padding:16px;text-align:left;font:inherit;font-weight:800;box-shadow:var(--shadow);color:#ffffff}.chat-shell{margin-top:12px;background:#101116;border:1px solid var(--border);border-radius:24px;box-shadow:var(--shadow);overflow:hidden}.chat-shell #chatMessages{min-height:220px;padding:18px}.msg{max-width:86%;padding:12px 14px;border-radius:16px;margin-bottom:10px}.msg.ai{background:#16171f;border:1px solid var(--border);color:#ffffff}.msg.user{margin-left:auto;background:linear-gradient(135deg,var(--neon-cyan),var(--neon-indigo));color:#070709;font-weight:700}.chat-shell form{display:flex;border-top:1px solid var(--border)}.chat-shell input{flex:1;border:0;padding:16px;font:inherit;outline:0;background:transparent;color:#ffffff}.chat-shell button{width:58px;border:0;background:var(--green);color:#070709;font-size:1.3rem}
.doc-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.doc-btn{border:1px solid var(--border);background:#101116;min-height:112px;border-radius:20px;box-shadow:var(--shadow);font:inherit;font-size:1.5rem;color:var(--gold-primary)}.doc-btn span{display:block;font-size:.8rem;font-weight:850;margin-top:7px;color:#ffffff}.wallet-card{background:linear-gradient(145deg,#181b22,#0a0b0e);border:1px solid rgba(212,175,55,0.3);color:white;padding:28px;border-radius:28px}.wallet-card span,.wallet-card small{display:block;opacity:.8}.wallet-card strong{display:block;font-size:3.5rem;letter-spacing:-.06em;color:var(--gold-primary)}.profile-card{text-align:center}.profile-avatar{width:80px;height:80px;margin:auto;border-radius:50%;display:grid;place-items:center;background:linear-gradient(140deg,#D4AF37,#AA771C);color:#070709;font-size:2rem;font-weight:900}.tag-row{display:flex;justify-content:center;gap:6px;flex-wrap:wrap}
.toast{position:fixed;left:50%;bottom:92px;transform:translateX(-50%);background:#101116;border:1px solid var(--border);color:#fff;padding:12px 16px;border-radius:14px;z-index:100;box-shadow:var(--shadow);max-width:90%;text-align:center}
@media(min-width:640px){.bubble-grid,.quick-grid{grid-template-columns:repeat(3,1fr)}.metric-grid{grid-template-columns:repeat(4,1fr)}}@media(max-width:480px){html{font-size:16px}.network-tools{grid-template-columns:1fr}.section-head{align-items:flex-end}}

/* OLTRE V2 */
.brand-mark{overflow:hidden;background:#070709;border:1px solid rgba(212,175,55,0.3)}
.brand-mark img{width:100%;height:100%;object-fit:cover}
.login-pill{padding:10px 14px;border-radius:999px;background:rgba(212,175,55,0.12);border:1px solid rgba(212,175,55,0.35);color:#FFF2B2;font-weight:900}
.oltre-hero{position:relative;overflow:hidden;background:
 radial-gradient(circle at 90% 12%,rgba(212,175,55,.15),transparent 30%),
 radial-gradient(circle at 20% 20%,rgba(212,175,55,.10),transparent 36%),
 linear-gradient(180deg,#101116,#070709);border:1px solid rgba(212,175,55,0.25);border-radius:32px;padding:26px 22px;margin-top:8px;box-shadow:var(--shadow)}
.hero-logo{max-width:390px;margin-bottom:12px}
.hero-logo img{width:100%;height:auto;display:block}
.payoff-card{margin-top:20px;padding:16px;border-radius:20px;background:#101116;border:1px solid rgba(212,175,55,0.3);color:#fff}
.payoff-card b{display:block;color:var(--orange2);letter-spacing:.12em}.payoff-card span{display:block;margin-top:5px;font-size:.88rem;opacity:.92}
.visual-band{display:grid;grid-template-columns:auto 1fr auto 1fr auto 1fr auto;align-items:center;margin:18px 0;padding:18px;background:#101116;border:1px solid rgba(212,175,55,0.2);border-radius:24px;box-shadow:var(--shadow);gap:8px}
.visual-band div{text-align:center}.visual-band b{display:block;font-size:2.1rem;color:var(--orange2)}.visual-band span{font-weight:900;font-size:.7rem}.visual-band i{height:3px;background:linear-gradient(90deg,var(--green),var(--orange2));border-radius:99px}
.home-modules{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:14px 0}.home-modules article{background:#101116;border:1px solid rgba(212,175,55,0.18);border-radius:22px;padding:18px;box-shadow:var(--shadow)}.home-modules b{display:block;font-size:1rem}.home-modules p{font-size:.82rem;color:var(--muted)}
.site-footer{width:100%;margin:0;box-sizing:border-box}
.brand-panel img{width:min(100%,520px);display:block;margin-bottom:16px}
.method-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.method-grid div{background:#101116;border:1px solid rgba(212,175,55,0.2);border-radius:22px;padding:18px;box-shadow:var(--shadow)}.method-grid b{width:46px;height:46px;border-radius:16px;background:linear-gradient(135deg,#D4AF37,#996515);display:grid;place-items:center;color:#070709;font-size:1.5rem}.method-grid span{display:block;font-weight:900;margin-top:10px}.method-grid p{color:#a1a1aa;font-size:.83rem}
.policy-list p{padding:14px;border-radius:16px;background:#101116;border:1px solid rgba(212,175,55,0.2);margin:8px 0}.rank-road{display:grid;gap:10px}.rank-step{display:flex;justify-content:space-between;align-items:center;background:#101116;border:1px solid rgba(212,175,55,0.2);border-radius:18px;padding:16px;box-shadow:var(--shadow);border-left:7px solid #D4AF37}.rank-step b{font-size:1.1rem}.rank-step span{font-weight:900;color:#D4AF37}.leader-row{display:grid;grid-template-columns:42px 1fr auto;gap:10px;padding:14px;border-bottom:1px solid rgba(212,175,55,0.15);align-items:center}.leader-row b{background:#101116;border:1px solid rgba(212,175,55,0.3);color:#D4AF37;border-radius:12px;width:34px;height:34px;display:grid;place-items:center}.leader-row em{font-style:normal;font-weight:900;color:#D4AF37}
@media(max-width:520px){.home-modules,.method-grid{grid-template-columns:1fr}.visual-band{grid-template-columns:1fr;}.visual-band i{height:24px;width:3px;margin:auto}}

.mood-row{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.mood-row button{border:0;background:#f2f7fb;border-radius:18px;padding:16px;font-size:1.8rem}

/* DEPENDEX WORLD EXPLORER */
.dx-map-card{background:#06111f;color:#eaf5ff;border-radius:30px;padding:16px;margin:14px 0;box-shadow:0 24px 70px rgba(2,8,17,.28)}.dx-map-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.dx-map-head h2{font-size:clamp(1.7rem,5vw,2.8rem);margin:.2rem 0}.dx-map-head p{color:#91aabd}.dx-map-toolbar{display:grid;grid-template-columns:2fr repeat(3,1fr);gap:8px;margin:12px 0}.dx-map-toolbar input,.dx-map-toolbar select{background:#0b1c2d;color:#eaf5ff;border:1px solid #17334a;border-radius:14px;padding:12px;font:inherit}.dx-map-stage{position:relative;border-radius:22px;overflow:hidden;border:1px solid #17334a;min-height:420px}.dx-map-stage canvas{width:100%;height:100%;display:block;touch-action:none;cursor:grab}.dx-map-controls{position:absolute;right:10px;bottom:10px;display:flex;flex-direction:column;gap:6px}.dx-map-controls button{width:38px;height:38px;border-radius:50%;border:1px solid #1d4b69;background:#071827;color:#fff;font-size:1.2rem}.dx-map-hint{position:absolute;left:12px;bottom:10px;color:#7290a4;font-size:.72rem}.dx-legend{display:flex;flex-wrap:wrap;gap:12px;padding:12px 4px;font-size:.72rem;color:#9bb2c3}.dx-legend i{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--c);margin-right:5px}.dx-club-card{background:#101116;border:1px solid rgba(212,175,55,0.25);color:#FFFFFF;border-radius:22px;padding:18px;margin-top:10px}
.dx-card-top{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.dx-rank{padding:6px 9px;border-radius:999px;background:rgba(212,175,55,0.15);border:1px solid #D4AF37;color:#FFF2B2;font-size:.68rem;font-weight:900}.dx-sic{font-family:ui-monospace,monospace;margin:8px 0 14px;font-weight:900;color:#D4AF37}.dx-card-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.dx-card-grid div{background:#16171f;border:1px solid rgba(212,175,55,0.15);border-radius:14px;padding:11px}.dx-card-grid small{display:block;color:#a1a1aa}.dx-card-grid strong{font-size:.82rem;word-break:break-word;color:#FFFFFF}.dx-card-actions{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}.dx-card-actions a,.dx-card-actions button{border:0;border-radius:12px;padding:10px 12px;background:#D4AF37;color:#070709;font-weight:800}.geo-note{margin-top:10px;padding:10px;border-radius:12px;background:#16171f;border:1px solid rgba(212,175,55,0.3);color:#FFF2B2;font-size:.75rem}@media(max-width:760px){.dx-map-toolbar{grid-template-columns:1fr 1fr}.dx-map-toolbar input{grid-column:1/-1}.dx-card-grid{grid-template-columns:1fr}.dx-map-card{margin-left:-8px;margin-right:-8px;border-radius:22px}.dx-map-head{display:block}}

.progress{height:9px;background:#16171f;border:1px solid rgba(212,175,55,0.2);border-radius:99px;overflow:hidden;margin:12px 0}.progress i{display:block;height:100%;background:linear-gradient(90deg,#D4AF37,#FFF2B2)}.vote-row{display:flex;gap:8px;flex-wrap:wrap}.print-doc{max-width:760px;margin:auto}.muted{color:var(--muted)}

.big-number{font-size:3.5rem;font-weight:900;letter-spacing:-.06em;margin:.3rem 0}

.header-actions{display:flex;align-items:center;gap:8px}.lang-select{border:1px solid rgba(212,175,55,0.3);background:#101116;border-radius:999px;padding:8px 9px;font-weight:800;color:#FFF2B2}
.table-scroll{overflow:auto}.data-table{width:100%;border-collapse:collapse;min-width:720px}.data-table th,.data-table td{padding:12px;border-bottom:1px solid rgba(212,175,55,0.15);text-align:left;font-size:.82rem}.data-table th{position:sticky;top:0;background:#101116;color:#a1a1aa;text-transform:uppercase;letter-spacing:.06em;font-size:.68rem}

.table-wrap{overflow:auto}.table-wrap table{width:100%;border-collapse:collapse}.table-wrap th,.table-wrap td{padding:11px;border-bottom:1px solid rgba(212,175,55,0.15);text-align:left;font-size:.82rem}.table-wrap th{font-weight:900;color:#a1a1aa}

.ncke-result{margin-top:18px}.ncke-result .course{margin-top:10px}.ncke-result p{line-height:1.55}

.public-map-home{padding:14px;overflow:hidden}
.map-home-actions{display:flex;gap:10px;flex-wrap:wrap;margin:10px 0 14px}
.map-preview-shell{border-radius:22px;overflow:hidden;border:1px solid rgba(212,175,55,0.25);background:#070709;min-height:520px}
.map-preview-shell iframe{display:block;width:100%;height:520px;border:0;background:#070709}
.public-badge{display:inline-flex;padding:7px 10px;border-radius:999px;background:rgba(212,175,55,0.15);color:#D4AF37;border:1px solid rgba(212,175,55,0.3);font-size:.72rem;font-weight:900;letter-spacing:.08em;margin-bottom:8px}
@media(max-width:640px){.map-preview-shell,.map-preview-shell iframe{height:470px;min-height:470px}}

.register-pill{padding:10px 14px;border-radius:999px;background:linear-gradient(135deg, #FFF2B2, #D4AF37);color:#070709;font-weight:900}
.public-nav{display:flex;gap:10px;align-items:center}.public-nav a{font-size:.82rem;font-weight:800;color:#d1d5db}
.check-row{display:flex!important;gap:10px;align-items:flex-start}.check-row input{width:auto!important;margin-top:4px}
.recovery-box{padding:18px;border-radius:18px;background:#101116;border:1px solid rgba(212,175,55,0.3);color:#fff;text-align:center;font-size:1.25rem;letter-spacing:.12em;margin:14px 0}
.auth-switch{text-align:center;margin-top:14px}.detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.detail-grid div{padding:14px;background:#101116;border:1px solid rgba(212,175,55,0.2);border-radius:16px}.detail-grid small{display:block;color:#a1a1aa}.detail-grid b{display:block;margin-top:4px;word-break:break-word}
@media(max-width:760px){.public-nav{display:none}.detail-grid{grid-template-columns:1fr}.register-pill,.login-pill{padding:9px 10px;font-size:.78rem}}

/* ACCESSIBILITY & SKIP LINK */
.skip-link{position:absolute;top:-999px;left:14px;background:var(--ink);color:var(--bg);padding:10px 16px;border-radius:12px;z-index:9999;font-weight:800}
.skip-link:focus{top:12px}

/* EMIL KOWALSKI MICRO-INTERACTIONS & TABULAR NUMS */
.tabular-nums,.sobriety-card strong,.drx-chip,.big-number,.recovery-code{font-variant-numeric:tabular-nums}
.btn,.quick,.doc-btn,.prompt-grid button,.pwa-install-btn,.theme-toggle{transition:transform .12s cubic-bezier(.16,1,.3,1),box-shadow .15s ease,background-color .2s ease}
.btn:active,.quick:active,.doc-btn:active,.prompt-grid button:active,.pwa-install-btn:active{transform:scale(.97)}

/* DARK MODE OVERRIDES */
[data-theme="dark"] .topbar{background:var(--topbar-bg);border-color:var(--border)}
[data-theme="dark"] .bottom-nav{background:var(--bottom-bg);border-color:var(--border)}
[data-theme="dark"] .card,[data-theme="dark"] .quick,[data-theme="dark"] .metric,[data-theme="dark"] .course,[data-theme="dark"] .event-card,[data-theme="dark"] .topic,[data-theme="dark"] .menu-list,[data-theme="dark"] .chat-shell,[data-theme="dark"] .doc-btn,[data-theme="dark"] .home-modules article,[data-theme="dark"] .method-grid div,[data-theme="dark"] .rank-step,[data-theme="dark"] .visual-band{background:var(--card);color:var(--ink);box-shadow:var(--shadow)}
[data-theme="dark"] .stack input,[data-theme="dark"] .stack select,[data-theme="dark"] .stack textarea,[data-theme="dark"] .network-tools input,[data-theme="dark"] .network-tools select{background:var(--card-subtle);border-color:var(--border);color:var(--ink)}
[data-theme="dark"] .btn{background:var(--card-subtle);border-color:var(--border);color:var(--ink)}
[data-theme="dark"] .btn.primary{background:var(--green);border-color:var(--green);color:#fff}
[data-theme="dark"] .data-table th{background:var(--card);color:var(--muted)}
[data-theme="dark"] .data-table td{border-color:var(--border)}
[data-theme="dark"] .lang-select{background:var(--card-subtle);border-color:var(--border);color:var(--ink)}
[data-theme="dark"] .node-card{background:rgba(16,17,22,.97);border:1px solid rgba(212,175,55,0.3);color:var(--ink)}
[data-theme="dark"] .network-stage{background:radial-gradient(circle at 50% 40%,#101116,#070709);border-color:var(--border)}
[data-theme="dark"] .msg.ai{background:var(--card-subtle);color:var(--ink)}
[data-theme="dark"] .msg.user{background:var(--green);color:#fff}
[data-theme="dark"] .policy-list p,[data-theme="dark"] .detail-grid div{background:var(--card-subtle);color:var(--ink)}
[data-theme="dark"] .oltre-hero{background:radial-gradient(circle at 90% 12%,rgba(212,175,55,.18),transparent 35%),radial-gradient(circle at 20% 20%,rgba(212,175,55,.12),transparent 40%),linear-gradient(180deg,#101116,#070709);color:var(--ink)}

/* PWA INSTALL BANNER */
.pwa-banner{display:flex;align-items:center;justify-content:space-between;gap:14px;background:linear-gradient(135deg,#101116,#070709);border:1px solid rgba(212,175,55,0.3);color:#fff;border-radius:20px;padding:16px 20px;margin:12px 0 16px;box-shadow:var(--shadow)}
.pwa-banner-text b{display:block;font-size:1rem;color:#e2f0fd}
.pwa-banner-text small{color:#94b8db;font-size:.8rem}
.pwa-install-btn{background:var(--green);color:#fff;border:0;border-radius:14px;padding:10px 18px;font-weight:800;cursor:pointer;white-space:nowrap}
.pwa-close-btn{background:transparent;border:0;color:#94b8db;font-size:1.4rem;cursor:pointer;line-height:1}

/* OFFLINE STATUS PILL */
.offline-pill{display:none;align-items:center;gap:8px;background:#16171f;color:#D4AF37;border:1px solid #D4AF37;padding:8px 14px;border-radius:999px;font-size:.78rem;font-weight:800;margin-bottom:10px;text-align:center;justify-content:center}
body.is-offline .offline-pill{display:flex}

/* DAILY STREAK & MILESTONE HERO */
.sobriety-hero{background:linear-gradient(145deg,#181b22,#0a0b0e 50%,#14151a);border:1px solid rgba(212,175,55,0.3);color:#fff;border-radius:28px;padding:26px 22px;box-shadow:var(--shadow);position:relative;overflow:hidden}
.sobriety-hero:after{content:"";position:absolute;right:-30px;top:-30px;width:150px;height:150px;background:radial-gradient(circle,rgba(255,255,255,.12),transparent 70%);border-radius:50%}
.sobriety-days-row{display:flex;align-items:baseline;gap:8px;margin:8px 0}
.sobriety-days-row strong{font-size:clamp(3.5rem,12vw,5.5rem);line-height:.95;letter-spacing:-.06em;font-weight:900}
.sobriety-days-row span{font-size:1.15rem;font-weight:750;opacity:.92}
.milestone-box{background:rgba(0,0,0,.22);border-radius:18px;padding:14px 16px;margin-top:16px;border:1px solid rgba(255,255,255,.12)}
.milestone-head{display:flex;justify-content:space-between;align-items:center;font-size:.82rem;font-weight:800;margin-bottom:8px}
.milestone-track{height:8px;background:rgba(255,255,255,.2);border-radius:999px;overflow:hidden}
.milestone-fill{height:100%;background:linear-gradient(90deg,#D4AF37,#FFF2B2);border-radius:999px;transition:width .4s ease}

/* QUICK 1-TAP CHECK-IN WIDGET */
.quick-checkin-card{background:var(--card);border-radius:24px;padding:22px;margin:14px 0;box-shadow:var(--shadow);border:2px solid var(--green-glow)}
.quick-checkin-card.completed{border-color:transparent;opacity:.9}
.checkin-row{display:grid;gap:12px;margin:14px 0}
.checkin-item{display:flex;flex-direction:column;gap:5px}
.checkin-item-header{display:flex;justify-content:space-between;font-size:.84rem;font-weight:800}
.checkin-slider{width:100%;accent-color:var(--green);height:6px;cursor:pointer}

/* DAILY REFLECTION CARD */
.reflection-card{background:radial-gradient(circle at 95% 10%,rgba(212,175,55,.08),transparent 40%),var(--card);border-radius:24px;padding:22px;margin:14px 0;box-shadow:var(--shadow);border-left:5px solid #D4AF37}
.reflection-card blockquote{margin:0;font-size:1.02rem;line-height:1.55;font-style:italic;color:var(--ink)}
.reflection-card cite{display:block;margin-top:10px;font-size:.82rem;font-weight:850;font-style:normal;color:#D4AF37}

/* SOS EMERGENCY CARD */
.sos-card{background:linear-gradient(135deg,#181b22,#0a0b0e);border:1px solid rgba(212,175,55,0.4);color:#fff;border-radius:22px;padding:18px 20px;margin:14px 0;display:flex;justify-content:space-between;align-items:center;gap:14px;box-shadow:var(--shadow)}
.sos-info h3{font-size:.95rem;margin:0 0 4px;letter-spacing:-.01em}
.sos-info p{margin:0;font-size:.8rem;opacity:.9}
.sos-btn{background:#D4AF37;color:#070709;padding:11px 16px;border-radius:14px;font-weight:900;text-decoration:none;white-space:nowrap;box-shadow:0 4px 14px rgba(0,0,0,.5)}
.sos-btn:active{transform:scale(.96)}

/* THEME TOGGLE BUTTON */
.theme-toggle{background:var(--card-subtle);border:1px solid var(--border);color:var(--ink);width:38px;height:38px;border-radius:50%;display:grid;place-items:center;cursor:pointer;font-size:1.1rem}

/* BURGER-FIRST HEADER (NO HORIZONTAL NAVIGATION ITEMS) */
.desktop-nav{display:none!important}

/* BURGER BUTTON (PRIMARY HEADER CONTROLLER - MIN 44X44PX TOUCH TARGET) */
.burger-btn{width:44px;height:44px;min-width:44px;min-height:44px;border-radius:12px;border:1px solid rgba(212,175,55,0.45);background:#101116;display:flex!important;flex-direction:column;justify-content:center;align-items:center;gap:5px;cursor:pointer;padding:0;transition:transform .15s ease,background-color .2s ease,box-shadow .2s ease}
.burger-btn:hover{border-color:#FFF2B2;box-shadow:0 0 14px rgba(212,175,55,0.4);transform:translateY(-1px)}
.burger-btn span{display:block;width:22px;height:2px;background:#D4AF37;border-radius:2px;transition:transform .25s ease,opacity .2s ease}
.burger-btn.is-active span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.burger-btn.is-active span:nth-child(2){opacity:0}
.burger-btn.is-active span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* OFF-CANVAS DRAWER & BACKDROP */
.drawer-backdrop{position:fixed;inset:0;background:rgba(7,19,34,.6);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:998;opacity:0;pointer-events:none;transition:opacity .3s cubic-bezier(.16,1,.3,1)}
.drawer-backdrop.is-open{opacity:1;pointer-events:auto}
.drawer{position:fixed;top:0;right:0;bottom:0;width:min(380px,88vw);background:var(--card);color:var(--ink);z-index:999;display:flex;flex-direction:column;box-shadow:-10px 0 45px rgba(0,0,0,.3);border-left:1px solid var(--border);transform:translateX(100%);transition:transform .32s cubic-bezier(.16,1,.3,1);overflow:hidden}
.drawer.is-open{transform:translateX(0)}
.drawer-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border)}
.drawer-close{width:36px;height:36px;border-radius:10px;border:1px solid var(--border);background:var(--card-subtle);color:var(--ink);font-size:1.4rem;display:grid;place-items:center;cursor:pointer;line-height:1}
.drawer-content{flex:1;overflow-y:auto;padding:16px 20px;display:flex;flex-direction:column;gap:14px;-webkit-overflow-scrolling:touch}
.drawer-user-card{display:flex;align-items:center;gap:12px;padding:14px;border-radius:18px;background:var(--card-subtle);border:1px solid var(--border)}
.drawer-user-avatar{width:44px;height:44px;border-radius:14px;background:linear-gradient(135deg,var(--green),var(--orange2));color:#fff;font-size:1.2rem;font-weight:900;display:grid;place-items:center}
.drawer-user-info b{display:block;font-size:.95rem}
.drawer-user-info small{display:block;color:var(--muted);font-size:.75rem}
.drawer-sic{display:inline-block;font-family:ui-monospace,monospace;font-size:.65rem;color:var(--orange2);margin-top:2px}
.drawer-section-title{display:block;text-transform:uppercase;font-size:.68rem;font-weight:800;letter-spacing:.12em;color:var(--muted);margin:10px 0 4px 6px}
.drawer-nav-group{display:flex;flex-direction:column;gap:4px}
.drawer-link{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:14px;font-weight:750;font-size:.88rem;color:var(--ink);transition:background .15s ease,color .15s ease}
.drawer-link:hover{background:var(--card-subtle);color:var(--green)}
.drawer-link.active{background:var(--green-light);color:var(--green)}
.drawer-logout{color:var(--danger)!important}
.drawer-footer{padding:14px 20px;border-top:1px solid var(--border);background:var(--card-subtle)}

/* 16:9 WIDESCREEN DASHBOARD LAYOUT & 9:16 MOBILE RULES */
.dashboard-grid-16-9{display:grid;gap:20px}
@media(min-width:1024px){
  .dashboard-grid-16-9{grid-template-columns:7fr 5fr;gap:28px;align-items:start}
  .dash-left{display:flex;flex-direction:column;gap:18px}
  .dash-right{display:flex;flex-direction:column;gap:18px;position:sticky;top:86px}
  .bottom-nav{display:none!important}
  body{padding-bottom:30px}
}
@media(max-width:1023px){
  .desktop-nav{display:none!important}
}

/* ============================================================== */
/* TESTO GIUSTIFICATO GLOBALE: CARDS & TABELLE                    */
/* ============================================================== */
.card p,
.card li,
.card-body,
.card-body p,
.card-desc,
.m-card p,
.m-card li,
.m-card article p,
.m-schedule-desc,
.branch-card p,
.feature-card p,
.product-card p,
.tier-card p,
.news-card p,
.sponsor-card p,
article p,
table,
table td,
table th,
.table td,
.table th,
.data-table td,
.data-table th {
  text-align: justify !important;
  text-justify: inter-word !important;
  -webkit-hyphens: auto;
  -ms-hyphens: auto;
  hyphens: auto;
}

/* ==========================================================================
   ESSENTIAL RESPONSIVE UTILITIES & SPACING (PREVENT COLLISION & OVERLAP)
   ========================================================================== */
.d-flex { display: flex !important; }
.d-inline-flex { display: inline-flex !important; }
.d-block { display: block !important; }
.d-none { display: none !important; }
.flex-wrap { flex-wrap: wrap !important; }
.flex-column { flex-direction: column !important; }
.align-items-center { align-items: center !important; }
.justify-content-center { justify-content: center !important; }
.justify-content-between { justify-content: space-between !important; }

.gap-1 { gap: 6px !important; }
.gap-2 { gap: 10px !important; }
.gap-3 { gap: 16px !important; }
.gap-4 { gap: 24px !important; }

.mb-1 { margin-bottom: 4px !important; }
.mb-2 { margin-bottom: 10px !important; }
.mb-3 { margin-bottom: 18px !important; }
.mb-4 { margin-bottom: 26px !important; }
.mt-2 { margin-top: 10px !important; }
.mt-3 { margin-top: 18px !important; }
.p-2 { padding: 8px !important; }
.p-3 { padding: 16px !important; }
.p-4 { padding: 24px !important; }

.col-6 { width: 50% !important; flex: 0 0 50% !important; box-sizing: border-box; }
.col-12 { width: 100% !important; flex: 0 0 100% !important; box-sizing: border-box; }

@media (min-width: 768px) {
  .col-md-3 { width: 25% !important; flex: 0 0 25% !important; box-sizing: border-box; }
  .col-md-4 { width: 33.333333% !important; flex: 0 0 33.333333% !important; box-sizing: border-box; }
  .col-md-6 { width: 50% !important; flex: 0 0 50% !important; box-sizing: border-box; }
  .col-md-12 { width: 100% !important; flex: 0 0 100% !important; box-sizing: border-box; }
}

