:root{--bg:#050b13;--bg2:#07111f;--panel:#0c1726;--panel2:#0f1f31;--line:#1d3449;--line2:#274a63;--text:#eff8ff;--muted:#8da7b9;--accent:#49e5b3;--accent2:#57a8ff;--danger:#ff7180;--warn:#ffc266;--radius:24px;color-scheme:dark}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 75% 0,#102c49 0,#07111f 43%,#050c16 100%);color:var(--text);font:14px/1.5 Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;min-height:100vh}button,input,select{font:inherit}.hidden{display:none!important}.auth-wrap{min-height:100vh;display:grid;grid-template-columns:1.1fr .9fr;max-width:1180px;margin:auto;align-items:center;gap:60px;padding:40px}.brand-card h1{font-size:48px;margin:10px 0 0}.brand-card>p{color:var(--accent);letter-spacing:.14em;text-transform:uppercase}.shield{font-size:65px;color:var(--accent);filter:drop-shadow(0 0 20px #49e5b380)}.promise{max-width:580px;font-size:22px;color:#b9cada;margin-top:36px}.auth-card,.panel,.hero{background:linear-gradient(180deg,#102239f0,#0a1728f0);border:1px solid var(--line);box-shadow:0 22px 70px #0006;border-radius:20px}.auth-card{padding:28px}.auth-tabs{display:flex;gap:8px;margin-bottom:24px}.auth-tabs button{flex:1;background:#091525;color:var(--muted);border:1px solid var(--line);padding:10px;border-radius:10px}.auth-tabs .active{color:var(--text);border-color:var(--accent)}label{display:block;color:#bcd0e1;margin:13px 0}input,select{width:100%;background:#071321;border:1px solid #27435f;color:var(--text);padding:11px 12px;border-radius:10px;margin-top:6px;outline:none}input:focus,select:focus{border-color:var(--accent2);box-shadow:0 0 0 3px #57a8ff1d}button,.button{border:0;border-radius:10px;padding:10px 14px;cursor:pointer;text-decoration:none;display:inline-block}.primary{background:linear-gradient(135deg,var(--accent),#31b995);color:#03100d;font-weight:750}.ghost{background:#12263c;color:#d7e7f4;border:1px solid #294765}.danger{background:#3a1720;color:#ffbdc3;border:1px solid #75313c}.msg{min-height:20px;color:var(--danger)}.app{display:grid;grid-template-columns:250px 1fr;min-height:100vh}aside{background:#07101c;border-right:1px solid #18314a;padding:20px;position:sticky;top:0;height:100vh;display:flex;flex-direction:column}.logo{display:flex;gap:12px;align-items:center;margin:4px 0 26px}.logo>span{font-size:28px;color:var(--accent)}.logo small{display:block;color:var(--muted)}nav{display:grid;gap:6px}nav button{text-align:left;background:transparent;color:#9bb1c6;padding:11px 12px}nav button.active{background:#10263b;color:#fff;border:1px solid #294766}.aside-foot{margin-top:auto;border-top:1px solid #1b334a;padding-top:16px}.aside-foot .ghost{width:100%;margin-top:10px}main{padding:28px 34px;min-width:0}header{display:flex;justify-content:space-between;align-items:start;margin-bottom:24px}header h2{margin:0;font-size:27px}header p{margin:4px 0;color:var(--muted)}.badge{display:inline-flex;padding:5px 9px;border-radius:999px;background:#14283c;border:1px solid #29465f;color:#cfe0ed;font-size:12px}.badge.success{background:#0c312a;border-color:#247c65;color:#85f4d0}.hero{padding:28px;display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.hero h3{font-size:30px;margin:5px 0}.hero p,.muted{color:var(--muted)}.eyebrow{color:var(--accent);font-size:11px;font-weight:800;letter-spacing:.15em}.zero{font-size:13px;color:var(--muted);text-align:center;border:1px solid #2a4964;padding:18px 28px;border-radius:18px}.zero b{font-size:22px;color:var(--accent)}.grid{display:grid;gap:16px}.stats{grid-template-columns:repeat(4,1fr);margin-bottom:16px}.two{grid-template-columns:1fr 1fr}.panel{padding:20px;overflow:hidden}.panel h3{margin:0 0 12px}.panel-head{display:flex;justify-content:space-between;align-items:center}.stat{padding:18px}.stat b{display:block;font-size:28px}.stat span{color:var(--muted)}.flow{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.flow span{background:#071522;border:1px solid #27445f;padding:8px 10px;border-radius:9px}.flow i{color:var(--accent)}.checks{list-style:none;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:6px;color:#cfe0eb}.list-item{display:grid;grid-template-columns:minmax(170px,1.4fr) minmax(220px,2fr) 110px auto;gap:12px;align-items:center;border-top:1px solid #1b334a;padding:12px 0}.list-item:first-child{border-top:0}.list-item small{display:block;color:var(--muted)}.alias{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;overflow:hidden;text-overflow:ellipsis}.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.pair-code{font:700 23px ui-monospace,monospace;letter-spacing:.08em;color:var(--accent);background:#06111d;border:1px dashed #326184;padding:14px;border-radius:12px;margin:14px 0;word-break:break-all}.button{margin-top:8px}.empty{color:var(--muted);padding:22px;text-align:center;border:1px dashed #29465d;border-radius:12px}dialog{background:#0d1d2f;color:#fff;border:1px solid #294864;border-radius:18px;min-width:420px;box-shadow:0 30px 80px #0009}dialog::backdrop{background:#000a}#toast{position:fixed;right:22px;top:20px;z-index:99;background:#0c2b27;border:1px solid #26955f;color:#c8ffed;padding:11px 15px;border-radius:10px;opacity:0;transform:translateY(-8px);transition:.2s;pointer-events:none}#toast.show{opacity:1;transform:none}@media(max-width:900px){.auth-wrap{grid-template-columns:1fr}.brand-card{display:none}.app{grid-template-columns:1fr}aside{position:relative;height:auto;border-right:0}nav{grid-template-columns:repeat(3,1fr)}main{padding:20px}.stats,.two{grid-template-columns:1fr 1fr}.list-item{grid-template-columns:1fr}.aside-foot{display:flex;gap:10px;align-items:center}.aside-foot .ghost{width:auto;margin:0}}@media(max-width:600px){.stats,.two{grid-template-columns:1fr}nav{grid-template-columns:1fr 1fr}.auth-wrap{padding:20px}dialog{min-width:0;width:92%}}
/* V2.1 Beta Experience */
.wide{width:100%}.nav-progress{float:right;font-size:10px;border:1px solid #31536c;border-radius:999px;padding:1px 6px;color:var(--accent)}.progress{height:9px;background:#0a1827;border:1px solid #203b53;border-radius:999px;overflow:hidden;margin:-2px 0 18px}.progress i,.mini-progress i{display:block;height:100%;background:linear-gradient(90deg,var(--accent2),var(--accent));border-radius:inherit;transition:width .35s}.onboarding-hero{margin-bottom:12px}.progress-ring{width:106px;height:106px;border-radius:50%;border:8px solid #19354b;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:inset 0 0 28px #0005}.progress-ring b{font-size:24px;color:var(--accent)}.progress-ring span{font-size:10px;color:var(--muted)}.step-list{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:16px}.step-chip{display:flex;gap:9px;align-items:center;padding:10px;border:1px solid #213d56;background:#0b1828;border-radius:12px;color:#88a0b6}.step-chip span{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:#162c40;font-size:11px}.step-chip.done{color:#dffcf2;border-color:#236750}.step-chip.done span{background:#114536;color:var(--accent)}.step-chip.current{border-color:var(--accent2);color:#fff;box-shadow:0 0 0 3px #57a8ff12}.setup-panel{position:relative;padding-top:24px}.setup-panel.completed{border-color:#286d58}.step-number{position:absolute;right:16px;top:14px;width:31px;height:31px;border-radius:50%;display:grid;place-items:center;background:#122a40;color:var(--accent);font-weight:900}.simple-steps{display:grid;gap:8px;margin:15px 0}.simple-steps>div{display:flex;align-items:center;gap:10px;padding:9px;background:#081522;border-radius:10px}.simple-steps b{width:25px;height:25px;border-radius:50%;display:grid;place-items:center;background:#173650;color:var(--accent)}.external{margin-right:7px}.setup-panel details{margin-top:14px;border-top:1px solid #1c354b;padding-top:10px}.setup-panel summary{cursor:pointer;color:#99afc1}.pair-code.compact{font-size:18px;padding:10px}.success-box{display:flex;flex-direction:column;gap:4px;background:#0b342b;border:1px solid #266d5a;color:#baffdf;padding:12px;border-radius:12px;margin:10px 0;word-break:break-all}.future-panel{background:linear-gradient(180deg,#13223a,#0c1727);border-style:dashed}.privacy-mini{display:grid;gap:5px;color:#afd3c7}.setup-callout{display:flex;justify-content:space-between;align-items:center;border-color:#66552e;margin-bottom:16px}.setup-callout p{margin:4px 0;color:var(--muted)}.provider-card{padding:13px;border:1px solid #27435e;border-radius:12px;margin:10px 0;background:#091724}.provider-card b{margin-right:8px}.provider-card p{color:var(--muted);margin-bottom:0}.active-provider{border-color:#2a765f}.legend{display:flex;flex-wrap:wrap;gap:7px}.legend span{background:#0b1b2c;border:1px solid #29445d;padding:6px 9px;border-radius:999px;color:#9eb6c9}.beta-users{margin-top:16px}.beta-user{display:grid;grid-template-columns:minmax(170px,1.4fr) minmax(130px,1fr) 110px 80px;gap:14px;align-items:center;padding:13px 0;border-top:1px solid #1b334a}.beta-user:first-of-type{border-top:0}.beta-user small{display:block;color:var(--muted)}.mini-progress{height:7px;background:#0a1725;border-radius:99px;overflow:hidden}.beta-status{text-align:right}.beta-status b{color:var(--accent)}.beta-status small{font-size:10px}@media(max-width:900px){.step-list{grid-template-columns:1fr 1fr}.beta-user{grid-template-columns:1fr 1fr}.onboarding-actions{grid-template-columns:1fr}.progress-ring{width:82px;height:82px}.setup-callout{align-items:flex-start;gap:10px}}@media(max-width:600px){.step-list{grid-template-columns:1fr}.onboarding-hero{align-items:flex-start}.progress-ring{flex:0 0 76px;width:76px;height:76px;border-width:5px}.progress-ring b{font-size:19px}.beta-user{grid-template-columns:1fr}.beta-status{text-align:left}}
/* V2.2 Data Shield */
.data-hero{background:linear-gradient(135deg,#10263b,#12263d 55%,#0c2a27)}.exposure-orb{width:128px;height:128px;border-radius:50%;border:8px solid #284d55;display:grid;grid-template-columns:auto auto;place-content:center;align-items:end;box-shadow:inset 0 0 35px #0006,0 0 34px #49e5b319}.exposure-orb b{font-size:34px;color:var(--accent);line-height:1}.exposure-orb>span{font-size:12px;color:var(--muted);padding-bottom:3px}.exposure-orb small{grid-column:1/3;color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.08em;margin-top:7px}.data-top{margin-bottom:16px}.privacy-lines{display:grid;gap:10px;margin:15px 0}.privacy-lines>div{display:flex;gap:10px;align-items:center;padding:10px;background:#091725;border-radius:10px}.privacy-lines .good{color:var(--accent);font-size:18px}.privacy-lines .bad{color:var(--danger);font-size:18px}.data-legend{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 4px}.state{display:inline-flex;align-items:center;gap:4px;padding:5px 9px;border-radius:999px;border:1px solid #2a445c;background:#0d1b2a;color:#b6c8d8;font-size:11px}.state.protected{border-color:#29765f;background:#0a3028;color:#8af0cf}.state.real{border-color:#84414a;background:#31151b;color:#ffb3bb}.state.requested{border-color:#75612e;background:#2b2514;color:#ffd78d}.state.not_shared{border-color:#3a5368;background:#102130;color:#9ab3c7}.state.unknown{color:#8198ab}.exposure-row{display:grid;grid-template-columns:minmax(150px,1fr) minmax(90px,1fr) 38px;gap:12px;align-items:center;padding:9px 0;border-top:1px solid #193048}.exposure-row:first-child{border-top:0}.exposure-row small{display:block;color:var(--muted)}.exposure-track,.risk-meter{height:7px;background:#07131f;border-radius:999px;overflow:hidden;border:1px solid #1d3a50}.exposure-track i{display:block;height:100%;background:linear-gradient(90deg,#ffc266,#ff6b77)}.data-profile{padding:15px 0;border-top:1px solid #1b334a}.data-profile:first-child{border-top:0}.profile-main{display:grid;grid-template-columns:minmax(180px,1.3fr) minmax(100px,.7fr) 72px;gap:14px;align-items:center}.profile-main small{display:block;color:var(--muted)}.risk-meter i{display:block;height:100%;background:linear-gradient(90deg,var(--accent),var(--warn),var(--danger))}.risk-number{font-size:13px;color:#b9cede}.risk-number.hot{color:#ff9ba5}.profile-flags{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}.review-fields{display:grid;gap:10px;margin:16px 0;max-height:55vh;overflow:auto;padding-right:4px}.review-field{display:grid;grid-template-columns:1fr minmax(220px,1fr);gap:12px;align-items:center;padding:10px;border:1px solid #213a52;background:#091623;border-radius:11px}.review-field small{display:block;color:var(--muted)}.review-field select{margin:0}.dialog-title h3{font-size:22px;margin:4px 0}.privacy-panel{border-color:#27524c}@media(max-width:700px){.profile-main,.review-field,.exposure-row{grid-template-columns:1fr}.exposure-orb{width:92px;height:92px;border-width:5px}.exposure-orb b{font-size:25px}}

/* V2.3 Exposure Intelligence */
.score-pair{display:flex;gap:14px;align-items:center}.protection-orb{width:92px;height:92px;border-radius:50%;border:6px solid #286b58;display:grid;grid-template-columns:auto auto;place-content:center;align-items:end;background:#0b2623;box-shadow:inset 0 0 28px #0005}.protection-orb b{font-size:25px;color:#8af0cf;line-height:1}.protection-orb>span{font-size:12px;color:var(--muted);padding-bottom:2px}.protection-orb small{grid-column:1/3;color:var(--muted);font-size:8px;text-transform:uppercase;letter-spacing:.08em;margin-top:5px}.priority-item{display:grid;grid-template-columns:30px 1fr auto;gap:10px;align-items:start;padding:12px 0;border-top:1px solid #1a3349}.priority-item:first-child{border-top:0}.priority-rank{width:27px;height:27px;border-radius:50%;display:grid;place-items:center;background:#341b1d;border:1px solid #744047;color:#ffb3bb;font-weight:900}.priority-item small,.priority-item p{display:block;color:var(--muted);margin:2px 0}.priority-item p{font-size:11px}.exposure-row.clickable{width:100%;background:transparent;color:inherit;border:0;border-radius:9px;text-align:left;padding:9px 4px;cursor:pointer}.exposure-row.clickable:hover{background:#102238}.category-detail{margin-bottom:16px;border-color:#315a73}.category-service{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;padding:10px 0;border-top:1px solid #1b334a}.category-service:first-child{border-top:0}.category-service small{display:block;color:var(--muted)}.data-profile.needs-review{border-left:3px solid var(--warn);padding-left:12px}.shield-roadmap{display:grid;gap:9px}.shield-roadmap>div{display:flex;justify-content:space-between;gap:10px;padding:11px;border:1px solid #28435b;border-radius:10px;background:#091724}.shield-roadmap span{color:var(--muted);font-size:12px}.shield-roadmap .done{border-color:#286d58;background:#0a2823}.shield-roadmap .done span{color:var(--accent)}@media(max-width:700px){.score-pair{gap:8px}.protection-orb{width:78px;height:78px}.category-service,.priority-item{grid-template-columns:1fr}.priority-rank{display:none}}

/* V2.4 Phone Shield */
.phone-hero{background:linear-gradient(135deg,#10263b,#102b35 55%,#123128)}.phone-orb{width:110px;height:110px;border-radius:50%;border:7px solid #2c7665;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:34px;color:var(--accent);box-shadow:inset 0 0 30px #0006}.phone-orb small{font-size:9px;letter-spacing:.15em;color:var(--muted)}.phone-number-row,.phone-event{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;padding:11px 0;border-top:1px solid #1b334a}.phone-number-row:first-child,.phone-event:first-child{border-top:0}.phone-number-row small,.phone-event small{display:block;color:var(--muted)}.phone-events{margin-top:16px}.phone-admin{margin:16px 0}.warn-box{display:flex;flex-direction:column;gap:4px;background:#332814;border:1px solid #6f5b2c;color:#ffe3a3;padding:12px;border-radius:12px;margin:10px 0}.warn-box span{color:#d8c28e}

/* V2.5.0 Phone Shield Optimized */
.phone-inbox .inbox-item{padding:14px 0;border-bottom:1px solid var(--line,#203637)}
.phone-inbox .inbox-item:last-child{border-bottom:0}
.phone-inbox .inbox-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:7px}
.phone-inbox .inbox-head div{display:flex;flex-direction:column;gap:2px}
.phone-inbox .inbox-item p{white-space:pre-wrap;word-break:break-word;margin:8px 0;color:#dcece8}
.otp-copy{font-size:16px;font-weight:900;letter-spacing:.08em;margin:5px 0 9px}
.compact-stats{margin:12px 0}
#privacyUpdateNotice{margin-top:10px}


/* V2.5 Identity Shield */
.identity-hero{background:linear-gradient(135deg,#14243c,#232344 55%,#133127)}
.identity-orb{width:110px;height:110px;border-radius:50%;border:7px solid #6a66d8;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:31px;font-weight:900;color:#c9c6ff;box-shadow:inset 0 0 30px #0006}.identity-orb small{font-size:9px;letter-spacing:.15em;color:var(--muted)}
.identity-row{display:grid;grid-template-columns:minmax(130px,1fr) auto auto;gap:10px;align-items:center;padding:11px 0;border-top:1px solid #1b334a}.identity-row:first-child{border-top:0}.identity-row small{display:block;color:var(--muted)}.identity-row code{background:#081522;color:#baffdf;border:1px solid #27445c;border-radius:8px;padding:6px 8px}
.plan-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.plan-card{border:1px solid #29435c;background:#091725;border-radius:14px;padding:16px}.plan-card.featured{border-color:#3aa887;box-shadow:0 0 0 2px #49e5b318}.plan-card h4{font-size:18px;margin:8px 0}.plan-card strong{font-size:25px}.plan-card strong small{font-size:11px;color:var(--muted)}.plan-card p{color:var(--muted);min-height:42px}.plan-card ul{list-style:none;padding:0;margin:12px 0 0;display:grid;gap:6px;font-size:12px;color:#b9ccdb}
@media(max-width:1000px){.plan-grid{grid-template-columns:1fr 1fr}}@media(max-width:650px){.plan-grid,.identity-row{grid-template-columns:1fr}}

/* IDFW_UX_OVERVIEW_V1_START */

.ux-overview-hero{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:32px;
  padding:30px;
  margin-bottom:18px;
  border:1px solid rgba(95,230,204,.18);
  border-radius:22px;
  background:
    radial-gradient(
      circle at 84% 30%,
      rgba(65,224,190,.11),
      transparent 30%
    ),
    linear-gradient(
      135deg,
      rgba(15,42,64,.96),
      rgba(7,24,39,.98)
    );
}

.ux-overview-hero-copy{
  max-width:720px;
}

.ux-overview-hero-copy h3{
  margin:7px 0 7px;
  font-size:clamp(28px,4vw,44px);
}

.ux-overview-hero-copy > strong{
  display:block;
  margin-bottom:8px;
  font-size:17px;
}

.ux-overview-hero-copy > p{
  margin:0;
  opacity:.68;
}

.ux-score-wrap{
  flex:0 0 auto;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:8px;
}

.ux-score-ring{
  width:128px;
  height:128px;
  padding:8px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:
    conic-gradient(
      #47e0bc calc(var(--score) * 1%),
      rgba(255,255,255,.07) 0
    );
  box-shadow:
    0 0 35px rgba(71,224,188,.09);
}

.ux-score-ring > div{
  width:100%;
  height:100%;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:#0a1a2a;
}

.ux-score-ring strong{
  font-size:30px;
  line-height:1;
}

.ux-score-ring small{
  margin-top:6px;
  font-size:9px;
  letter-spacing:.13em;
  opacity:.55;
}

#overviewScoreLabel{
  font-size:11px;
  font-weight:800;
  opacity:.7;
}

.ux-main-stats{
  margin-bottom:18px;
}

.ux-stat{
  position:relative;
  overflow:hidden;
}

.ux-stat span{
  display:block;
}

.ux-stat b{
  display:block;
  margin:6px 0 3px;
  font-size:27px;
}

.ux-stat small{
  opacity:.55;
}

.ux-overview-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
  margin-top:18px;
}

.ux-card-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:15px;
  margin-bottom:17px;
}

.ux-card-head h3{
  margin:3px 0 0;
}

.ux-kicker{
  font-size:10px;
  font-weight:900;
  letter-spacing:.13em;
  opacity:.5;
}

.ux-count-badge{
  min-width:30px;
  height:30px;
  padding:0 8px;
  display:grid;
  place-items:center;
  border-radius:999px;
  background:rgba(70,225,190,.1);
  border:1px solid rgba(70,225,190,.18);
  font-weight:900;
}

.ux-action-list{
  display:flex;
  flex-direction:column;
  gap:9px;
}

.ux-action{
  display:grid;
  grid-template-columns:38px minmax(0,1fr) auto;
  align-items:center;
  gap:11px;
  padding:12px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:14px;
  background:rgba(255,255,255,.025);
}

.ux-action.danger{
  border-color:rgba(255,104,116,.24);
}

.ux-action.warn{
  border-color:rgba(255,199,92,.20);
}

.ux-action-icon{
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border-radius:11px;
  background:rgba(255,255,255,.06);
  font-weight:900;
}

.ux-action b,
.ux-action small{
  display:block;
}

.ux-action small{
  margin-top:3px;
  line-height:1.4;
  opacity:.58;
}

.ux-all-good,
.ux-quiet-state{
  display:flex;
  align-items:center;
  gap:12px;
  padding:16px;
  border-radius:14px;
  background:rgba(65,224,190,.06);
  border:1px solid rgba(65,224,190,.15);
}

.ux-all-good > span,
.ux-quiet-state > span{
  width:36px;
  height:36px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:rgba(65,224,190,.12);
  font-weight:900;
}

.ux-all-good b,
.ux-all-good small,
.ux-quiet-state b,
.ux-quiet-state small{
  display:block;
}

.ux-all-good small,
.ux-quiet-state small{
  margin-top:3px;
  opacity:.58;
}

.ux-coverage-list{
  display:flex;
  flex-direction:column;
  gap:7px;
}

.ux-coverage-row{
  width:100%;
  display:grid;
  grid-template-columns:36px minmax(0,1fr) 32px;
  align-items:center;
  gap:10px;
  padding:10px 11px;
  border:0;
  border-radius:12px;
  background:rgba(255,255,255,.025);
  color:inherit;
  text-align:left;
  cursor:pointer;
}

.ux-coverage-row:hover{
  background:rgba(255,255,255,.055);
}

.ux-coverage-icon{
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border-radius:10px;
  background:rgba(255,255,255,.05);
}

.ux-coverage-row b,
.ux-coverage-row small{
  display:block;
}

.ux-coverage-row small{
  margin-top:2px;
  opacity:.55;
}

.ux-coverage-state{
  width:27px;
  height:27px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:rgba(255,255,255,.055);
  opacity:.55;
}

.ux-coverage-state.ok{
  background:rgba(65,224,190,.12);
  color:#54e5c2;
  opacity:1;
}

.ux-data-score strong,
.ux-data-score span{
  display:block;
}

.ux-data-score strong{
  font-size:34px;
}

.ux-data-score span{
  margin-top:2px;
  opacity:.56;
}

.ux-data-track{
  height:8px;
  overflow:hidden;
  margin:13px 0 16px;
  border-radius:999px;
  background:rgba(255,255,255,.06);
}

.ux-data-track i{
  display:block;
  height:100%;
  border-radius:inherit;
  background:linear-gradient(
    90deg,
    #3cbbe8,
    #4be1b7
  );
}

.ux-data-mini-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:8px;
}

.ux-data-mini-grid > div{
  padding:11px 8px;
  border-radius:11px;
  background:rgba(255,255,255,.025);
  text-align:center;
}

.ux-data-mini-grid b,
.ux-data-mini-grid span{
  display:block;
}

.ux-data-mini-grid b{
  font-size:18px;
}

.ux-data-mini-grid span{
  margin-top:4px;
  font-size:10px;
  opacity:.55;
}

.danger-text b{
  color:#ff8c96;
}

.ux-activity-list{
  display:flex;
  flex-direction:column;
  gap:3px;
}

.ux-activity-row{
  display:grid;
  grid-template-columns:12px minmax(0,1fr) auto;
  align-items:center;
  gap:10px;
  padding:10px 5px;
  border-bottom:1px solid rgba(255,255,255,.055);
}

.ux-activity-row:last-child{
  border-bottom:0;
}

.ux-activity-dot{
  width:7px;
  height:7px;
  border-radius:50%;
  background:#4be1b7;
  box-shadow:0 0 10px rgba(75,225,183,.45);
}

.ux-activity-row b,
.ux-activity-row small{
  display:block;
}

.ux-activity-row small{
  margin-top:3px;
  opacity:.54;
}

.ux-small-button{
  padding:7px 10px !important;
  min-height:auto !important;
  font-size:11px !important;
}

@media(max-width:900px){

  .ux-overview-grid{
    grid-template-columns:1fr;
  }

  .ux-overview-hero{
    align-items:flex-start;
  }

  .ux-data-mini-grid{
    grid-template-columns:repeat(2,1fr);
  }
}

@media(max-width:620px){

  .ux-overview-hero{
    flex-direction:column;
    padding:22px;
  }

  .ux-score-wrap{
    width:100%;
  }

  .ux-score-ring{
    width:110px;
    height:110px;
  }

  .ux-action{
    grid-template-columns:34px minmax(0,1fr);
  }

  .ux-action button{
    grid-column:2;
    justify-self:start;
  }
}

/* IDFW_UX_OVERVIEW_V1_END */


/* ==========================================================
   IDFW EXISTING ACCOUNT B1.2
   ========================================================== */

.idfw-existing-card{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  margin-bottom:18px;
  padding:24px 26px;
  border-color:rgba(71,224,188,.20);
  background:
    radial-gradient(
      circle at 90% 20%,
      rgba(71,224,188,.09),
      transparent 32%
    ),
    rgba(255,255,255,.025);
}

.idfw-existing-copy{
  max-width:760px;
}

.idfw-existing-copy h3{
  margin:5px 0 7px;
  font-size:20px;
}

.idfw-existing-copy > p{
  margin:0;
  opacity:.65;
  line-height:1.55;
}

.idfw-existing-privacy{
  display:flex;
  align-items:center;
  gap:10px;
  margin-top:14px;
}

.idfw-existing-privacy > span{
  width:30px;
  height:30px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:rgba(71,224,188,.12);
  color:#54e5c2;
  font-weight:900;
}

.idfw-existing-privacy b,
.idfw-existing-privacy small{
  display:block;
}

.idfw-existing-privacy small{
  margin-top:2px;
  opacity:.5;
}

.idfw-existing-button{
  flex:0 0 auto;
}

.idfw-existing-dialog{
  width:min(760px,calc(100vw - 30px));
  max-height:90vh;
  padding:0;
  overflow:auto;
  border:1px solid rgba(71,224,188,.20);
  border-radius:22px;
  background:#0b1927;
  color:inherit;
  box-shadow:0 30px 90px rgba(0,0,0,.55);
}

.idfw-existing-dialog::backdrop{
  background:rgba(0,7,14,.78);
  backdrop-filter:blur(6px);
}

.idfw-existing-dialog form{
  padding:25px;
}

.idfw-existing-dialog-head{
  display:flex;
  justify-content:space-between;
  gap:20px;
  margin-bottom:20px;
}

.idfw-existing-dialog-head h2{
  margin:4px 0 5px;
}

.idfw-existing-dialog-head p{
  margin:0;
  opacity:.58;
}

.idfw-existing-site{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin-bottom:15px;
}

.idfw-existing-tip{
  display:flex;
  gap:11px;
  align-items:flex-start;
  padding:12px 14px;
  margin-bottom:15px;
  border-radius:13px;
  background:rgba(65,174,224,.07);
  border:1px solid rgba(65,174,224,.15);
}

.idfw-existing-tip > span{
  width:25px;
  height:25px;
  flex:0 0 25px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:rgba(65,174,224,.12);
  font-weight:900;
}

.idfw-existing-tip p{
  margin:1px 0 0;
  line-height:1.45;
  opacity:.68;
}

.idfw-existing-fields{
  display:flex;
  flex-direction:column;
  gap:7px;
}

.idfw-existing-field{
  display:grid;
  grid-template-columns:minmax(180px,.8fr) minmax(260px,1.2fr);
  align-items:center;
  gap:14px;
  padding:10px 12px;
  border-radius:12px;
  background:rgba(255,255,255,.025);
  border:1px solid rgba(255,255,255,.055);
}

.idfw-existing-field-name{
  display:flex;
  align-items:center;
  gap:9px;
}

.idfw-existing-field-name > span{
  width:29px;
  height:29px;
  display:grid;
  place-items:center;
  border-radius:9px;
  background:rgba(255,255,255,.05);
}

.idfw-existing-field select{
  margin:0;
}

.idfw-existing-actions{
  display:flex;
  justify-content:flex-end;
  gap:9px;
  margin-top:20px;
}

@media(max-width:700px){

  .idfw-existing-card{
    align-items:flex-start;
    flex-direction:column;
  }

  .idfw-existing-button{
    width:100%;
  }

  .idfw-existing-site{
    grid-template-columns:1fr;
  }

  .idfw-existing-field{
    grid-template-columns:1fr;
  }

  .idfw-existing-actions{
    flex-direction:column-reverse;
  }

  .idfw-existing-actions button{
    width:100%;
  }

}

/* FIN IDFW EXISTING ACCOUNT B1.2 */



/* ==========================================================
   IDFW LEAK WATCH B2.2
   ========================================================== */

.leak-hero{
  display:flex;
  justify-content:space-between;
  gap:30px;
  padding:26px;
  margin-bottom:16px;
  background:
    radial-gradient(
      circle at 90% 20%,
      rgba(255,159,67,.10),
      transparent 30%
    );
}

.leak-hero h3{
  margin:6px 0 7px;
  font-size:25px;
}

.leak-hero p{
  max-width:760px;
  margin:0;
}

.leak-warning{
  display:flex;
  gap:11px;
  margin-top:17px;
  padding:12px 14px;
  border-radius:13px;
  background:rgba(255,159,67,.07);
  border:1px solid rgba(255,159,67,.18);
}

.leak-warning > span{
  width:28px;
  height:28px;
  flex:0 0 28px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:rgba(255,159,67,.14);
  color:#ffb266;
  font-weight:900;
}

.leak-warning b,
.leak-warning small{
  display:block;
}

.leak-warning small{
  margin-top:3px;
  opacity:.62;
  line-height:1.45;
}

.leak-hero-status{
  min-width:150px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  border-left:1px solid rgba(255,255,255,.08);
}

.leak-hero-status span{
  font-size:10px;
  letter-spacing:.12em;
  opacity:.55;
}

.leak-hero-status b{
  margin-top:5px;
  color:#52e3bd;
  font-size:19px;
}

.leak-stats{
  margin-bottom:16px;
}

.leak-main-grid{
  align-items:start;
}

.leak-panel-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:15px;
  margin-bottom:16px;
}

.leak-panel-head h3,
.leak-panel-head p{
  margin-top:0;
}

.leak-alert{
  padding:16px;
  margin-bottom:12px;
  border:1px solid rgba(255,159,67,.20);
  border-radius:15px;
  background:rgba(255,159,67,.035);
}

.leak-alert-top{
  display:flex;
  align-items:center;
  gap:12px;
}

.leak-alert-icon{
  width:42px;
  height:42px;
  flex:0 0 42px;
  display:grid;
  place-items:center;
  border-radius:13px;
  background:rgba(255,159,67,.12);
  color:#ffb266;
  font-weight:900;
  font-size:20px;
}

.leak-alert-title{
  min-width:0;
  flex:1;
}

.leak-alert-title h3{
  margin:3px 0 1px;
}

.leak-alert-title small{
  opacity:.55;
}

.leak-severity{
  font-size:10px;
  font-weight:800;
  letter-spacing:.08em;
}

.leak-severity.orange{
  color:#ffb266;
}

.leak-alert-date{
  text-align:right;
}

.leak-alert-date small,
.leak-alert-date b{
  display:block;
}

.leak-alert-date small{
  opacity:.5;
}

.leak-breach-name{
  margin:14px 0;
  padding:11px 12px;
  border-radius:11px;
  background:rgba(255,255,255,.025);
}

.leak-breach-name span,
.leak-breach-name small{
  display:block;
  opacity:.55;
}

.leak-breach-name b{
  display:block;
  margin:2px 0;
}

.leak-detail-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}

.leak-detail-grid > div{
  padding:11px;
  border-radius:11px;
  background:rgba(255,255,255,.02);
}

.leak-detail-label{
  display:block;
  margin-bottom:8px;
  font-size:11px;
  opacity:.6;
}

.leak-chips{
  display:flex;
  flex-wrap:wrap;
  gap:5px;
}

.leak-chip{
  padding:5px 8px;
  border-radius:999px;
  font-size:11px;
  background:rgba(255,255,255,.05);
}

.leak-chip.real{
  background:rgba(255,92,92,.09);
  color:#ff9a9a;
}

.leak-chip.breach{
  background:rgba(89,166,255,.09);
  color:#9bc8ff;
}

.leak-chip.orange{
  background:rgba(255,159,67,.11);
  color:#ffb266;
}

.leak-none{
  opacity:.42;
  font-size:11px;
}

.leak-overlap{
  margin-top:11px;
  padding:11px;
  border-radius:11px;
  background:rgba(255,159,67,.07);
}

.leak-overlap.quiet{
  background:rgba(82,227,189,.045);
}

.leak-overlap small{
  display:block;
  margin-top:7px;
  opacity:.55;
  line-height:1.45;
}

.leak-alert-foot{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-top:14px;
}

.leak-alert-foot b,
.leak-alert-foot small{
  display:block;
}

.leak-alert-foot small{
  margin-top:2px;
  opacity:.52;
}

.leak-level-list{
  display:flex;
  flex-direction:column;
  gap:9px;
}

.leak-level{
  display:flex;
  align-items:flex-start;
  gap:10px;
  padding:12px;
  border-radius:12px;
  background:rgba(255,255,255,.025);
}

.leak-level > span{
  width:30px;
  height:30px;
  flex:0 0 30px;
  display:grid;
  place-items:center;
  border-radius:50%;
  font-weight:900;
}

.leak-level.green > span{
  background:rgba(82,227,189,.10);
  color:#52e3bd;
}

.leak-level.orange > span{
  background:rgba(255,159,67,.10);
  color:#ffb266;
}

.leak-level.red > span{
  background:rgba(255,92,92,.10);
  color:#ff8585;
}

.leak-level b,
.leak-level small{
  display:block;
}

.leak-level small{
  margin-top:3px;
  opacity:.55;
  line-height:1.4;
}

.leak-source{
  margin-top:16px;
  padding:13px;
  border-top:1px solid rgba(255,255,255,.07);
}

.leak-source span,
.leak-source b,
.leak-source small{
  display:block;
}

.leak-source span{
  font-size:10px;
  letter-spacing:.1em;
  opacity:.45;
}

.leak-source b{
  margin:4px 0;
}

.leak-source small{
  opacity:.55;
}

.leak-catalog-panel{
  margin-top:16px;
}

.leak-engine-info{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
}

.leak-engine-info > div{
  padding:13px;
  border-radius:12px;
  background:rgba(255,255,255,.025);
}

.leak-engine-info span,
.leak-engine-info b,
.leak-engine-info small{
  display:block;
}

.leak-engine-info span{
  font-size:11px;
  opacity:.5;
}

.leak-engine-info b{
  margin-top:4px;
  font-size:17px;
}

.leak-engine-info small{
  margin-top:3px;
  opacity:.48;
}

.leak-orange-text{
  color:#ffb266;
}

.leak-empty{
  display:flex;
  align-items:center;
  gap:13px;
  padding:18px;
  border-radius:14px;
  background:rgba(82,227,189,.045);
  border:1px solid rgba(82,227,189,.10);
}

.leak-empty-icon{
  width:42px;
  height:42px;
  flex:0 0 42px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:rgba(82,227,189,.10);
  color:#52e3bd;
  font-size:20px;
}

.leak-empty p{
  margin:3px 0 0;
  opacity:.55;
}

@media(max-width:800px){

  .leak-hero{
    flex-direction:column;
  }

  .leak-hero-status{
    min-width:0;
    padding-top:14px;
    border-left:0;
    border-top:1px solid rgba(255,255,255,.08);
  }

  .leak-detail-grid,
  .leak-engine-info{
    grid-template-columns:1fr;
  }

  .leak-alert-foot{
    align-items:stretch;
    flex-direction:column;
  }

  .leak-alert-foot button{
    width:100%;
  }

}

/* FIN IDFW LEAK WATCH B2.2 */



/* ==========================================================
   IDFW LEAK ALERTS B2.4
   ========================================================== */

.leak-unread{
  position:relative;
  box-shadow:
    inset 3px 0 0
    rgba(255,159,67,.85);
}

.leak-new-badge{
  display:inline-block;
  margin-left:7px;
  padding:3px 7px;
  border-radius:999px;
  font-size:9px;
  font-weight:900;
  letter-spacing:.08em;
  color:#ffb266;
  background:
    rgba(255,159,67,.12);
  border:
    1px solid
    rgba(255,159,67,.22);
}

.leak-alert-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  flex-wrap:wrap;
}

.leak-seen-state{
  font-size:11px;
  color:#52e3bd;
  opacity:.8;
}

.leak-seen-button{
  border-color:
    rgba(255,159,67,.28);
}

@media(max-width:800px){

  .leak-alert-actions{
    width:100%;
  }

  .leak-alert-actions button{
    flex:1;
  }

}

/* FIN IDFW LEAK ALERTS B2.4 */



/* ==========================================================
   IDFW PASSWORD SHIELD B3
   ========================================================== */

.password-shield-panel{
  margin-bottom:16px;
  padding:22px;
  background:
    radial-gradient(
      circle at 94% 10%,
      rgba(89,166,255,.08),
      transparent 28%
    );
}

.password-shield-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:20px;
}

.password-shield-head h3{
  margin:5px 0 5px;
}

.password-shield-head p{
  margin:0;
  max-width:720px;
}

.password-privacy-badge{
  flex:0 0 auto;
  padding:7px 10px;
  border-radius:999px;
  font-size:10px;
  font-weight:900;
  letter-spacing:.08em;
  color:#9bc8ff;
  background:
    rgba(89,166,255,.08);
  border:
    1px solid
    rgba(89,166,255,.18);
}

.password-check-row{
  display:grid;
  grid-template-columns:1fr auto;
  gap:10px;
  align-items:end;
  margin-top:18px;
}

.password-check-field{
  margin:0;
}

.password-check-field > span{
  display:block;
  margin-bottom:6px;
  font-size:11px;
  opacity:.65;
}

.password-check-field input{
  width:100%;
  box-sizing:border-box;
  font-family:monospace;
  letter-spacing:.08em;
}

.password-check-row button{
  min-height:43px;
  padding-left:22px;
  padding-right:22px;
}

.password-privacy-explain{
  display:flex;
  gap:11px;
  align-items:flex-start;
  margin-top:12px;
  padding:11px 12px;
  border-radius:12px;
  background:
    rgba(89,166,255,.035);
  border:
    1px solid
    rgba(89,166,255,.08);
}

.password-privacy-explain > span{
  color:#9bc8ff;
  font-size:18px;
}

.password-privacy-explain b,
.password-privacy-explain small{
  display:block;
}

.password-privacy-explain small{
  margin-top:3px;
  opacity:.55;
  line-height:1.45;
}

.password-result{
  display:flex;
  gap:13px;
  align-items:flex-start;
  margin-top:15px;
  padding:16px;
  border-radius:14px;
}

.password-result.safe{
  background:
    rgba(82,227,189,.06);
  border:
    1px solid
    rgba(82,227,189,.16);
}

.password-result.danger{
  background:
    rgba(255,92,92,.07);
  border:
    1px solid
    rgba(255,92,92,.20);
}

.password-result.warning,
.password-result.checking{
  background:
    rgba(255,159,67,.05);
  border:
    1px solid
    rgba(255,159,67,.12);
}

.password-result.error{
  background:
    rgba(255,92,92,.05);
  border:
    1px solid
    rgba(255,92,92,.16);
}

.password-result-icon{
  width:42px;
  height:42px;
  flex:0 0 42px;
  display:grid;
  place-items:center;
  border-radius:50%;
  font-size:20px;
  font-weight:900;
}

.password-result.safe
.password-result-icon{
  color:#52e3bd;
  background:
    rgba(82,227,189,.10);
}

.password-result.danger
.password-result-icon,
.password-result.error
.password-result-icon{
  color:#ff8585;
  background:
    rgba(255,92,92,.10);
}

.password-result-label{
  display:block;
  margin-bottom:3px;
  font-size:10px;
  font-weight:900;
  letter-spacing:.09em;
}

.password-result.safe
.password-result-label{
  color:#52e3bd;
}

.password-result.danger
.password-result-label{
  color:#ff8585;
}

.password-result h3{
  margin:2px 0 5px;
}

.password-result p{
  margin:0;
  opacity:.72;
  line-height:1.5;
}

.password-actions{
  display:flex;
  flex-direction:column;
  gap:4px;
  margin-top:13px;
  padding-top:11px;
  border-top:
    1px solid
    rgba(255,255,255,.07);
}

.password-actions b{
  margin-bottom:3px;
}

.password-actions span{
  font-size:12px;
  opacity:.75;
}

.password-source{
  margin-top:10px;
  font-size:10px;
  opacity:.42;
}

@media(max-width:700px){

  .password-shield-head{
    flex-direction:column;
  }

  .password-check-row{
    grid-template-columns:1fr;
  }

  .password-check-row button{
    width:100%;
  }

}

/* FIN IDFW PASSWORD SHIELD B3 */





/* IDFW_LEAKWATCH_V3_CSS_START */

.idfw-legacy-old-account-hidden{
  display:none !important;
}

.idfw-lw-card{
  position:relative;
  margin-bottom:14px;
  padding:20px !important;
  border-radius:18px !important;
  overflow:hidden;
}

.idfw-lw-card.priority{
  border-color:rgba(242,101,93,.35) !important;
}

.idfw-lw-card.check{
  border-color:rgba(239,176,82,.28) !important;
}

.idfw-lw-card.watch{
  border-color:rgba(80,184,213,.18) !important;
}

.idfw-lw-card::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:3px;
}

.idfw-lw-card.priority::before{
  background:#ef756b;
}

.idfw-lw-card.check::before{
  background:#e7ad58;
}

.idfw-lw-card.watch::before{
  background:#57aeca;
}

.idfw-lw-top{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:18px;
}

.idfw-lw-service{
  display:flex;
  gap:12px;
  align-items:flex-start;
}

.idfw-lw-shield{
  width:40px;
  height:40px;
  flex:0 0 40px;
  display:grid;
  place-items:center;
  border-radius:12px;
  background:rgba(88,221,181,.08);
  color:#62dfb8;
  font-weight:950;
}

.idfw-lw-service h3{
  margin:6px 0 2px;
  font-size:20px;
}

.idfw-lw-service small{
  color:var(--muted);
}

.idfw-lw-status{
  display:inline-flex;
  padding:4px 7px;
  border-radius:999px;
  font-size:8px;
  font-weight:950;
  letter-spacing:.08em;
}

.idfw-lw-status.priority{
  color:#ff8c83;
  background:rgba(239,117,107,.10);
}

.idfw-lw-status.check{
  color:#f2bd69;
  background:rgba(231,173,88,.10);
}

.idfw-lw-status.watch{
  color:#7dc9df;
  background:rgba(87,174,202,.10);
}

.idfw-lw-evidence{
  text-align:right;
}

.idfw-lw-evidence span{
  display:block;
  color:#7894a5;
  font-size:8px;
  font-weight:900;
  letter-spacing:.07em;
}

.idfw-lw-evidence span.crossed{
  color:#58ddb5;
}

.idfw-lw-evidence small{
  display:block;
  margin-top:6px;
  color:var(--muted);
  font-size:9px;
}

.idfw-lw-breach{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
  margin-top:17px;
  padding:11px 13px;
  border-radius:12px;
  background:rgba(5,15,24,.48);
}

.idfw-lw-breach small{
  color:#718b9a;
  font-size:7px;
  font-weight:900;
  letter-spacing:.1em;
}

.idfw-lw-breach b{
  color:#dceaf0;
  font-size:11px;
}

.idfw-lw-breach span{
  color:#617e90;
  font-size:9px;
}

.idfw-lw-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin-top:13px;
}

.idfw-lw-grid>div{
  padding:13px;
  border-radius:12px;
  background:rgba(5,15,25,.4);
}

.idfw-lw-grid small{
  display:block;
  margin-bottom:8px;
  color:#678293;
  font-size:7px;
  font-weight:900;
  letter-spacing:.08em;
}

.idfw-lw-chips{
  display:flex;
  flex-wrap:wrap;
  gap:5px;
}

.idfw-lw-chip{
  display:inline-flex;
  padding:5px 8px;
  border-radius:999px;
  font-size:8px;
  border:1px solid rgba(255,255,255,.07);
}

.idfw-lw-chip.real{
  color:#dba47f;
  background:rgba(219,164,127,.06);
}

.idfw-lw-chip.breach{
  color:#8eb2c5;
  background:rgba(92,157,188,.06);
}

.idfw-lw-chip.match{
  color:#ffd0ca;
  background:rgba(239,117,107,.10);
  border-color:rgba(239,117,107,.20);
}

.idfw-lw-none{
  color:#567182;
  font-size:9px;
}

.idfw-lw-match{
  display:flex;
  gap:11px;
  align-items:flex-start;
  margin-top:12px;
  padding:13px;
  border-radius:13px;
  background:rgba(239,117,107,.065);
  border:1px solid rgba(239,117,107,.15);
}

.idfw-lw-match.safe{
  background:rgba(79,204,166,.04);
  border-color:rgba(79,204,166,.11);
}

.idfw-lw-match-icon{
  width:27px;
  height:27px;
  flex:0 0 27px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:rgba(239,117,107,.13);
  color:#ff8f85;
  font-weight:950;
}

.idfw-lw-match.safe .idfw-lw-match-icon{
  background:rgba(79,204,166,.11);
  color:#58ddb5;
}

.idfw-lw-match small{
  display:block;
  margin-bottom:6px;
  color:#d88d86;
  font-size:7px;
  font-weight:950;
  letter-spacing:.09em;
}

.idfw-lw-match.safe small{
  color:#67bfa4;
}

.idfw-lw-match p{
  margin:0;
  color:#809baa;
  font-size:9px;
  line-height:1.5;
}

.idfw-lw-caveat{
  display:flex;
  gap:9px;
  align-items:flex-start;
  margin-top:12px;
  color:#6e8999;
}

.idfw-lw-caveat>span{
  width:20px;
  height:20px;
  flex:0 0 20px;
  display:grid;
  place-items:center;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.1);
  font-size:9px;
}

.idfw-lw-caveat p{
  margin:0;
  font-size:8px;
  line-height:1.55;
}

.idfw-lw-caveat strong{
  color:#9bb2bd;
}

.idfw-lw-actions{
  display:flex;
  align-items:center;
  gap:8px;
  margin-top:13px;
}

.idfw-lw-seen{
  color:#58b99c;
  font-size:9px;
}

.idfw-lw-filters{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
  margin-bottom:15px;
  padding:13px 15px;
  border-radius:14px;
  background:rgba(8,20,32,.72);
  border:1px solid rgba(255,255,255,.055);
}

.idfw-lw-filters b{
  display:block;
  font-size:12px;
}

.idfw-lw-filters small{
  color:var(--muted);
  font-size:8px;
}

.idfw-lw-filter-buttons{
  display:flex;
  gap:5px;
  flex-wrap:wrap;
}

.idfw-lw-filter-buttons button{
  padding:7px 10px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.08);
  background:transparent;
  color:#7895a6;
  cursor:pointer;
  font-size:8px;
  font-weight:800;
}

.idfw-lw-filter-buttons button.active{
  color:#08211a;
  background:#58ddb5;
  border-color:#58ddb5;
}

.idfw-lw-filter-hidden{
  display:none !important;
}

@media(max-width:650px){

  .idfw-lw-top,
  .idfw-lw-filters{
    flex-direction:column;
    align-items:stretch;
  }

  .idfw-lw-evidence{
    text-align:left;
  }

  .idfw-lw-grid{
    grid-template-columns:1fr;
  }

  .idfw-lw-filter-buttons{
    display:grid;
    grid-template-columns:1fr 1fr;
  }

}

/* IDFW_LEAKWATCH_V3_CSS_END */


/* IDFW_DASHBOARD_CLIENT_V4_START */


/* ==========================================================
   PREMIER EMAIL / SPAM
   ========================================================== */

.idfw-firstmail-tip{
  display:flex;
  gap:12px;
  align-items:flex-start;
  margin:14px 0;
  padding:14px;
  border-radius:14px;
  border:1px solid rgba(242,188,92,.20);
  background:rgba(242,188,92,.055);
}

.idfw-firstmail-icon{
  width:36px;
  height:36px;
  flex:0 0 36px;
  display:grid;
  place-items:center;
  border-radius:11px;
  background:rgba(242,188,92,.12);
  color:#efbc62;
  font-size:16px;
}

.idfw-firstmail-tip strong{
  color:#f1d7a9;
  font-size:12px;
}

.idfw-firstmail-tip p{
  margin:6px 0 0;
  color:#9baeb8;
  font-size:10px;
  line-height:1.55;
}

.idfw-firstmail-tip p b{
  color:#e9c889;
}

.idfw-firstmail-small{
  opacity:.78;
}


/* ==========================================================
   DASHBOARD
   ========================================================== */

.idfw-dashboard-loading{
  min-height:260px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  color:#7e99a8;
  font-size:11px;
}

.idfw-dashboard-loading span{
  width:16px;
  height:16px;
  border:2px solid rgba(88,221,181,.18);
  border-top-color:#58ddb5;
  border-radius:50%;
  animation:idfwDashSpin .8s linear infinite;
}

@keyframes idfwDashSpin{
  to{
    transform:rotate(360deg);
  }
}


.idfw-dash-hero{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  padding:26px;
  margin-bottom:15px;
  border:1px solid rgba(88,221,181,.12);
  border-radius:22px;
  overflow:hidden;
  background:
    radial-gradient(
      circle at 88% 20%,
      rgba(88,221,181,.10),
      transparent 34%
    ),
    linear-gradient(
      135deg,
      rgba(10,28,39,.96),
      rgba(6,18,28,.96)
    );
}

.idfw-dash-hero::after{
  content:"◆";
  position:absolute;
  right:125px;
  top:-45px;
  color:rgba(88,221,181,.025);
  font-size:190px;
  transform:rotate(12deg);
  pointer-events:none;
}

.idfw-dash-hero-copy{
  position:relative;
  z-index:1;
  max-width:650px;
}

.idfw-dash-eyebrow{
  color:#58ddb5;
  font-size:8px;
  font-weight:950;
  letter-spacing:.14em;
}

.idfw-dash-hero h3{
  margin:8px 0 7px;
  font-size:clamp(24px,4vw,38px);
  letter-spacing:-.035em;
}

.idfw-dash-hero p{
  max-width:600px;
  margin:0;
  color:#8fa6b2;
  line-height:1.55;
}


.idfw-dash-score{
  --score:0;
  width:126px;
  height:126px;
  flex:0 0 126px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:
    conic-gradient(
      #58ddb5 calc(var(--score) * 1%),
      rgba(255,255,255,.06) 0
    );
  position:relative;
  z-index:1;
}

.idfw-dash-score::after{
  content:"";
  position:absolute;
  inset:8px;
  border-radius:50%;
  background:#091822;
}

.idfw-dash-score>div{
  position:relative;
  z-index:2;
  text-align:center;
}

.idfw-dash-score strong{
  display:block;
  color:#eaf7f3;
  font-size:27px;
}

.idfw-dash-score span{
  display:block;
  max-width:70px;
  margin:2px auto 0;
  color:#738e9b;
  font-size:8px;
  line-height:1.3;
}


.idfw-dash-status-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  margin-bottom:15px;
}

.idfw-dash-status{
  appearance:none;
  width:100%;
  display:flex;
  align-items:flex-start;
  gap:10px;
  padding:14px;
  text-align:left;
  border:1px solid rgba(255,255,255,.055);
  border-radius:15px;
  background:rgba(8,22,33,.72);
  color:inherit;
}

.idfw-dash-status-icon{
  width:34px;
  height:34px;
  flex:0 0 34px;
  display:grid;
  place-items:center;
  border-radius:10px;
  background:rgba(255,255,255,.04);
  font-weight:900;
}

.idfw-dash-status.ok .idfw-dash-status-icon{
  color:#58ddb5;
  background:rgba(88,221,181,.08);
}

.idfw-dash-status.warning .idfw-dash-status-icon{
  color:#efbb62;
  background:rgba(239,187,98,.08);
}

.idfw-dash-status.danger .idfw-dash-status-icon{
  color:#ef7e75;
  background:rgba(239,126,117,.08);
}

.idfw-dash-status-body{
  min-width:0;
}

.idfw-dash-status-body small{
  display:block;
  color:#64808f;
  font-size:8px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.06em;
}

.idfw-dash-status-body b{
  display:block;
  margin-top:3px;
  color:#dcecef;
  font-size:17px;
}

.idfw-dash-status-body>span{
  display:block;
  margin-top:4px;
  color:#6d8795;
  font-size:8px;
  line-height:1.4;
}


.idfw-dash-main-grid{
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);
  gap:15px;
  margin-bottom:15px;
}


.idfw-dash-section-title{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:13px;
}

.idfw-dash-section-title span{
  color:#567787;
  font-size:7px;
  font-weight:950;
  letter-spacing:.11em;
}

.idfw-dash-section-title h3{
  margin:3px 0 0;
  font-size:17px;
}


.idfw-dash-actions{
  display:grid;
  gap:8px;
}

.idfw-dash-action{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:11px;
  padding:12px;
  border-radius:13px;
  border:1px solid rgba(255,255,255,.045);
  background:rgba(4,14,23,.36);
}

.idfw-dash-action-icon{
  width:32px;
  height:32px;
  display:grid;
  place-items:center;
  border-radius:10px;
  background:rgba(88,221,181,.07);
  color:#58ddb5;
  font-size:12px;
  font-weight:950;
}

.idfw-dash-action.warning .idfw-dash-action-icon{
  color:#efbb62;
  background:rgba(239,187,98,.08);
}

.idfw-dash-action.danger .idfw-dash-action-icon{
  color:#ef8077;
  background:rgba(239,128,119,.08);
}

.idfw-dash-action b{
  display:block;
  font-size:11px;
}

.idfw-dash-action p{
  margin:3px 0 0;
  color:#748d9a;
  font-size:8px;
  line-height:1.4;
}


.idfw-dash-allgood{
  display:flex;
  align-items:center;
  gap:12px;
  padding:15px;
  border-radius:13px;
  background:rgba(88,221,181,.045);
  border:1px solid rgba(88,221,181,.10);
}

.idfw-dash-allgood>span{
  width:36px;
  height:36px;
  display:grid;
  place-items:center;
  border-radius:50%;
  color:#58ddb5;
  background:rgba(88,221,181,.09);
  font-weight:950;
}

.idfw-dash-allgood b{
  display:block;
  color:#cdece3;
}

.idfw-dash-allgood p{
  margin:3px 0 0;
  color:#718e83;
  font-size:9px;
}


.idfw-dash-shortcut-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
}

.idfw-dash-shortcut-grid button{
  appearance:none;
  min-height:105px;
  padding:13px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  text-align:left;
  border:1px solid rgba(255,255,255,.055);
  border-radius:13px;
  background:rgba(5,16,25,.45);
  color:inherit;
  cursor:pointer;
  transition:
    transform .15s ease,
    border-color .15s ease,
    background .15s ease;
}

.idfw-dash-shortcut-grid button:hover{
  transform:translateY(-2px);
  border-color:rgba(88,221,181,.20);
  background:rgba(88,221,181,.045);
}

.idfw-dash-shortcut-grid button>span{
  color:#58ddb5;
  font-size:18px;
  font-weight:300;
}

.idfw-dash-shortcut-grid b{
  margin-top:7px;
  font-size:10px;
}

.idfw-dash-shortcut-grid small{
  margin-top:3px;
  color:#688391;
  font-size:8px;
  line-height:1.35;
}


.idfw-dash-explain{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:15px;
}

.idfw-dash-explain-icon{
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  border-radius:13px;
  background:rgba(88,221,181,.07);
  color:#58ddb5;
  font-size:18px;
}

.idfw-dash-explain span{
  color:#567887;
  font-size:7px;
  font-weight:950;
  letter-spacing:.11em;
}

.idfw-dash-explain h3{
  margin:3px 0 3px;
  font-size:14px;
}

.idfw-dash-explain p{
  max-width:760px;
  margin:0;
  color:#758d99;
  font-size:9px;
  line-height:1.5;
}


.idfw-dashboard-error{
  text-align:center;
  padding:28px;
}

.idfw-dashboard-error p{
  color:var(--muted);
}


@media(max-width:900px){

  .idfw-dash-status-grid{
    grid-template-columns:1fr 1fr;
  }

  .idfw-dash-main-grid{
    grid-template-columns:1fr;
  }

}


@media(max-width:600px){

  .idfw-dash-hero{
    align-items:flex-start;
    padding:19px;
  }

  .idfw-dash-score{
    width:82px;
    height:82px;
    flex-basis:82px;
  }

  .idfw-dash-score::after{
    inset:6px;
  }

  .idfw-dash-score strong{
    font-size:18px;
  }

  .idfw-dash-score span{
    font-size:6px;
  }

  .idfw-dash-status-grid{
    grid-template-columns:1fr 1fr;
  }

  .idfw-dash-action{
    grid-template-columns:auto minmax(0,1fr);
  }

  .idfw-dash-action button{
    grid-column:1 / -1;
    width:100%;
  }

  .idfw-dash-explain{
    grid-template-columns:auto minmax(0,1fr);
  }

  .idfw-dash-explain>button{
    grid-column:1 / -1;
    width:100%;
  }

}


@media(max-width:420px){

  .idfw-dash-hero{
    display:block;
  }

  .idfw-dash-score{
    margin-top:17px;
  }

  .idfw-dash-status-grid,
  .idfw-dash-shortcut-grid{
    grid-template-columns:1fr;
  }

}

/* IDFW_DASHBOARD_CLIENT_V4_END */

/* NYMIQ BRAND SYSTEM V1 */

.nymiq-brand-mark{
  display:block;
  object-fit:contain;
  flex:0 0 auto;
}

.nymiq-brand-mark-hero{
  width:84px;
  height:84px;
  filter:
    drop-shadow(0 0 18px rgba(73,229,179,.25))
    drop-shadow(0 0 34px rgba(87,168,255,.14));
}

.nymiq-brand-mark-nav{
  width:38px;
  height:38px;
  filter:drop-shadow(0 0 12px rgba(73,229,179,.18));
}

.brand-card .nymiq-brand-mark + h1{
  margin-top:14px;
}

.idfw-companion-icon img{
  display:block;
  width:31px;
  height:31px;
  object-fit:contain;
}

/* NYMIQ_COMMERCIAL_DESIGN_SYSTEM_V1_AUTH */

body{
  background:
    radial-gradient(circle at 72% -8%,rgba(18,56,90,.90) 0,transparent 34%),
    radial-gradient(circle at 6% 42%,rgba(10,48,40,.65) 0,transparent 28%),
    var(--bg);
}

#auth.auth-wrap{
  position:relative;
  width:min(1240px,100%);
  max-width:none;
  grid-template-columns:minmax(0,1.08fr) minmax(390px,.82fr);
  gap:clamp(48px,7vw,96px);
  padding:64px 42px;
}

#auth.auth-wrap::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background-image:
    linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);
  background-size:52px 52px;
  mask-image:linear-gradient(to bottom,#000 0,rgba(0,0,0,.72) 55%,transparent 100%);
}

.nymiq-auth-brand{
  max-width:680px;
}

.nymiq-auth-logo-line{
  display:flex;
  align-items:center;
  gap:14px;
  margin-bottom:34px;
}

.nymiq-auth-logo-line span{
  color:var(--text);
  font-size:25px;
  font-weight:900;
  letter-spacing:.12em;
}

.nymiq-auth-brand .nymiq-brand-mark-hero{
  width:58px;
  height:58px;
}

.nymiq-auth-kicker{
  display:block;
  color:var(--accent);
  font-size:11px;
  font-weight:900;
  letter-spacing:.16em;
}

.nymiq-auth-brand h1{
  max-width:650px;
  margin:14px 0 18px;
  font-size:clamp(42px,5vw,68px);
  line-height:1.02;
  letter-spacing:-.045em;
}

.nymiq-auth-brand .promise{
  max-width:620px;
  margin:0;
  color:#a9bdcb;
  font-size:18px;
  line-height:1.7;
}

.nymiq-auth-trust{
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  margin-top:28px;
}

.nymiq-auth-trust span{
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:8px 11px;
  border:1px solid rgba(255,255,255,.07);
  border-radius:999px;
  background:rgba(7,20,31,.62);
  color:#91a8b9;
  font-size:11px;
}

.nymiq-auth-trust span::before{
  content:"✓";
  color:var(--accent);
  font-weight:900;
}

.nymiq-auth-back{
  display:inline-flex;
  margin-top:24px;
  color:#718b9d;
  font-size:12px;
  text-decoration:none;
}

.nymiq-auth-back:hover{
  color:var(--text);
}

#auth .auth-card{
  width:100%;
  max-width:470px;
  justify-self:end;
  padding:32px;
  border-color:rgba(65,104,132,.68);
  border-radius:26px;
  background:
    linear-gradient(
      180deg,
      rgba(15,31,49,.96),
      rgba(8,19,31,.97)
    );
  box-shadow:
    0 34px 100px rgba(0,0,0,.42),
    inset 0 1px 0 rgba(255,255,255,.035);
  backdrop-filter:blur(18px);
}

.nymiq-auth-card-head{
  margin-bottom:22px;
}

.nymiq-auth-card-head>span{
  color:var(--accent);
  font-size:10px;
  font-weight:900;
  letter-spacing:.14em;
}

.nymiq-auth-card-head h2{
  margin:7px 0 5px;
  font-size:28px;
  letter-spacing:-.03em;
}

.nymiq-auth-card-head p{
  margin:0;
  color:var(--muted);
  font-size:13px;
}

#auth .auth-tabs{
  gap:5px;
  padding:4px;
  margin-bottom:24px;
  border:1px solid rgba(255,255,255,.055);
  border-radius:14px;
  background:#07131f;
}

#auth .auth-tabs button{
  min-height:42px;
  padding:9px 12px;
  border:0;
  border-radius:10px;
  background:transparent;
  color:#7f96a8;
  font-weight:800;
}

#auth .auth-tabs button.active{
  border:0;
  background:#102437;
  color:var(--text);
  box-shadow:inset 0 0 0 1px #2a4962;
}

#auth form label{
  margin:15px 0;
  color:#b9cbd9;
  font-size:12px;
  font-weight:700;
}

#auth input{
  min-height:48px;
  margin-top:7px;
  padding:12px 14px;
  border-color:#274157;
  border-radius:12px;
  background:#07131f;
}

#auth input:hover{
  border-color:#35566f;
}

#auth input:focus{
  border-color:var(--accent2);
  background:#091724;
  box-shadow:0 0 0 4px rgba(87,168,255,.10);
}

#auth .primary,
#auth .ghost{
  min-height:46px;
  border-radius:12px;
  font-weight:850;
}

#auth .primary{
  box-shadow:0 12px 30px rgba(73,229,179,.13);
}

#auth .ghost.wide{
  margin-top:8px;
  background:transparent;
  border-color:transparent;
  color:#83a0b4;
}

#auth .ghost.wide:hover{
  color:var(--text);
  background:rgba(255,255,255,.035);
}

#auth .msg{
  margin:14px 0 0;
  font-size:12px;
}

#auth form h3{
  margin:4px 0 8px;
  font-size:22px;
}

#auth form>.muted{
  margin-top:0;
  line-height:1.6;
}

@media(max-width:900px){

  #auth.auth-wrap{
    display:block;
    width:min(560px,100%);
    padding:34px 22px 48px;
  }

  #auth .brand-card{
    display:block;
    max-width:100%;
    margin-bottom:24px;
    text-align:center;
  }

  .nymiq-auth-logo-line{
    justify-content:center;
    margin-bottom:16px;
  }

  .nymiq-auth-brand .nymiq-brand-mark-hero{
    width:44px;
    height:44px;
  }

  .nymiq-auth-logo-line span{
    font-size:20px;
  }

  .nymiq-auth-brand h1{
    max-width:520px;
    margin:10px auto 12px;
    font-size:clamp(32px,9vw,48px);
  }

  .nymiq-auth-brand .promise{
    margin:auto;
    font-size:14px;
    line-height:1.6;
  }

  .nymiq-auth-trust{
    justify-content:center;
    margin-top:18px;
  }

  .nymiq-auth-back{
    margin-top:18px;
  }

  #auth .auth-card{
    max-width:none;
    justify-self:auto;
  }
}

@media(max-width:520px){

  #auth.auth-wrap{
    padding:24px 14px 34px;
  }

  .nymiq-auth-kicker{
    font-size:9px;
  }

  .nymiq-auth-brand h1{
    font-size:clamp(29px,9vw,38px);
  }

  .nymiq-auth-trust{
    display:none;
  }

  #auth .auth-card{
    padding:24px 18px;
    border-radius:20px;
  }

  .nymiq-auth-card-head h2{
    font-size:24px;
  }
}

/* NYMIQ_AUTH_HIDE_APP_CHROME_V1 */

/*
   Tant que l'écran d'authentification est visible,
   aucune navigation réservée à l'espace connecté
   ne doit apparaître.
*/

body.nymiq-auth-active .idfw-mobile-dock,
body.nymiq-auth-active .idfw-mobile-menu,
body.nymiq-auth-active .idfw-ui-switch{
  display:none !important;
}

/*
   Le formulaire reste au-dessus de tout ancien
   composant mobile éventuellement initialisé.
*/

body.nymiq-auth-active #auth{
  position:relative;
  z-index:2;
}

@media(max-width:520px){

  body.nymiq-auth-active{
    padding-bottom:0 !important;
  }

  #auth .nymiq-auth-back{
    margin-bottom:4px;
  }

}

/* NYMIQ_AUTH_HARD_HIDE_APP_V1 */

/*
   Séparation stricte entre l'espace public
   d'authentification et l'espace connecté.

   Lorsque #app possède la classe hidden,
   app.js applique nymiq-auth-active au body.
   Aucun composant du dashboard ne doit alors
   pouvoir être réaffiché par le CSS mobile.
*/

html body.nymiq-auth-active #app.app{
  display:none !important;
  visibility:hidden !important;
  pointer-events:none !important;
}

/* ==========================================================
   NYMIQ_DASHBOARD_PREMIUM_V1
   ========================================================== */

#app > main > header > .badge{
  display:none !important;
}

#overview{
  width:100%;
  max-width:1180px;
  margin:0 auto;
}

#overview .idfw-dashboard-loading{
  min-height:74px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:18px;
  border:1px solid rgba(74,111,140,.42);
  border-radius:18px;
  background:
    linear-gradient(
      180deg,
      rgba(12,27,43,.82),
      rgba(7,19,31,.82)
    );
  color:#93aabc;
  font-size:13px;
}

#overview .idfw-dashboard-loading span{
  width:15px;
  height:15px;
  border:2px solid rgba(73,229,179,.18);
  border-top-color:var(--accent);
  border-radius:50%;
  animation:nymiq-dashboard-spin .8s linear infinite;
}

@keyframes nymiq-dashboard-spin{
  to{
    transform:rotate(360deg);
  }
}

.idfw-dash-hero{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:28px;
  padding:25px 26px;
  margin-bottom:14px;
  border-radius:22px;
}

.idfw-dash-hero-copy{
  min-width:0;
}

.idfw-dash-eyebrow{
  display:block;
  margin-bottom:7px;
  color:var(--accent);
  font-size:10px;
  font-weight:900;
  letter-spacing:.16em;
}

.idfw-dash-hero-copy h3{
  margin:0 0 7px;
  font-size:clamp(27px,3vw,38px);
  line-height:1.08;
  letter-spacing:-.035em;
}

.idfw-dash-hero-copy p{
  max-width:660px;
  margin:0;
  color:#91a9ba;
  font-size:14px;
  line-height:1.6;
}

.idfw-dash-score{
  width:112px;
  height:112px;
  min-width:112px;
}

.idfw-dash-score strong{
  font-size:31px;
}

.idfw-dash-score span{
  max-width:78px;
  font-size:9px;
  line-height:1.25;
}

.idfw-dash-status-grid{
  gap:11px;
  margin-bottom:14px;
}

.idfw-dash-status-grid > *{
  min-height:116px;
  padding:15px !important;
  border-radius:17px !important;
}

.idfw-dash-status-grid b{
  font-size:20px;
}

.idfw-dash-status-grid small,
.idfw-dash-status-grid p{
  line-height:1.45;
}

.idfw-dash-main-grid{
  gap:14px;
}

.idfw-dash-main-grid > .panel{
  padding:18px;
  border-radius:18px;
}

.idfw-dash-section-title{
  margin-bottom:13px;
}

.idfw-dash-section-title span{
  color:#748ca0;
  font-size:9px;
  font-weight:900;
  letter-spacing:.15em;
}

.idfw-dash-section-title h3{
  margin:4px 0 0;
  font-size:19px;
  letter-spacing:-.02em;
}

.idfw-dash-actions{
  gap:8px;
}

.idfw-dash-shortcut-grid{
  gap:9px;
}

.idfw-dash-shortcut-grid button{
  min-height:92px;
  padding:13px;
  border-radius:14px;
}

.idfw-dash-shortcut-grid button > span{
  font-size:19px;
}

.idfw-dash-shortcut-grid button b{
  font-size:13px;
}

.idfw-dash-shortcut-grid button small{
  font-size:10px;
  line-height:1.4;
}


/* DEMARRAGE */

#onboarding{
  width:100%;
  max-width:1180px;
  margin:0 auto;
}

#onboarding .onboarding-hero{
  padding:21px 22px;
  margin-bottom:10px;
  border-radius:20px;
}

#onboarding .onboarding-hero h3{
  font-size:clamp(24px,2.6vw,32px);
}

#onboarding .onboarding-hero p{
  max-width:720px;
  margin-bottom:0;
  line-height:1.55;
}

#onboarding .progress-ring{
  width:86px;
  height:86px;
  border-width:6px;
}

#onboarding .progress-ring b{
  font-size:22px;
}

#onboarding .progress{
  height:6px;
  margin:0 0 11px;
}

#onboarding .step-list{
  gap:8px;
  margin-bottom:12px;
}

#onboarding .step-chip{
  min-height:48px;
  padding:8px 10px;
  border-radius:11px;
  font-size:12px;
}

#onboarding .step-chip span{
  width:22px;
  height:22px;
  flex:0 0 22px;
}

#onboarding .onboarding-actions{
  gap:12px;
}

#onboarding .setup-panel{
  padding:18px;
  border-radius:17px;
}

#onboarding .setup-panel h3{
  margin-top:1px;
  font-size:18px;
}

#onboarding .setup-panel p{
  line-height:1.55;
}

/* ==========================================================
   NYMIQ_ONBOARDING_FINISH_V2
   ========================================================== */

#onboarding .nymiq-onboarding-redundant{
  display:none !important;
}

#stepBrowser.nymiq-coming-soon{
  border-style:dashed;
  border-color:rgba(83,119,145,.58);
  background:
    linear-gradient(
      180deg,
      rgba(10,24,39,.82),
      rgba(6,17,29,.82)
    );
}

#stepBrowser.nymiq-coming-soon > .badge{
  margin-top:8px;
}


/*
   Email Shield est déjà fonctionnel :
   inutile de conserver l'assistant de connexion
   technique une fois cette étape terminée.
*/
#stepEmail.nymiq-step-complete #providerSetup{
  display:none !important;
}

/* ==========================================================
   NYMIQ_DASHBOARD_FINAL_POLISH_V1
   ========================================================== */

#overview{
  --nymiq-dashboard-gap:14px;
}


/* HERO */

#overview .idfw-dash-hero{
  min-height:0;
  padding:22px 24px;
  gap:24px;
}

#overview .idfw-dash-hero-copy h3{
  margin:7px 0 5px;
  line-height:1.05;
}

#overview .idfw-dash-hero-copy p{
  max-width:680px;
  margin:0;
  line-height:1.5;
}


/* SCORE */

#overview .idfw-dash-score{
  flex:0 0 112px;
  width:112px;
  height:112px;
}

#overview .idfw-dash-score strong{
  font-size:32px;
  line-height:1;
}

#overview .idfw-dash-score span{
  display:block;
  max-width:78px;
  margin:6px auto 0;

  color:#7f98aa;

  font-size:9px;
  font-weight:750;
  line-height:1.2;

  letter-spacing:.05em;
  text-align:center;
  text-transform:uppercase;
}


/* CARTES D'ÉTAT */

#overview .idfw-dash-status-grid{
  gap:12px;
  margin-top:12px;
}

#overview .idfw-dash-status-grid > *{
  min-height:126px;
  padding:16px 17px;
}

#overview .idfw-dash-status-grid b,
#overview .idfw-dash-status-grid strong{
  line-height:1.12;
}

#overview .idfw-dash-status-grid small,
#overview .idfw-dash-status-grid p{
  line-height:1.4;
}


/* PRIORITÉS */

#overview .idfw-dash-main-grid{
  gap:14px;
  margin-top:14px;
}

#overview .idfw-dash-actions{
  gap:10px;
}

#overview .idfw-dash-actions > *{
  padding:15px 16px;
  border-radius:16px;
}

#overview .idfw-dash-actions button{
  min-height:44px;
  margin-top:10px;
  padding:9px 14px;
  font-size:14px;
}


/* ACTIONS RAPIDES */

#overview .idfw-dash-shortcut-grid{
  gap:10px;
}

#overview .idfw-dash-shortcut-grid button{
  min-height:108px;
  padding:15px 16px;
  border-radius:15px;
}

#overview .idfw-dash-shortcut-grid button b{
  line-height:1.2;
}

#overview .idfw-dash-shortcut-grid button small{
  margin-top:4px;
  line-height:1.35;
}


/* FINITION */

#overview .panel{
  box-shadow:
    0 18px 48px rgba(0,0,0,.22),
    inset 0 1px 0 rgba(255,255,255,.025);
}

/* ==========================================================
   NYMIQ_DATA_SHIELD_MANAGEMENT_STYLE_V1
   ========================================================== */

#data .idfw-data-profile-actions{
  display:grid;
  grid-template-columns:minmax(0,1fr) 48px;
  gap:8px;
  align-items:stretch;
  margin-top:12px;
}

#data .idfw-data-profile-actions > button{
  margin:0;
}

#data .idfw-data-manage{
  position:relative;
}

#data .idfw-data-manage > summary{
  display:grid;
  place-items:center;

  min-width:48px;
  min-height:44px;

  list-style:none;
  cursor:pointer;

  border:
    1px solid rgba(108,157,190,.32);

  border-radius:13px;

  background:
    rgba(20,42,62,.75);

  color:#d9e8f2;

  font-size:18px;
  font-weight:800;
}

#data
.idfw-data-manage
> summary::-webkit-details-marker{
  display:none;
}

#data .idfw-data-manage-menu{
  position:absolute;

  z-index:90;

  right:0;
  top:calc(100% + 7px);

  display:grid;
  gap:7px;

  width:min(300px,82vw);

  padding:9px;

  border:
    1px solid rgba(100,154,188,.32);

  border-radius:15px;

  background:
    rgba(3,16,31,.98);

  box-shadow:
    0 18px 50px rgba(0,0,0,.45);
}

#data .idfw-data-manage-menu button{
  width:100%;
  min-height:44px;
  margin:0;

  text-align:left;
}

#data .idfw-data-remove-category{
  width:100%;

  min-height:38px;

  margin-top:8px;

  font-size:12px;
}


@media(max-width:700px){

  #data .idfw-data-manage-menu{
    position:fixed;

    left:14px;
    right:14px;

    top:auto;

    bottom:
      calc(
        82px
        + env(safe-area-inset-bottom)
      );

    width:auto;

    padding:12px;

    border-radius:18px;
  }

  #data .idfw-data-manage-menu button{
    min-height:48px;
    font-size:14px;
  }

  #data .idfw-data-remove-category{
    min-height:42px;
  }

}

/* NYMIQ_DATA_SHIELD_REVIEW_UI_V2 */

#dataDialog .idfw-data-add-category{
  margin-top:14px;

  border:
    1px solid rgba(100,154,188,.26);

  border-radius:15px;

  background:
    rgba(6,18,33,.58);

  overflow:hidden;
}

#dataDialog .idfw-data-add-category > summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;

  padding:15px 16px;

  cursor:pointer;
  list-style:none;

  color:#dbe8f1;

  font-weight:750;
}

#dataDialog
.idfw-data-add-category
> summary::-webkit-details-marker{
  display:none;
}

#dataDialog .idfw-data-add-category > summary span{
  display:grid;
  place-items:center;

  min-width:28px;
  height:28px;

  padding:0 7px;

  border-radius:999px;

  background:
    rgba(52,211,153,.10);

  color:#55d8a6;

  font-size:12px;
}

#dataDialog .idfw-data-add-category-list{
  display:grid;
  gap:12px;

  padding:0 12px 12px;
}

#dataDialog .idfw-data-reactivate-note{
  margin-top:8px;

  padding:10px 12px;

  border:
    1px solid rgba(244,184,75,.25);

  border-radius:10px;

  background:
    rgba(244,184,75,.06);

  color:#d6b978;

  font-size:12px;
  line-height:1.4;
}

/* ==========================================================
   NYMIQ_DATA_SHIELD_PREMIUM_UI_V3
   ========================================================== */

#data{
  --nymiq-data-gap:16px;
}

#data > .hero,
#data .data-hero{
  overflow:hidden;
}

#data #refreshData{
  width:auto;
  min-width:108px;
  white-space:nowrap;
  word-break:normal;
}

#data #dataStats{
  gap:12px;
}

#data #dataStats .stat{
  min-height:118px;
  padding:18px 20px;
}

#data #dataStats .stat span{
  line-height:1.25;
}

#data #dataStats .stat b{
  margin-top:7px;
}

#data #priorityActions{
  display:grid;
  gap:0;
}

#data .priority-item{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:8px 14px;

  padding:18px 0;

  border-bottom:
    1px solid rgba(115,150,178,.25);
}

#data .priority-item:last-child{
  border-bottom:0;
}

#data .priority-item .priority-rank{
  display:none;
}

#data .priority-item > div{
  min-width:0;
}

#data .priority-item b{
  display:block;

  margin-bottom:4px;

  font-size:16px;
  line-height:1.25;
}

#data .priority-item small{
  display:block;

  line-height:1.4;
}

#data .priority-item p{
  margin:
    7px
    0
    0;

  line-height:1.45;
}

#data .priority-item > button{
  align-self:center;

  min-width:76px;
  min-height:40px;

  margin:0;
}

#data #categoryExposure{
  display:grid;
  gap:8px;
}

#data .exposure-row{
  padding:15px 14px;

  border-radius:14px;
}

#data .exposure-row > div:first-child{
  min-width:0;
}

#data .exposure-row b{
  font-size:15px;
}

#data .exposure-row small{
  margin-top:3px;
  line-height:1.35;
}

#data .data-profile{
  padding-top:20px;
  padding-bottom:20px;
}

#data .profile-main{
  gap:10px;
}

#data .profile-main small{
  line-height:1.35;
}

#data .profile-flags{
  gap:7px;
}

#data .profile-flags .state{
  margin:0;
}

#data .idfw-data-profile-actions{
  margin-top:13px;
}

#data .panel > h3,
#data .panel > h2{
  margin-bottom:8px;
}


/* Privacy / protections */

#data .privacy-row,
#data .protection-row{
  min-height:58px;
}

#data .privacy-row{
  padding-top:14px;
  padding-bottom:14px;
}


/* Mobile */

@media(max-width:700px){

  #data{
    --nymiq-data-gap:13px;
  }

  #data .hero,
  #data .data-hero{
    padding:
      20px
      16px !important;
  }

  #data .hero h3,
  #data .data-hero h3{
    max-width:390px;

    font-size:
      clamp(
        30px,
        8.2vw,
        38px
      ) !important;

    line-height:1.08 !important;

    letter-spacing:-.035em;
  }

  #data .hero p,
  #data .data-hero p{
    max-width:420px;

    font-size:15px;
    line-height:1.52;
  }

  #data #refreshData{
    min-width:102px;

    padding-left:14px;
    padding-right:14px;

    font-size:13px;
  }

  #data #dataStats{
    grid-template-columns:
      repeat(
        2,
        minmax(0,1fr)
      ) !important;

    gap:10px;
  }

  #data #dataStats .stat{
    min-height:104px;

    padding:15px 16px;
  }

  #data #dataStats .stat span{
    font-size:13px;
  }

  #data #dataStats .stat b{
    font-size:28px;
  }

  #data .priority-item{
    grid-template-columns:
      minmax(0,1fr);

    padding:16px 0;
  }

  #data .priority-item p{
    margin-top:6px;

    font-size:13px;
  }

  #data .priority-item > button{
    justify-self:start;

    width:auto;
    min-width:94px;
  }

  #data .exposure-row{
    padding:14px 12px;
  }

  #data .exposure-row strong{
    font-size:15px;
  }

  #data .data-profile{
    padding-top:17px;
    padding-bottom:17px;
  }

  #data .profile-main b{
    font-size:16px;
  }

  #data .profile-main small{
    font-size:12px;
  }

  #data .profile-flags .state{
    font-size:12px;
  }

}

/* NYMIQ_DATA_SHIELD_FINAL_POLISH_V31 */

#data .nymiq-exposure-count{
  display:inline-flex;
  align-items:center;

  margin-top:7px;

  padding:4px 8px;

  border-radius:999px;

  background:
    rgba(239,68,68,.07);

  color:
    rgba(241,245,249,.82);

  font-size:12px;
  font-weight:700;
}

@media(max-width:700px){

  #data .nymiq-exposure-count{
    margin-top:6px;

    font-size:11px;
  }

}


/* ==========================================================
   NYMIQ_LEAK_MANAGEMENT_CSS_V1D
   ========================================================== */

.idfw-lw-filter-buttons{
  display:flex;
  gap:8px;
  max-width:100%;
  overflow-x:auto;
  padding-bottom:5px;
  scrollbar-width:none;
  -webkit-overflow-scrolling:touch;
}

.idfw-lw-filter-buttons::-webkit-scrollbar{
  display:none;
}

.idfw-lw-filter-buttons button{
  flex:0 0 auto;
  white-space:nowrap;
}

.idfw-lw-management-state{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:34px;
  padding:6px 10px;
  border:1px solid rgba(148,163,184,.20);
  border-radius:999px;
  font-size:11px;
  font-weight:800;
  white-space:nowrap;
}

.idfw-lw-management-state[data-state="resolved"]{
  border-color:rgba(45,212,191,.30);
  background:rgba(45,212,191,.09);
}

.idfw-lw-management-state[data-state="ignored"],
.idfw-lw-management-state[data-state="archived"],
.idfw-lw-management-state[data-state="deleted"]{
  opacity:.75;
}

.idfw-lw-card[data-idfw-state="ignored"],
.idfw-lw-card[data-idfw-state="archived"]{
  opacity:.84;
}

.idfw-lw-manage{
  position:relative;
  flex:0 0 auto;
}

.idfw-lw-manage summary{
  display:flex;
  align-items:center;
  justify-content:center;
  width:42px;
  min-width:42px;
  height:38px;
  padding:0;
  list-style:none;
  cursor:pointer;
  border:1px solid rgba(148,163,184,.20);
  border-radius:11px;
  background:rgba(255,255,255,.025);
  font-weight:900;
  letter-spacing:2px;
}

.idfw-lw-manage summary::-webkit-details-marker{
  display:none;
}

.idfw-lw-manage-menu{
  position:absolute;
  z-index:100;
  top:calc(100% + 7px);
  right:0;
  width:255px;
  max-width:calc(100vw - 32px);
  padding:7px;
  border:1px solid rgba(148,163,184,.22);
  border-radius:14px;
  background:#111827;
  box-shadow:0 20px 55px rgba(0,0,0,.40);
}

.idfw-lw-manage-menu button{
  display:block;
  width:100%;
  min-height:42px;
  padding:9px 10px;
  border:0;
  border-radius:9px;
  text-align:left;
  white-space:normal;
  background:transparent;
}

.idfw-lw-manage-menu button:hover{
  background:rgba(255,255,255,.055);
}

.idfw-lw-manage-menu button.danger{
  color:#fb7185;
}

#refreshLeakWatch{
  min-width:max-content;
  white-space:nowrap !important;
  word-break:normal !important;
}

@media (max-width:700px){

  .idfw-lw-filter-buttons{
    width:100%;
  }

  .idfw-lw-actions{
    gap:7px;
    align-items:center;
  }

  .idfw-lw-manage{
    margin-left:auto;
  }

  .idfw-lw-manage-menu{
    position:fixed;
    z-index:999;
    top:auto;
    right:16px;
    bottom:82px;
    left:16px;
    width:auto;
    max-width:none;
    padding:10px;
    border-radius:18px;
  }

  .idfw-lw-manage-menu button{
    min-height:48px;
    font-size:14px;
  }

  #refreshLeakWatch{
    width:auto !important;
    flex:0 0 auto !important;
  }

}

/* FIN NYMIQ_LEAK_MANAGEMENT_CSS_V1D */


/* ==========================================================
   NYMIQ_LEAK_MOBILE_FINAL_V2
   ========================================================== */

.idfw-lw-filter-buttons{
  display:flex !important;
  flex-direction:row !important;
  flex-wrap:nowrap !important;
  justify-content:flex-start !important;
  align-items:center !important;
  width:100% !important;
  max-width:100% !important;
  overflow-x:auto !important;
  overflow-y:hidden !important;
  gap:8px !important;
  padding-bottom:6px !important;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
}

.idfw-lw-filter-buttons::-webkit-scrollbar{
  display:none;
}

.idfw-lw-filter-buttons > button{
  display:inline-flex !important;
  flex:0 0 auto !important;
  width:auto !important;
  min-width:max-content !important;
  white-space:nowrap !important;
}

@media (max-width:700px){

  .idfw-lw-filters{
    width:100% !important;
    max-width:100% !important;
    overflow:hidden !important;
  }

  .idfw-lw-filter-buttons{
    flex-wrap:nowrap !important;
    overflow-x:auto !important;
  }

  #refreshLeakWatch{
    white-space:nowrap !important;
    flex:0 0 auto !important;
  }

}

/* FIN NYMIQ_LEAK_MOBILE_FINAL_V2 */


/* NYMIQ_ONBOARDING_DISCOVERY_UI_V2 */

#onboarding .nymiq-discovery-hero{
  overflow:hidden;
  position:relative;
}

#onboarding .nymiq-discovery-hero:after{
  content:"";
  position:absolute;
  width:260px;
  height:260px;
  right:-120px;
  bottom:-150px;
  border-radius:50%;
  background:
    radial-gradient(
      circle,
      rgba(87,168,255,.18),
      transparent 68%
    );
  pointer-events:none;
}

#onboarding .nymiq-onboarding-trust{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:16px;
}

#onboarding .nymiq-onboarding-trust span{
  padding:7px 10px;
  border:1px solid #24445d;
  border-radius:999px;
  background:#081725;
  color:#a9c8d9;
  font-size:12px;
}

#onboarding .nymiq-discovery-card{
  grid-row:span 2;
}

#onboarding .nymiq-discovery-card label{
  margin-top:12px;
}

#onboarding .nymiq-discovery-question{
  margin-top:20px;
  padding-top:18px;
  border-top:1px solid #1f3a51;
}

#onboarding .nymiq-discovery-question h3{
  margin:5px 0 6px;
}

#onboarding .nymiq-data-choice-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin-top:14px;
}

#onboarding .nymiq-data-choice-grid label{
  margin:0;
  padding:12px;
  border:1px solid #203e55;
  background:#081725;
  border-radius:13px;
}

#onboarding .nymiq-data-choice-grid label > span{
  display:block;
  margin-bottom:7px;
  color:#d7edf7;
  font-weight:800;
  font-size:12px;
}

#onboarding .nymiq-data-choice-grid select{
  width:100%;
  margin:0;
}

#onboarding .nymiq-discovery-submit{
  margin-top:16px;
  min-height:48px;
  font-weight:900;
}

#onboarding .nymiq-diagnostic-card{
  background:
    linear-gradient(
      145deg,
      rgba(15,40,57,.96),
      rgba(7,22,34,.96)
    );
}

#onboarding .nymiq-diagnostic-preview{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin:18px 0;
}

#onboarding .nymiq-diagnostic-preview > div{
  padding:14px;
  border:1px solid #21465e;
  border-radius:14px;
  background:#071521;
}

#onboarding .nymiq-diagnostic-preview span{
  display:block;
  color:#8eabba;
  font-size:11px;
  margin-bottom:5px;
}

#onboarding .nymiq-diagnostic-preview strong{
  font-size:24px;
  color:var(--accent);
}

#onboarding .nymiq-upgrade-card{
  position:relative;
  overflow:hidden;
  border-color:#49528a;
  background:
    linear-gradient(
      145deg,
      rgba(24,31,65,.92),
      rgba(9,22,36,.98)
    );
}

#onboarding .nymiq-upgrade-card:before{
  content:"";
  position:absolute;
  width:180px;
  height:180px;
  right:-90px;
  top:-100px;
  border-radius:50%;
  background:
    radial-gradient(
      circle,
      rgba(119,111,255,.18),
      transparent 70%
    );
}

#onboarding .nymiq-plan-pill{
  display:inline-flex;
  align-items:center;
  padding:6px 9px;
  margin-bottom:12px;
  border:1px solid #3b5971;
  border-radius:999px;
  color:#b8d8e8;
  font-size:10px;
  font-weight:900;
  letter-spacing:.08em;
}

#onboarding .nymiq-launch-badge{
  display:inline-block;
  margin-top:14px;
}

#onboarding .nymiq-coming-soon{
  background:
    linear-gradient(
      145deg,
      rgba(12,30,45,.96),
      rgba(7,20,31,.96)
    );
  border-style:dashed;
}

@media(max-width:700px){

  #onboarding .nymiq-data-choice-grid{
    grid-template-columns:1fr;
  }

  #onboarding .nymiq-diagnostic-preview{
    grid-template-columns:1fr 1fr;
  }

  #onboarding .nymiq-onboarding-trust{
    display:grid;
  }

  #onboarding .nymiq-onboarding-trust span{
    border-radius:10px;
  }
}

@media(max-width:430px){

  #onboarding .nymiq-diagnostic-preview{
    grid-template-columns:1fr;
  }
}

/* NYMIQ_IDENTITY_SHIELD_COMPACT_UI_V3 */

.identity-service-card{
  padding:18px 0;
  border-bottom:1px solid rgba(148,163,184,.28);
}

.identity-service-card:last-child{
  border-bottom:0;
}

.identity-service-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  margin-bottom:16px;
}

.identity-service-head > div{
  min-width:0;
}

.identity-service-head b{
  display:block;
  font-size:1.04rem;
  line-height:1.25;
}

.identity-service-head small{
  display:block;
  margin-top:4px;
  color:var(--muted);
  word-break:break-word;
}

.identity-service-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}

.identity-service-block{
  min-width:0;
  padding:14px;
  border:1px solid rgba(148,163,184,.20);
  border-radius:16px;
  background:rgba(15,23,42,.34);
}

.identity-service-block .eyebrow{
  display:block;
  margin-bottom:10px;
}

.identity-service-block strong,
.identity-service-block .muted{
  display:block;
  margin-bottom:12px;
}

.identity-service-block button,
.identity-service-block select{
  width:100%;
}

@media (max-width:760px){
  #identity .hero{
    margin-bottom:16px;
  }

  #identityStats{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
  }

  #identityStats .stat{
    min-height:116px;
  }

  .identity-service-card{
    padding:16px 0;
  }

  .identity-service-grid{
    grid-template-columns:1fr;
    gap:10px;
  }

  .identity-service-block{
    padding:13px;
  }

  .identity-service-head{
    gap:10px;
  }

  .identity-service-head .badge{
    flex:0 0 auto;
    font-size:.68rem;
  }

  #identity .plan-grid{
    grid-template-columns:1fr;
  }
}

/* ==========================================================
   NYMIQ_PHONE_SHIELD_COMMERCIAL_STYLE_V2
   ========================================================== */

#phone .phone-hero{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}

#phone .phone-hero > div:first-child{
  flex:1;
  min-width:0;
}

#phone .phone-orb{
  min-width:112px;
  min-height:112px;
  border-radius:32px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  font-size:38px;
  font-weight:800;
  background:
    radial-gradient(circle at 35% 25%,
      rgba(255,255,255,.15),
      rgba(255,255,255,.03) 48%,
      transparent 70%);
  border:1px solid rgba(255,255,255,.11);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.08),
    0 18px 42px rgba(0,0,0,.18);
}

#phone .phone-orb small{
  display:block;
  margin-top:8px;
  font-size:10px;
  letter-spacing:.08em;
  opacity:.72;
}

#phone .phone-primary-card{
  position:relative;
  overflow:hidden;
}

#phone .phone-primary-card::after{
  content:"";
  position:absolute;
  width:180px;
  height:180px;
  right:-90px;
  top:-90px;
  border-radius:50%;
  background:rgba(255,255,255,.025);
  pointer-events:none;
}

#phone .panel-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
}

#phone .panel-head > div:first-child{
  min-width:0;
}

#phone .panel-head h3{
  margin-top:4px;
  margin-bottom:4px;
}

#phone .phone-number-active{
  margin-top:16px;
}

#phone .phone-number-active small{
  display:block;
  margin-bottom:5px;
  font-size:10px;
  font-weight:800;
  letter-spacing:.09em;
  opacity:.7;
}

#phone .phone-number-active b{
  display:block;
  font-size:clamp(22px,4vw,30px);
  letter-spacing:.025em;
}

#phone .phone-plan-lock{
  max-width:720px;
  margin:0 auto;
  text-align:center;
  padding:34px;
}

#phone .phone-lock-icon{
  width:76px;
  height:76px;
  margin:0 auto 16px;
  border-radius:24px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:32px;
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.10);
}

#phone .phone-plan-lock h3{
  margin:8px 0;
  font-size:clamp(24px,4vw,34px);
}

#phone .phone-plan-price{
  display:flex;
  align-items:baseline;
  justify-content:center;
  gap:6px;
  margin:22px 0;
}

#phone .phone-plan-price strong{
  font-size:38px;
  line-height:1;
}

#phone .phone-plan-price span{
  opacity:.62;
}

#phone .phone-lock-features{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin:20px 0;
  text-align:left;
}

#phone .phone-lock-features > div{
  padding:12px 14px;
  border-radius:14px;
  background:rgba(255,255,255,.035);
  border:1px solid rgba(255,255,255,.07);
}

#phone .phone-details{
  padding:0;
  overflow:hidden;
}

#phone .phone-details > summary{
  cursor:pointer;
  list-style:none;
  padding:18px 20px;
  font-weight:800;
  user-select:none;
}

#phone .phone-details > summary::-webkit-details-marker{
  display:none;
}

#phone .phone-details > summary::after{
  content:"+";
  float:right;
  font-size:20px;
  opacity:.7;
}

#phone .phone-details[open] > summary::after{
  content:"−";
}

#phone .phone-details-body{
  padding:0 20px 20px;
}

#phone .phone-details-body p:first-child{
  margin-top:0;
}

#phone .checks{
  margin:0;
  padding:0;
  list-style:none;
  display:grid;
  gap:10px;
}

#phone .checks li{
  padding:10px 12px;
  border-radius:12px;
  background:rgba(255,255,255,.03);
}

@media (max-width:760px){

  #phone .phone-hero{
    align-items:flex-start;
  }

  #phone .phone-orb{
    min-width:78px;
    min-height:78px;
    border-radius:22px;
    font-size:28px;
  }

  #phone .phone-orb small{
    display:none;
  }

  #phone .phone-hero h3{
    font-size:25px;
    line-height:1.08;
  }

  #phone .phone-hero p{
    font-size:13px;
    line-height:1.55;
  }

  #phone .panel-head{
    gap:10px;
  }

  #phone .panel-head .badge{
    flex:0 0 auto;
  }

  #phone .phone-plan-lock{
    padding:24px 18px;
  }

  #phone .phone-lock-features{
    grid-template-columns:1fr;
  }

  #phone .phone-plan-price strong{
    font-size:34px;
  }

  #phone .phone-details > summary{
    padding:16px;
  }

  #phone .phone-details-body{
    padding:0 16px 16px;
  }

  #phone .phone-number-row{
    align-items:flex-start;
  }

  #phone .phone-number-row small{
    word-break:break-word;
  }

}

/* ==========================================================
   NYMIQ_EMAIL_SHIELD_COMMERCIAL_STYLE_V2
   ========================================================== */

#email .email-shield-hero{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}

#email .email-shield-hero > div:first-child{
  flex:1;
  min-width:0;
}

#email .email-shield-orb{
  min-width:112px;
  min-height:112px;
  border-radius:32px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  font-size:38px;
  font-weight:800;
  background:
    radial-gradient(
      circle at 35% 25%,
      rgba(255,255,255,.15),
      rgba(255,255,255,.03) 48%,
      transparent 70%
    );
  border:1px solid rgba(255,255,255,.11);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.08),
    0 18px 42px rgba(0,0,0,.18);
}

#email .email-shield-orb small{
  margin-top:8px;
  font-size:9px;
  letter-spacing:.08em;
  opacity:.72;
}

#email .email-shield-main{
  position:relative;
  overflow:hidden;
}

#email .email-shield-active{
  margin-top:18px;
}

#email .email-shield-active small{
  display:block;
  margin-bottom:6px;
  font-size:10px;
  font-weight:800;
  letter-spacing:.09em;
  opacity:.7;
}

#email .email-shield-active b{
  display:block;
  font-size:22px;
  word-break:break-word;
}

#email .email-shield-actions{
  margin-top:18px;
}

#email .email-details{
  padding:0;
  overflow:hidden;
}

#email .email-details > summary{
  cursor:pointer;
  list-style:none;
  padding:18px 20px;
  font-weight:800;
  user-select:none;
}

#email .email-details > summary::-webkit-details-marker{
  display:none;
}

#email .email-details > summary::after{
  content:"+";
  float:right;
  font-size:20px;
  opacity:.7;
}

#email .email-details[open] > summary::after{
  content:"−";
}

#email .email-details-body{
  padding:0 20px 20px;
}

#email .email-plan-lock{
  max-width:720px;
  margin:0 auto;
  padding:34px;
  text-align:center;
}

#email .email-lock-icon{
  width:76px;
  height:76px;
  margin:0 auto 16px;
  border-radius:24px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:32px;
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.10);
}

#email .email-plan-lock h3{
  margin:8px 0;
  font-size:clamp(24px,4vw,34px);
}

#email .email-plan-price{
  display:flex;
  align-items:baseline;
  justify-content:center;
  gap:6px;
  margin:22px 0;
}

#email .email-plan-price strong{
  font-size:38px;
}

#email .email-plan-price span{
  opacity:.62;
}

#email .email-lock-features{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin:20px 0;
  text-align:left;
}

#email .email-lock-features > div{
  padding:12px 14px;
  border-radius:14px;
  background:rgba(255,255,255,.035);
  border:1px solid rgba(255,255,255,.07);
}

@media (max-width:760px){

  #email .email-shield-hero{
    align-items:flex-start;
  }

  #email .email-shield-orb{
    min-width:78px;
    min-height:78px;
    border-radius:22px;
    font-size:28px;
  }

  #email .email-shield-orb small{
    display:none;
  }

  #email .email-shield-hero h3{
    font-size:25px;
    line-height:1.08;
  }

  #email .email-shield-hero p{
    font-size:13px;
    line-height:1.55;
  }

  #email .email-plan-lock{
    padding:24px 18px;
  }

  #email .email-lock-features{
    grid-template-columns:1fr;
  }

  #email .email-details > summary{
    padding:16px;
  }

  #email .email-details-body{
    padding:0 16px 16px;
  }

}

/* NYMIQ_EMAIL_SHIELD_MOBILE_BADGE_V21 */

#email #emailShieldBadge{
  flex:0 0 auto;
  white-space:nowrap;
  word-break:normal;
  overflow-wrap:normal;
  min-width:max-content;
  text-align:center;
}

@media (max-width:760px){
  #email .panel-head{
    gap:10px;
  }

  #email #emailShieldBadge{
    padding-left:12px;
    padding-right:12px;
    writing-mode:horizontal-tb;
  }
}


/* ==========================================================
   NYMIQ_BROWSER_SHIELD_COMMERCIAL_STYLE_V3
   ========================================================== */

#browser .browser-hero{
  position:relative;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:32px;
  padding:30px;
  margin-bottom:16px;
  border:1px solid rgba(87,168,255,.18);
  border-radius:22px;
  background:
    radial-gradient(
      circle at 84% 25%,
      rgba(87,168,255,.13),
      transparent 32%
    ),
    linear-gradient(
      135deg,
      rgba(13,38,62,.98),
      rgba(7,24,39,.98)
    );
  box-shadow:0 22px 70px rgba(0,0,0,.22);
}

#browser .browser-hero-copy{
  max-width:760px;
}

#browser .browser-hero h3{
  margin:7px 0 8px;
  max-width:700px;
  font-size:clamp(28px,3.5vw,42px);
  line-height:1.08;
}

#browser .browser-hero p{
  max-width:680px;
  margin:0;
  color:var(--muted);
  font-size:14px;
  line-height:1.65;
}

#browser .browser-orb{
  flex:0 0 118px;
  width:118px;
  height:118px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(255,255,255,.12);
  border-radius:34px;
  background:
    radial-gradient(
      circle at 50% 35%,
      rgba(87,168,255,.24),
      rgba(87,168,255,.04) 62%,
      transparent 70%
    );
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.08),
    0 18px 45px rgba(0,0,0,.18);
}

#browser .browser-orb span{
  font-size:42px;
  color:#8ec7ff;
}

#browser .browser-orb small{
  margin-top:8px;
  font-size:9px;
  letter-spacing:.11em;
  opacity:.68;
}

#browser .browser-release{
  display:flex;
  align-items:flex-start;
  gap:11px;
  max-width:620px;
  margin-top:20px;
  padding:12px 14px;
  border:1px solid rgba(87,168,255,.2);
  border-radius:13px;
  background:rgba(87,168,255,.055);
}

#browser .browser-release-dot{
  flex:0 0 9px;
  width:9px;
  height:9px;
  margin-top:6px;
  border-radius:50%;
  background:#57a8ff;
  box-shadow:0 0 16px rgba(87,168,255,.7);
}

#browser .browser-release b,
#browser .browser-release small{
  display:block;
}

#browser .browser-release small{
  margin-top:3px;
  color:var(--muted);
}

#browser .browser-stats{
  grid-template-columns:repeat(3,minmax(0,1fr));
}

#browser .browser-stat-date{
  font-size:17px;
  line-height:1.3;
}

#browser .browser-layout{
  display:grid;
  grid-template-columns:minmax(0,1.55fr) minmax(310px,.75fr);
  gap:16px;
  align-items:start;
}

#browser .browser-main-panel{
  min-width:0;
}

#browser .browser-main-panel .panel-head,
#browser .browser-android-panel .panel-head{
  align-items:flex-start;
  gap:14px;
}

#browser .browser-main-panel .panel-head > div,
#browser .browser-android-panel .panel-head > div{
  min-width:0;
}

#browser .browser-panel-intro{
  margin-top:4px;
  margin-bottom:14px;
}

#browser .browser-side{
  display:grid;
  gap:16px;
}

#browser .browser-release-card p{
  color:var(--muted);
}

#browser .browser-pending{
  display:flex;
  gap:12px;
  align-items:flex-start;
  margin:16px 0;
  padding:13px;
  border:1px solid rgba(87,168,255,.18);
  border-radius:12px;
  background:rgba(87,168,255,.045);
}

#browser .browser-pending > span{
  font-size:23px;
  color:#8ec7ff;
}

#browser .browser-pending b,
#browser .browser-pending small{
  display:block;
}

#browser .browser-pending small{
  margin-top:3px;
  color:var(--muted);
}

#browser .browser-device{
  display:grid;
  grid-template-columns:44px minmax(0,1fr) auto auto;
  gap:12px;
  align-items:center;
  padding:14px 0;
  border-top:1px solid #1b334a;
}

#browser .browser-device:first-child{
  border-top:0;
}

#browser .browser-device-icon{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border:1px solid #294765;
  border-radius:13px;
  background:#0a1b2b;
  color:#8ec7ff;
  font-size:20px;
}

#browser .browser-device-copy{
  min-width:0;
}

#browser .browser-device-copy b,
#browser .browser-device-copy small,
#browser .browser-device-copy span{
  display:block;
}

#browser .browser-device-copy b{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

#browser .browser-device-copy small{
  margin-top:2px;
  color:#a9bfd1;
}

#browser .browser-device-copy span{
  margin-top:3px;
  color:var(--muted);
  font-size:11px;
}

#browser .browser-revoke{
  white-space:nowrap;
}

#browser .browser-empty{
  min-height:210px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:30px;
  text-align:center;
  border:1px dashed #29465d;
  border-radius:15px;
  color:var(--muted);
}

#browser .browser-empty > div{
  margin-bottom:10px;
  font-size:32px;
  color:#8ec7ff;
}

#browser .browser-empty b{
  color:var(--text);
}

#browser .browser-empty span{
  max-width:430px;
  margin-top:5px;
}

#browser .browser-android-panel .browser-device{
  grid-template-columns:40px minmax(0,1fr) auto;
}

#browser .browser-android-panel .browser-revoke{
  grid-column:2 / -1;
  justify-self:start;
}

#browser .browser-history{
  margin-top:16px;
  padding:0;
}

#browser .browser-history > summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:15px;
  padding:18px 20px;
  cursor:pointer;
  list-style:none;
}

#browser .browser-history > summary::-webkit-details-marker{
  display:none;
}

#browser .browser-history > summary b,
#browser .browser-history > summary small{
  display:block;
}

#browser .browser-history > summary small{
  margin-top:2px;
  color:var(--muted);
}

#browser #browserHistoryList{
  padding:0 20px 18px;
}

#browser .browser-history-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:12px;
  align-items:center;
  padding:12px 0;
  border-top:1px solid #1b334a;
}

#browser .browser-history-row small{
  display:block;
  margin-top:2px;
  color:var(--muted);
}

@media(max-width:1050px){

  #browser .browser-layout{
    grid-template-columns:1fr;
  }

  #browser .browser-side{
    grid-template-columns:1fr 1fr;
  }

}

@media(max-width:760px){

  #browser .browser-hero{
    padding:22px 18px;
    gap:16px;
    align-items:flex-start;
  }

  #browser .browser-hero h3{
    font-size:25px;
  }

  #browser .browser-hero p{
    font-size:13px;
  }

  #browser .browser-orb{
    flex-basis:76px;
    width:76px;
    height:76px;
    border-radius:23px;
  }

  #browser .browser-orb span{
    font-size:28px;
  }

  #browser .browser-orb small{
    display:none;
  }

  #browser .browser-stats{
    grid-template-columns:1fr 1fr;
  }

  #browser .browser-last-stat{
    grid-column:1 / -1;
  }

  #browser .browser-side{
    grid-template-columns:1fr;
  }

  #browser .browser-device{
    grid-template-columns:42px minmax(0,1fr) auto;
    align-items:start;
  }

  #browser .browser-device .state{
    justify-self:end;
  }

  #browser .browser-device .browser-revoke{
    grid-column:2 / -1;
    justify-self:start;
  }

}

@media(max-width:520px){

  #browser .browser-hero{
    display:block;
  }

  #browser .browser-orb{
    display:none;
  }

  #browser .browser-release{
    margin-top:16px;
  }

  #browser .browser-stats{
    grid-template-columns:1fr 1fr;
  }

  #browser .browser-stat-date{
    font-size:15px;
  }

  #browser .browser-main-panel .panel-head,
  #browser .browser-android-panel .panel-head{
    gap:8px;
  }

  #browser .browser-main-panel .badge,
  #browser .browser-android-panel .badge{
    flex:0 0 auto;
    white-space:nowrap;
  }

  #browser .browser-device{
    grid-template-columns:38px minmax(0,1fr);
  }

  #browser .browser-device .state{
    grid-column:2;
    justify-self:start;
  }

  #browser .browser-device .browser-revoke{
    grid-column:2;
  }

  #browser .browser-history > summary{
    padding:16px;
  }

  #browser #browserHistoryList{
    padding:0 16px 16px;
  }

}

/* ==========================================================
   NYMIQ_BROWSER_SHIELD_COMMERCIAL_STYLE_V31
   ========================================================== */

#browser .browser-stats{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}

#browser .browser-stats .stat{
  min-width:0;
}

#browser .browser-layout{
  grid-template-columns:
    minmax(0,1.65fr)
    minmax(320px,.75fr);
}

#browser .browser-release-card{
  align-self:start;
}

#browser .browser-android-details,
#browser .browser-history{
  margin-top:16px;
  padding:0;
  overflow:hidden;
}

#browser .browser-android-details > summary,
#browser .browser-history > summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:18px 20px;
  cursor:pointer;
  list-style:none;
  user-select:none;
}

#browser .browser-android-details > summary::-webkit-details-marker,
#browser .browser-history > summary::-webkit-details-marker{
  display:none;
}

#browser .browser-details-title{
  min-width:0;
  display:flex;
  align-items:center;
  gap:13px;
}

#browser .browser-details-title > span:last-child{
  min-width:0;
}

#browser .browser-details-title b,
#browser .browser-details-title small{
  display:block;
}

#browser .browser-details-title b{
  margin-top:2px;
}

#browser .browser-details-title small{
  margin-top:3px;
  color:var(--muted);
  font-weight:400;
}

#browser .browser-details-icon{
  flex:0 0 42px;
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border:1px solid #294765;
  border-radius:13px;
  background:#0a1b2b;
  color:#8ec7ff;
  font-size:19px;
}

#browser .browser-details-body{
  padding:0 20px 18px;
  border-top:1px solid #1b334a;
}

#browser .browser-details-body > p{
  margin:16px 0 6px;
}

#browser .browser-android-details .browser-device{
  grid-template-columns:
    44px minmax(0,1fr) auto auto;
}

#browser .browser-android-details[open] > summary,
#browser .browser-history[open] > summary{
  background:rgba(255,255,255,.015);
}


/* Desktop intermédiaire */

@media(max-width:1100px){

  #browser .browser-layout{
    grid-template-columns:1fr;
  }

}


/* Tablette */

@media(max-width:760px){

  #browser .browser-stats{
    grid-template-columns:1fr 1fr;
  }

  #browser .browser-last-stat{
    grid-column:1 / -1;
  }

  #browser .browser-android-details .browser-device{
    grid-template-columns:
      42px minmax(0,1fr) auto;
  }

  #browser .browser-android-details .browser-revoke{
    grid-column:2 / -1;
    justify-self:start;
  }

}


/* Smartphone */

@media(max-width:520px){

  #browser .browser-stats{
    grid-template-columns:1fr 1fr;
    gap:10px;
  }

  #browser .browser-stats .stat{
    padding:15px;
  }

  #browser .browser-stats .stat b{
    font-size:24px;
  }

  #browser .browser-last-stat{
    grid-column:1 / -1;
  }

  #browser .browser-android-details > summary,
  #browser .browser-history > summary{
    padding:15px;
    gap:10px;
  }

  #browser .browser-details-icon{
    flex-basis:36px;
    width:36px;
    height:36px;
    border-radius:11px;
  }

  #browser .browser-details-title small{
    font-size:10px;
  }

  #browser .browser-details-body{
    padding:0 15px 15px;
  }

  #browser .browser-android-details .browser-device{
    grid-template-columns:38px minmax(0,1fr);
  }

  #browser .browser-android-details .browser-device .state{
    grid-column:2;
    justify-self:start;
  }

  #browser .browser-android-details .browser-revoke{
    grid-column:2;
  }

}

/* ==========================================================
   NYMIQ_ACCOUNT_COMMERCIAL_STYLE_V3
   ========================================================== */

#account .account-hero{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
  padding:28px 30px;
  margin-bottom:16px;
  border:1px solid rgba(73,229,179,.17);
  border-radius:22px;
  background:
    radial-gradient(
      circle at 86% 30%,
      rgba(73,229,179,.09),
      transparent 29%
    ),
    linear-gradient(
      135deg,
      rgba(13,38,62,.98),
      rgba(7,24,39,.98)
    );
}

#account .account-hero h3{
  margin:7px 0 6px;
  font-size:clamp(27px,3vw,38px);
}

#account .account-hero p{
  max-width:700px;
  margin:0;
  color:var(--muted);
}

#account .account-orb{
  flex:0 0 88px;
  width:88px;
  height:88px;
  display:grid;
  place-items:center;
  border:1px solid rgba(73,229,179,.22);
  border-radius:27px;
  background:rgba(73,229,179,.055);
  color:var(--accent);
  font-size:34px;
  font-weight:900;
}

#account .account-top-grid,
#account .account-middle-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
  margin-bottom:16px;
}

#account .account-profile-main{
  display:flex;
  align-items:center;
  gap:14px;
  margin-top:18px;
}

#account .account-avatar{
  flex:0 0 54px;
  width:54px;
  height:54px;
  display:grid;
  place-items:center;
  border:1px solid rgba(73,229,179,.25);
  border-radius:17px;
  background:rgba(73,229,179,.075);
  color:var(--accent);
  font-size:22px;
  font-weight:900;
}

#account .account-profile-main b,
#account .account-profile-main span,
#account .account-profile-main small{
  display:block;
}

#account .account-profile-main b{
  font-size:17px;
}

#account .account-profile-main span{
  margin-top:2px;
}

#account .account-profile-main small{
  margin-top:4px;
  color:var(--muted);
}

#account .account-password-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}

#account .account-password-hint{
  display:block;
  margin:-2px 0 14px;
  color:var(--muted);
}

#account .account-plan-summary{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:14px;
  margin:14px 0;
  padding:14px;
  border:1px solid rgba(73,229,179,.16);
  border-radius:13px;
  background:rgba(73,229,179,.035);
}

#account .account-plan-summary small,
#account .account-plan-summary b{
  display:block;
}

#account .account-plan-summary b{
  margin-top:3px;
  font-size:17px;
}

#account .account-renewal-note{
  margin-top:14px;
  font-size:11px;
}

#account .account-data-callout{
  display:flex;
  align-items:center;
  gap:12px;
  margin:17px 0;
  padding:14px;
  border:1px solid #29465f;
  border-radius:13px;
  background:#091724;
}

#account .account-data-callout > span{
  font-size:24px;
  color:#8ec7ff;
}

#account .account-data-callout b,
#account .account-data-callout small{
  display:block;
}

#account .account-data-callout small{
  margin-top:2px;
  color:var(--muted);
}

#account #accountCompanionMount{
  margin-bottom:16px;
}

#account .account-companion-card{
  margin:0 !important;
}

#account .account-companion-details{
  margin-top:14px;
  border-top:1px solid #1b334a;
}

#account .account-companion-details > summary{
  padding:14px 0;
  cursor:pointer;
  font-weight:800;
}

#account .account-danger{
  padding:0;
  overflow:hidden;
}

#account .account-danger > summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:15px;
  padding:18px 20px;
  cursor:pointer;
  list-style:none;
}

#account .account-danger > summary::-webkit-details-marker{
  display:none;
}

#account .account-danger-title{
  display:flex;
  align-items:center;
  gap:12px;
}

#account .account-danger-title b,
#account .account-danger-title small{
  display:block;
}

#account .account-danger-title small{
  margin-top:3px;
  color:var(--muted);
}

#account .account-danger-icon{
  flex:0 0 40px;
  width:40px;
  height:40px;
  display:grid;
  place-items:center;
  border:1px solid #75313c;
  border-radius:12px;
  background:#3a1720;
  color:#ffbdc3;
  font-weight:900;
}

#account .account-danger-body{
  padding:0 20px 20px;
  border-top:1px solid #1b334a;
}

#account .account-danger[open] > summary{
  background:rgba(255,113,128,.025);
}


@media(max-width:900px){

  #account .account-top-grid,
  #account .account-middle-grid{
    grid-template-columns:1fr;
  }

}


@media(max-width:600px){

  #account .account-hero{
    padding:22px 18px;
  }

  #account .account-hero h3{
    font-size:25px;
  }

  #account .account-orb{
    display:none;
  }

  #account .account-password-grid{
    grid-template-columns:1fr;
  }

  #account .account-danger > summary{
    padding:15px;
    align-items:flex-start;
  }

  #account .account-danger > summary > .badge{
    flex:0 0 auto;
    white-space:nowrap;
  }

  #account .account-danger-body{
    padding:0 15px 15px;
  }

  #account .account-profile-main{
    align-items:flex-start;
  }

}

/* ==========================================================
   NYMIQ_ACCOUNT_V3_FINAL_POLISH
   ========================================================== */

#account .account-companion-card a.primary,
#account .account-companion-card .primary{
  min-height:42px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:10px 18px;
  border-radius:10px;
  font-weight:850;
  line-height:1.2;
}

#account .account-companion-card{
  overflow:hidden;
}

#account .account-companion-details > summary{
  min-height:44px;
  display:flex;
  align-items:center;
}

/* ==========================================================
   NYMIQ_SIDEBAR_USER_FINAL_V1
   ========================================================== */

#userMini{
  min-width:0;
}

#userMini b,
#userMini small{
  display:block;
  min-width:0;
}

#userMini b{
  color:var(--text);
  font-weight:800;
  line-height:1.3;
}

#userMini small{
  margin-top:3px;
  color:var(--muted);
  font-size:11px;
  line-height:1.35;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.aside-foot{
  min-width:0;
}

@media(max-width:900px){

  #userMini{
    flex:1 1 auto;
    min-width:0;
  }

}

/* ==========================================================
   NYMIQ_ADMIN_COMMERCIAL_V2
   ========================================================== */

#admin #betaStats{
  display:none;
}

.admin-v2-hero{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:24px;
  margin-bottom:16px;
  padding:26px 28px;
  background:
    radial-gradient(
      circle at 90% 20%,
      rgba(73,229,179,.12),
      transparent 38%
    ),
    linear-gradient(
      135deg,
      rgba(15,36,58,.98),
      rgba(10,23,40,.98)
    );
}

.admin-v2-hero h3{
  margin:6px 0 5px;
  font-size:27px;
}

.admin-v2-hero p{
  max-width:720px;
  margin:0;
  color:var(--muted);
}

.admin-v2-owner-badge{
  flex:0 0 auto;
  padding:8px 12px;
  border:1px solid #286d58;
  border-radius:999px;
  background:#0a2b25;
  color:#82ebca;
  font-size:11px;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
}

.admin-v2-tabs{
  display:flex;
  gap:8px;
  padding:6px;
  margin:0 0 18px;
  border:1px solid var(--line);
  border-radius:14px;
  background:#081522;
  overflow-x:auto;
}

.admin-v2-tabs button{
  flex:1 1 0;
  min-width:145px;
  padding:11px 14px;
  background:transparent;
  border:1px solid transparent;
  color:var(--muted);
  white-space:nowrap;
}

.admin-v2-tabs button.active{
  background:#122a40;
  border-color:#31536c;
  color:#fff;
  box-shadow:0 8px 24px #0003;
}

#adminUsers{
  grid-template-columns:
    repeat(
      2,
      minmax(0,1fr)
    );
}

#adminUsers > .panel{
  background:
    linear-gradient(
      180deg,
      rgba(15,34,55,.98),
      rgba(9,24,40,.98)
    );
  border-color:#24445f;
}

#adminUsers > .panel > .row:first-child h3{
  font-size:17px;
  margin-bottom:2px;
}

#adminUsers .badge{
  font-weight:800;
  letter-spacing:.03em;
}

.admin-v2-section{
  min-width:0;
}

@media(max-width:1100px){

  #adminUsers{
    grid-template-columns:1fr;
  }

}

@media(max-width:700px){

  .admin-v2-hero{
    align-items:flex-start;
    flex-direction:column;
    padding:20px;
  }

  .admin-v2-hero h3{
    font-size:23px;
  }

  .admin-v2-tabs{
    display:grid;
    grid-template-columns:1fr;
  }

  .admin-v2-tabs button{
    width:100%;
    min-width:0;
  }

}

/* ==========================================================
   NYMIQ_ADMIN_TABS_FUNCTIONAL_STYLE_V2
   ========================================================== */

#admin .admin-v2-section{
  display:none;
}

#admin .admin-v2-section.active{
  display:block;
}

#adminV2Commercial,
#adminV2Acquisition{
  min-width:0;
}

#adminV2Commercial > *,
#adminV2Acquisition > *{
  margin-bottom:16px;
}

#adminV2Commercial > *:last-child,
#adminV2Acquisition > *:last-child{
  margin-bottom:0;
}

.admin-v2-section:empty::before{
  content:"Aucun élément disponible dans cette section.";
  display:block;
  padding:28px;
  text-align:center;
  color:var(--muted);
  border:1px dashed var(--line2);
  border-radius:16px;
  background:#091522;
}


/* Ancien bloc technique/bêta */

#adminV2Clients > .grid.two{
  margin-top:16px;
}

#adminV2Clients > .grid.two .panel{
  min-height:0;
}


/* Les infos historiques peuvent rester accessibles,
   mais elles deviennent secondaires. */

#adminV2Clients details.admin-v2-technical{
  margin-top:16px;
}


/* transitions légères */

.admin-v2-section.active{
  animation:nymiqAdminFade .16s ease-out;
}

@keyframes nymiqAdminFade{
  from{
    opacity:.45;
    transform:translateY(3px);
  }
  to{
    opacity:1;
    transform:none;
  }
}

@media(max-width:700px){

  #admin .admin-v2-section{
    min-width:0;
  }

}


/* ==========================================================
   NYMIQ_SUPPORT_CONSOLE_STYLE_V1
   ========================================================== */

#adminV2Support{
  min-width:0;
}

#adminV2Support > *{
  margin-bottom:16px;
}

.support-v1-intro{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding:24px;
  overflow:hidden;
  position:relative;
}

.support-v1-intro h3{
  margin:4px 0 7px;
  font-size:25px;
}

.support-v1-intro p{
  margin:0;
  max-width:680px;
  color:var(--muted);
}

.support-v1-private{
  flex:0 0 auto;
  padding:8px 12px;
  border:1px solid rgba(72,205,171,.26);
  border-radius:999px;
  background:rgba(72,205,171,.08);
  font-size:12px;
  font-weight:800;
  white-space:nowrap;
}

.support-v1-search-head,
.support-v1-title{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
}

.support-v1-search-head h3,
.support-v1-title h3{
  margin:3px 0;
}

.support-v1-search{
  position:relative;
  margin-top:18px;
}

.support-v1-search input{
  width:100%;
  min-height:52px;
  padding-left:48px;
  border-radius:14px;
  font-size:15px;
}

.support-v1-search-icon{
  position:absolute;
  z-index:2;
  left:17px;
  top:50%;
  transform:translateY(-50%);
  color:var(--muted);
  font-size:24px;
  pointer-events:none;
}

.support-v1-summary{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  margin-top:14px;
}

.support-v1-summary > div{
  padding:13px 15px;
  border:1px solid var(--line2);
  border-radius:13px;
  background:rgba(255,255,255,.018);
}

.support-v1-summary b{
  display:block;
  font-size:20px;
}

.support-v1-summary span{
  color:var(--muted);
  font-size:12px;
}

.support-v1-users{
  display:grid;
  gap:10px;
}

.support-v1-user{
  width:100%;
  display:grid;
  grid-template-columns:minmax(0,1.4fr) auto auto 20px;
  align-items:center;
  gap:18px;
  text-align:left;
  cursor:pointer;
  transition:
    transform .14s ease,
    border-color .14s ease,
    background .14s ease;
}

.support-v1-user:hover{
  transform:translateY(-1px);
  border-color:rgba(92,196,255,.32);
  background:rgba(92,196,255,.035);
}

.support-v1-user-main{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:0;
}

.support-v1-avatar{
  width:42px;
  height:42px;
  flex:0 0 42px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:13px;
  background:
    linear-gradient(
      145deg,
      rgba(91,196,255,.18),
      rgba(87,224,181,.10)
    );
  border:1px solid rgba(91,196,255,.18);
  font-size:17px;
  font-weight:900;
}

.support-v1-avatar.large{
  width:56px;
  height:56px;
  flex-basis:56px;
  border-radius:17px;
  font-size:22px;
}

.support-v1-user-name{
  min-width:0;
}

.support-v1-user-name strong,
.support-v1-user-name span{
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.support-v1-user-name strong{
  font-size:15px;
}

.support-v1-user-name span{
  margin-top:3px;
  color:var(--muted);
  font-size:12px;
}

.support-v1-user-meta{
  display:flex;
  align-items:center;
  gap:7px;
}

.support-v1-plan,
.support-v1-state{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:26px;
  padding:5px 9px;
  border-radius:999px;
  font-size:10px;
  line-height:1;
  font-weight:900;
  letter-spacing:.035em;
  white-space:nowrap;
}

.support-v1-plan{
  border:1px solid var(--line2);
}

.support-v1-plan.identite{
  background:rgba(114,101,255,.10);
  border-color:rgba(114,101,255,.26);
}

.support-v1-plan.email{
  background:rgba(91,196,255,.08);
  border-color:rgba(91,196,255,.24);
}

.support-v1-plan.decouverte{
  background:rgba(255,255,255,.035);
}

.support-v1-state.ok{
  background:rgba(72,205,171,.09);
  border:1px solid rgba(72,205,171,.23);
}

.support-v1-state.off{
  background:rgba(255,255,255,.035);
  border:1px solid var(--line2);
  color:var(--muted);
}

.support-v1-user-stats{
  display:flex;
  gap:13px;
  color:var(--muted);
  font-size:11px;
  white-space:nowrap;
}

.support-v1-user-stats b{
  color:var(--text);
}

.support-v1-arrow{
  font-size:25px;
  color:var(--muted);
}

.support-v1-loading,
.support-v1-empty,
.support-v1-error{
  padding:24px;
  text-align:center;
  color:var(--muted);
}

.support-v1-error{
  color:#ff9aa6;
}

.support-v1-detail{
  scroll-margin-top:20px;
}

.support-v1-detail:empty{
  display:none;
}

.support-v1-detail-hero{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
}

.support-v1-detail-user{
  display:flex;
  align-items:center;
  gap:15px;
  min-width:0;
}

.support-v1-detail-user h3{
  margin:3px 0;
  font-size:23px;
}

.support-v1-detail-user p{
  margin:0;
  color:var(--muted);
}

.support-v1-detail-badges{
  display:flex;
  align-items:center;
  gap:8px;
}

.support-v1-kpis{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  margin-bottom:16px;
}

.support-v1-kpis .panel{
  min-height:95px;
}

.support-v1-kpis span{
  display:block;
  color:var(--muted);
  font-size:12px;
}

.support-v1-kpis b{
  display:block;
  margin-top:9px;
  font-size:20px;
}

.support-v1-kpis .support-v1-date{
  font-size:14px;
}

.support-v1-shields{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  margin-top:16px;
}

.support-v1-shields > div{
  padding:15px;
  border:1px solid var(--line2);
  border-radius:14px;
  background:rgba(255,255,255,.018);
}

.support-v1-shields span,
.support-v1-shields strong{
  display:block;
}

.support-v1-shields span{
  color:var(--muted);
  font-size:11px;
}

.support-v1-shields strong{
  margin-top:7px;
  font-size:14px;
}

.support-v1-columns{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
  margin:16px 0;
}

.support-v1-lines{
  margin-top:14px;
}

.support-v1-line{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:12px 0;
  border-bottom:1px solid var(--line2);
}

.support-v1-line:last-child{
  border-bottom:0;
}

.support-v1-line strong,
.support-v1-line span,
.support-v1-line small{
  display:block;
}

.support-v1-line span,
.support-v1-line small{
  margin-top:3px;
  color:var(--muted);
  font-size:11px;
}

.support-v1-line-right{
  text-align:right;
}

.support-v1-severity{
  padding:5px 8px;
  border:1px solid rgba(255,187,91,.22);
  border-radius:999px;
  background:rgba(255,187,91,.07);
  font-size:10px;
  font-weight:900;
}

.support-v1-none{
  padding:22px 12px;
  text-align:center;
  color:var(--muted);
  font-size:12px;
}

.support-v1-none.success{
  color:#79d8bd;
}

.support-v1-activity-list{
  margin-top:15px;
}

.support-v1-activity{
  display:grid;
  grid-template-columns:10px minmax(0,1fr);
  gap:11px;
  padding:10px 0;
  border-bottom:1px solid var(--line2);
}

.support-v1-activity:last-child{
  border-bottom:0;
}

.support-v1-dot{
  width:7px;
  height:7px;
  margin-top:7px;
  border-radius:50%;
  background:currentColor;
  opacity:.65;
}

.support-v1-activity strong,
.support-v1-activity span,
.support-v1-activity small{
  display:block;
}

.support-v1-activity strong{
  text-transform:capitalize;
  font-size:13px;
}

.support-v1-activity span{
  margin-top:3px;
  color:var(--muted);
  font-size:12px;
}

.support-v1-activity small{
  margin-top:4px;
  color:var(--muted);
  opacity:.75;
  font-size:10px;
}

.support-v1-privacy-note{
  font-size:11px;
  color:var(--muted);
}

.support-v1-footer-note{
  display:flex;
  gap:8px;
  flex-direction:column;
  padding:15px 17px;
  border:1px solid rgba(72,205,171,.16);
  border-radius:14px;
  background:rgba(72,205,171,.035);
  font-size:11px;
  color:var(--muted);
}

.support-v1-footer-note strong{
  color:var(--text);
}


@media(max-width:900px){

  .support-v1-user{
    grid-template-columns:minmax(0,1fr) 20px;
  }

  .support-v1-user-meta,
  .support-v1-user-stats{
    grid-column:1 / -1;
  }

  .support-v1-user-meta{
    justify-content:flex-start;
  }

  .support-v1-user-stats{
    flex-wrap:wrap;
  }

  .support-v1-arrow{
    grid-column:2;
    grid-row:1;
  }

  .support-v1-columns{
    grid-template-columns:1fr;
  }

}


@media(max-width:700px){

  .support-v1-intro,
  .support-v1-detail-hero{
    align-items:flex-start;
    flex-direction:column;
  }

  .support-v1-private{
    white-space:normal;
  }

  .support-v1-summary,
  .support-v1-kpis,
  .support-v1-shields{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .support-v1-search-head{
    align-items:flex-start;
  }

  .support-v1-detail-badges{
    flex-wrap:wrap;
  }

}


@media(max-width:430px){

  .support-v1-summary,
  .support-v1-kpis,
  .support-v1-shields{
    grid-template-columns:1fr 1fr;
  }

  .support-v1-user{
    padding:14px;
  }

  .support-v1-user-meta{
    flex-wrap:wrap;
  }

}



/* NYMIQ_FIREFOX_OFFICIAL_CTA_V1 */

#browser .browser-firefox-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:12px;

  width:max-content;
  max-width:100%;

  margin-top:14px;
  padding:12px 18px;

  border:1px solid rgba(73,229,179,.58);
  border-radius:12px;

  background:
    linear-gradient(
      135deg,
      var(--accent),
      #31b995
    );

  color:#03100d !important;

  font-weight:800;
  font-size:13px;
  line-height:1.2;

  text-decoration:none !important;

  box-shadow:
    0 10px 26px rgba(49,185,149,.16);

  transition:
    transform .18s ease,
    box-shadow .18s ease,
    filter .18s ease;
}

#browser .browser-firefox-cta strong{
  font-size:17px;
  line-height:1;
  transition:transform .18s ease;
}

#browser .browser-firefox-cta:hover{
  transform:translateY(-1px);

  box-shadow:
    0 14px 34px rgba(49,185,149,.24);

  filter:brightness(1.05);
}

#browser .browser-firefox-cta:hover strong{
  transform:translateX(3px);
}

#browser .browser-firefox-cta:focus-visible{
  outline:3px solid rgba(87,168,255,.35);
  outline-offset:3px;
}

#browser .browser-firefox-cta-compact{
  margin-top:14px;
}

#browser .browser-release-card .browser-firefox-cta{
  width:100%;
}

@media(max-width:700px){

  #browser .browser-firefox-cta{
    width:100%;
    text-align:center;
  }

}

/* NYMIQ_DATA_MANAGE_AUTO_DIRECTION_V1
   Ouverture automatique vers le haut sur desktop
   quand l'espace sous le bouton est insuffisant.
*/

@media (min-width:701px){

  #data
  .idfw-data-manage.idfw-menu-up
  .idfw-data-manage-menu{
    top:auto;
    bottom:calc(100% + 7px);
  }

}


/* ==========================================================
   NYMIQ PROTECTION SCORE — COMMERCIAL V1
   ========================================================== */
#overview .idfw-dash-score-zone{display:flex;align-items:center;gap:14px;flex:0 0 auto}
#overview .idfw-score-meta{display:flex;flex-direction:column;align-items:flex-start;gap:5px;min-width:112px}
#overview .idfw-score-meta b{font-size:14px;line-height:1.2;color:#eaf7ff}
#overview .idfw-score-plan{display:inline-flex;align-items:center;min-height:25px;padding:5px 9px;border:1px solid rgba(79,209,255,.22);border-radius:999px;background:rgba(39,176,232,.08);color:#78d9ff;font-size:10px;font-weight:850;letter-spacing:.07em}
#overview .idfw-score-next{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:12px;padding:15px 18px;border-color:rgba(79,209,255,.13);background:linear-gradient(135deg,rgba(18,38,52,.82),rgba(10,25,36,.88))}
#overview .idfw-score-next-copy>span{display:block;margin-bottom:4px;color:#68cfff;font-size:10px;font-weight:850;letter-spacing:.1em}
#overview .idfw-score-next-copy p{margin:0;color:#afc3d0;font-size:13px;line-height:1.45}
#overview .idfw-score-next .primary{flex:0 0 auto;margin:0;white-space:nowrap}
@media(max-width:720px){
  #overview .idfw-dash-hero{align-items:flex-start}
  #overview .idfw-dash-score-zone{width:100%;justify-content:space-between;gap:12px}
  #overview .idfw-score-meta{flex:1;min-width:0}
  #overview .idfw-score-next{align-items:stretch;flex-direction:column;gap:12px;padding:14px}
  #overview .idfw-score-next .primary{width:100%}
}


/* ==========================================================
   NYMIQ PROTECTION SCORE — DETAIL V3
   ========================================================== */
#overview .idfw-score-detail{margin-top:10px;padding:0;overflow:hidden;border-color:rgba(79,209,255,.13);background:rgba(5,18,29,.72)}
#overview .idfw-score-detail-toggle{width:100%;display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:14px;padding:15px 18px;border:0;background:transparent;color:#edf8ff;text-align:left;cursor:pointer}
#overview .idfw-score-detail-toggle>span{display:flex;flex-direction:column;gap:3px}
#overview .idfw-score-detail-toggle>span b{font-size:13px}
#overview .idfw-score-detail-toggle>span small{color:#7892a3;font-size:10px;font-weight:600}
#overview .idfw-score-detail-toggle>strong{font-size:20px;color:#66ddb4}
#overview .idfw-score-detail-toggle>strong small{font-size:10px;color:#7892a3}
#overview .idfw-score-detail-toggle>i{font-style:normal;font-size:20px;color:#7892a3;transition:transform .2s ease}
#overview .idfw-score-detail-toggle[aria-expanded="true"]>i{transform:rotate(180deg)}
#overview .idfw-score-detail-body{padding:0 14px 14px;border-top:1px solid rgba(79,209,255,.10)}
#overview .idfw-score-detail-body[hidden]{display:none!important}
#overview .idfw-score-detail-head{display:flex;justify-content:space-between;padding:11px 4px 7px;color:#617b8d;font-size:8px;font-weight:900;letter-spacing:.12em}
#overview .idfw-score-detail-row{width:100%;display:grid;grid-template-columns:28px 1fr auto;align-items:center;gap:10px;padding:10px 8px;border:0;border-top:1px solid rgba(113,151,174,.10);background:transparent;color:#dcebf3;text-align:left;cursor:pointer}
#overview .idfw-score-detail-row:first-of-type{border-top:0}
#overview .idfw-score-detail-row:hover{background:rgba(71,180,222,.05)}
#overview .idfw-score-detail-icon{width:24px;height:24px;display:grid;place-items:center;border-radius:50%;border:1px solid #365164;color:#7d98aa;font-size:12px;font-weight:900}
#overview .idfw-score-detail-name{display:flex;flex-direction:column;gap:2px}
#overview .idfw-score-detail-name b{font-size:12px}
#overview .idfw-score-detail-name small{font-size:9px;color:#7892a3}
#overview .idfw-score-detail-row>strong{font-size:13px;color:#90a5b3}
#overview .idfw-score-detail-row>strong small{font-size:9px;color:#617b8d}
#overview .idfw-score-detail-row.done .idfw-score-detail-icon{border-color:rgba(72,218,168,.38);background:rgba(26,153,111,.12);color:#4de0ad}
#overview .idfw-score-detail-row.done>strong{color:#4de0ad}
#overview .idfw-score-detail-row.partial .idfw-score-detail-icon{border-color:rgba(244,188,74,.38);color:#f4bc4a}
#overview .idfw-score-detail-row.partial>strong{color:#f4bc4a}
#overview .idfw-score-detail-row.locked{opacity:.58}
#overview .idfw-score-detail-note{margin:10px 5px 0;color:#617b8d;font-size:9px;line-height:1.45}
@media(max-width:720px){
 #overview .idfw-score-detail-toggle{padding:13px 14px;gap:10px}
 #overview .idfw-score-detail-toggle>strong{font-size:18px}
 #overview .idfw-score-detail-body{padding:0 9px 11px}
 #overview .idfw-score-detail-row{padding:9px 5px}
}


/* NYMIQ_EMAIL_SHIELD_DIRECT_UI_V4 */
.email-alias-section{margin-top:22px;padding-top:20px;border-top:1px solid rgba(126,163,187,.16)}
.email-alias-head{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-bottom:12px}
.email-alias-head h3{margin:4px 0 0}
.email-alias-list{display:grid;gap:10px}
.email-alias-card{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:15px 16px;border:1px solid rgba(91,126,146,.22);border-radius:16px;background:rgba(3,12,23,.48)}
.email-alias-card.is-inactive{opacity:.62}
.email-alias-info{display:grid;gap:8px;min-width:0;flex:1}
.email-alias-service{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap}
.email-alias-service small{color:var(--muted)}
.email-alias-address{display:flex;align-items:center;gap:9px;min-width:0}
.email-alias-address code{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:15px;color:#eaf7ff;background:rgba(41,198,137,.08);border:1px solid rgba(41,198,137,.22);padding:8px 10px;border-radius:10px}
.email-copy-btn{padding:8px 11px!important;min-height:auto!important}
.email-alias-empty{display:grid;gap:5px;text-align:left}
.email-alias-dialog form{min-width:min(480px,86vw)}
@media(max-width:750px){
  .email-shield-actions{display:grid!important;grid-template-columns:1fr!important}
  .email-shield-actions .primary,.email-shield-actions .ghost{width:100%}
  .email-alias-card{display:grid;gap:12px;padding:14px}
  .email-alias-address{display:grid;grid-template-columns:minmax(0,1fr) auto}
  .email-alias-address code{font-size:13px}
  .email-alias-card-actions{width:100%}
  .email-alias-card-actions button{flex:1}
}


/* ==========================================================
   NYMIQ EMAIL SHIELD — ACTIVITY DASHBOARD V4.2
   ========================================================== */
.email-alias-activity{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:1px}
.email-activity-pill{display:inline-flex;align-items:center;gap:4px;min-height:27px;padding:5px 9px;border-radius:999px;border:1px solid rgba(105,143,166,.18);background:rgba(74,111,135,.07);color:#8ca8b9;font-size:10px;font-weight:700}
.email-activity-pill b{color:#dcebf3;font-size:11px}
.email-activity-pill.is-live{border-color:rgba(54,212,155,.28);background:rgba(36,171,123,.10);color:#55d7a8}
.email-activity-pill.is-live b{color:#67e3b5}
.email-activity-last{color:#718b9c;font-size:10px;font-weight:650}
@media(max-width:750px){
  .email-alias-activity{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
  .email-activity-pill{justify-content:center;padding:6px 5px;font-size:9px;white-space:nowrap}
  .email-activity-pill b{font-size:10px}
  .email-activity-last{grid-column:1/-1;padding-top:1px}
}
\n\n/* ==========================================================\n   NYMIQ EMAIL SHIELD — ACTIVITY & ALERTS V4.3\n   ========================================================== */\n.email-alias-card.has-alert{border-color:rgba(255,172,69,.36);box-shadow:0 0 0 1px rgba(255,172,69,.06),0 16px 44px rgba(0,0,0,.18)}\n.email-alias-service{display:flex;align-items:center;gap:8px;flex-wrap:wrap}\n.email-risk-badge{display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border-radius:999px;border:1px solid rgba(255,174,73,.35);background:rgba(255,154,52,.11);color:#ffc27a;font-size:10px;font-weight:800;letter-spacing:.01em}\n.email-activity-warning{display:grid;gap:3px;margin-top:10px;padding:10px 12px;border-radius:12px;border:1px solid rgba(255,174,73,.25);background:rgba(255,154,52,.07);color:#e9b476;font-size:11px;line-height:1.45}\n.email-activity-warning b{color:#ffd09a}\n.email-activity-warning span{color:#9fb0bc}\n.email-activity-details{margin-top:9px;border-top:1px solid rgba(107,139,158,.12);padding-top:8px}\n.email-activity-details summary{cursor:pointer;list-style:none;color:#8ca8b9;font-size:10px;font-weight:750;user-select:none}\n.email-activity-details summary::-webkit-details-marker{display:none}\n.email-activity-details summary::after{content:' +';color:#57d5a5}\n.email-activity-details[open] summary::after{content:' −'}\n.email-activity-details ul{display:grid;gap:6px;margin:9px 0 0;padding:0;list-style:none}\n.email-activity-details li{display:flex;justify-content:space-between;gap:10px;padding:7px 9px;border-radius:9px;background:rgba(255,255,255,.025);color:#728c9d;font-size:10px}\n.email-activity-details time{color:#a9bfcc;white-space:nowrap}\n.email-alias-card-actions .email-revoke-btn{opacity:1!important;color:#ffd9dc!important;background:rgba(170,48,61,.48)!important;border-color:rgba(255,102,117,.48)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.05)}\n.email-alias-card-actions .email-revoke-btn:hover{background:rgba(190,55,70,.62)!important;border-color:rgba(255,122,134,.65)!important}\n@media(max-width:750px){\n  .email-risk-badge{font-size:9px}\n  .email-activity-details li{align-items:center}\n  .email-alias-card-actions .email-revoke-btn{min-height:48px}\n}\n

/* ==========================================================
   NYMIQ IDENTITY SHIELD V5.1 — BADGES + MOBILE POLISH
   ========================================================== */

#identity .identity-hero{
  position:relative;
  gap:24px;
  overflow:hidden;
}

#identity .identity-hero > div:first-child{
  min-width:0;
  flex:1 1 auto;
}

#identity .identity-plan-chip{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  gap:11px;
  min-width:154px;
  padding:11px 13px;
  border-radius:16px;
  border:1px solid rgba(73,229,179,.38);
  background:linear-gradient(145deg,rgba(7,38,40,.92),rgba(7,20,35,.96));
  box-shadow:0 12px 34px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.035);
}

#identity .identity-plan-icon{
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  flex:0 0 42px;
  border-radius:13px;
  border:1px solid rgba(73,229,179,.48);
  background:rgba(73,229,179,.09);
  color:var(--accent);
  font-size:17px;
  line-height:1;
  font-weight:900;
  letter-spacing:.03em;
}

#identity .identity-plan-copy{
  display:grid;
  gap:1px;
  min-width:0;
}

#identity .identity-plan-copy small{
  color:#83a99e;
  font-size:8px;
  font-weight:800;
  letter-spacing:.14em;
  white-space:nowrap;
}

#identity .identity-plan-copy b{
  color:#dffbf1;
  font-size:12px;
  letter-spacing:.04em;
  white-space:nowrap;
}

#identity .identity-active-badge{
  flex:0 0 auto;
  padding:6px 11px;
  min-width:auto;
  max-width:none;
  border-radius:999px;
  line-height:1;
  font-size:10px;
  font-weight:850;
  letter-spacing:.08em;
  white-space:nowrap;
  text-align:center;
}

@media (max-width:760px){
  #identity .identity-hero{
    display:grid;
    grid-template-columns:1fr;
    align-items:start;
    gap:16px;
    padding:22px;
  }

  #identity .identity-hero h3{
    font-size:clamp(26px,8vw,34px);
    line-height:1.13;
    margin:8px 0 12px;
  }

  #identity .identity-hero p{
    margin-bottom:0;
    line-height:1.65;
  }

  #identity .identity-plan-chip{
    width:max-content;
    min-width:0;
    max-width:100%;
    padding:9px 11px;
    border-radius:14px;
  }

  #identity .identity-plan-icon{
    width:36px;
    height:36px;
    flex-basis:36px;
    border-radius:11px;
    font-size:15px;
  }

  #identity .panel-head{
    align-items:flex-start;
    gap:12px;
  }

  #identity .panel-head > div{
    min-width:0;
  }

  #identity .identity-active-badge{
    margin-top:1px;
  }

  #identityStats .stat{
    min-height:104px;
    padding:15px;
  }

  #identityStats .stat span{
    line-height:1.25;
  }

  #identityStats .stat b{
    margin-top:7px;
    line-height:1;
  }
}

@media (max-width:390px){
  #identity .identity-hero{
    padding:19px;
  }

  #identity .identity-plan-copy small{
    font-size:7.5px;
  }

  #identity .identity-plan-copy b{
    font-size:11px;
  }
}

/* ==========================================================
   NYMIQ IDENTITY SHIELD V5.2 — OFFRES RESPONSIVES
   ========================================================== */
#identity .identity-plan-offers{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}
#identity .identity-offer-card{
  position:relative;
  display:flex;
  flex-direction:column;
  gap:16px;
  min-height:220px;
  padding:22px;
  border:1px solid rgba(122,154,194,.35);
  border-radius:22px;
  background:linear-gradient(155deg,rgba(6,18,36,.94),rgba(2,8,23,.98));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025);
}
#identity .identity-offer-card.featured{
  border-color:rgba(62,211,154,.42);
  background:linear-gradient(155deg,rgba(4,34,32,.64),rgba(4,10,27,.98) 66%);
}
#identity .identity-offer-card.current{
  box-shadow:inset 0 0 0 1px rgba(56,211,154,.26),0 0 26px rgba(35,196,143,.06);
}
#identity .identity-offer-top{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:14px;
}
#identity .identity-offer-name{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:7px 12px;
  border:1px solid rgba(121,151,192,.42);
  border-radius:999px;
  font-size:13px;
  font-weight:800;
  letter-spacing:.035em;
  white-space:nowrap;
}
#identity .identity-offer-name.discovery{color:#56d79b;border-color:rgba(65,210,145,.42);background:rgba(9,66,43,.28)}
#identity .identity-offer-name.email{color:#cbd7ff}
#identity .identity-offer-name.plus{color:#83e2bd;border-color:rgba(65,210,145,.42);background:rgba(9,66,43,.22)}
#identity .identity-offer-recommended{
  display:block;
  margin-top:8px;
  color:#65d9ac;
  font-size:10px;
  font-weight:800;
  letter-spacing:.14em;
}
#identity .identity-offer-price{text-align:right;white-space:nowrap}
#identity .identity-offer-price b{display:block;font-size:24px;line-height:1.05;color:#f6f8ff}
#identity .identity-offer-price small{display:block;margin-top:5px;color:var(--muted);font-size:12px}
#identity .identity-offer-card p{margin:0;color:var(--muted);line-height:1.6;font-size:15px;flex:1}
#identity .identity-offer-state,
#identity .identity-offer-cta{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:48px;
  padding:11px 16px;
  border-radius:15px;
  font-size:14px;
  font-weight:800;
}
#identity .identity-offer-state{
  color:#aebed3;
  border:1px solid rgba(126,153,188,.25);
  background:rgba(12,26,46,.46);
}
#identity .identity-offer-state.current{
  color:#64dba9;
  border-color:rgba(58,207,145,.36);
  background:rgba(5,55,37,.30);
}
#identity .identity-offer-cta{
  cursor:pointer;
  border:1px solid rgba(55,211,147,.52);
  color:#ecfff7;
  background:linear-gradient(135deg,#075d35,#064625);
  box-shadow:0 10px 24px rgba(0,0,0,.18);
}
#identity .identity-offer-cta:hover{filter:brightness(1.08)}
#identity .identity-offer-cta:disabled{opacity:.55;cursor:wait}

@media(max-width:900px){
  #identity .identity-plan-offers{grid-template-columns:1fr}
  #identity .identity-offer-card{min-height:0;padding:18px;border-radius:19px;gap:14px}
  #identity .identity-offer-top{align-items:center}
  #identity .identity-offer-price b{font-size:22px}
  #identity .identity-offer-card p{font-size:14px;line-height:1.55}
}

@media(max-width:520px){
  #identity .identity-plan-offers{gap:12px}
  #identity .identity-offer-card{padding:16px}
  #identity .identity-offer-name{font-size:12px;min-height:32px;padding:6px 10px}
  #identity .identity-offer-price b{font-size:20px}
  #identity .identity-offer-price small{font-size:11px}
}


/* NYMIQ PHONE RESERVE ADMIN V1 */
.phone-reserve-admin{border-color:rgba(47,224,196,.22)}
.phone-reserve-actions{display:grid;grid-template-columns:minmax(260px,1fr) auto auto;gap:10px;align-items:end;margin:18px 0 22px}
.phone-reserve-actions label{margin:0}.phone-admin-columns{align-items:start}.phone-admin-columns h4{margin:0 0 10px;color:#dff2ff}.phone-admin-list{display:grid;gap:8px}
.phone-number-row,.phone-provision-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 12px;border:1px solid #173447;border-radius:12px;background:#081522}
.phone-number-row>div,.phone-provision-row>div{min-width:0}.phone-number-row b,.phone-provision-row b{display:block;font-size:12px;color:#e6f3fb}.phone-number-row small,.phone-provision-row small{display:block;margin-top:3px;font-size:9px;line-height:1.35;color:#7690a3;overflow-wrap:anywhere}
.phone-stock-low{color:#ffbd72;border-color:rgba(255,174,78,.35);background:rgba(100,55,8,.16)}.phone-stock-ok{color:#7ff7da;border-color:rgba(47,224,196,.30);background:rgba(10,84,66,.16)}
.phone-provision-row.pending{border-color:rgba(255,179,71,.25)}.phone-provision-row.assigned{border-color:rgba(47,224,196,.22)}.phone-provision-row.error{border-color:rgba(255,88,119,.28)}
.phone-number-row .remove-pool{min-width:auto;padding:6px 9px;font-size:9px}@media(max-width:900px){.phone-reserve-actions{grid-template-columns:1fr}.phone-admin-columns{grid-template-columns:1fr}}


/* NYMIQ PHONE RESERVE ADMIN V2 */
.phone-provision-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.phone-number-row .release-phone,.phone-provision-row .release-phone,.phone-provision-row .reassign-phone{min-width:auto;padding:6px 9px;font-size:9px}
.phone-provision-row.cancelled{border-color:rgba(116,143,164,.22);opacity:.86}
@media(max-width:700px){.phone-number-row,.phone-provision-row{align-items:flex-start;flex-direction:column}.phone-provision-actions{justify-content:flex-start;width:100%}}

/* NYMIQ_COMMERCIAL_SPRINT2_V1 - visual polish sans changement du moteur. */
#auth :where(a, button, input, select, textarea):focus-visible,
#app :where(a, button, input, select, textarea, summary):focus-visible {
  outline: 3px solid #56e8ca;
  outline-offset: 3px;
}
#auth .auth-card, #auth .brand-card { min-width: 0; }
#auth .auth-card :where(input, button) { max-width: 100%; }
#auth .auth-card form label { line-height: 1.48; }
#auth .auth-card :where(input[type="text"], input[type="email"], input[type="password"]) {
  min-height: 46px;
  font-size: max(16px, 1rem);
}
#auth .auth-card form button.wide { min-height: 46px; }
#auth .auth-card .muted, #auth .nymiq-auth-card-head p { line-height: 1.55; }
#app .panel-head { min-width: 0; }
#app .panel-head > :first-child { min-width: 0; }
#app .page :where(p, small) { overflow-wrap: break-word; }
@media (max-width: 700px) {
  #auth.auth-wrap { padding-inline: clamp(12px, 4vw, 22px); }
  #auth .auth-card, #auth .brand-card { width: 100%; max-width: 100%; }
  #auth .auth-tabs button { min-height: 44px; }
  #app .panel-head { flex-wrap: wrap; row-gap: 12px; }
  #app .panel-head button { max-width: 100%; }
}
@media (max-width: 360px) {
  #auth .auth-card { padding-inline: 16px; }
  #auth .nymiq-auth-card-head h2 { font-size: clamp(20px, 7vw, 27px); }
}
@media (prefers-reduced-motion: reduce) {
  #auth *, #app * { scroll-behavior: auto !important; }
}
