/* Flat white grouped rows on the grey Settings sheet. */
.duo-home-options { margin-top: 20px; }
.duo-option-group {
  margin: 0 0 16px;
  border: 0;
  border-radius: 14px;
  overflow: hidden;
  background: #fff;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  box-shadow: none;
}
.duo-settings-home .duo-option-row {
  width: 100%; min-height: 44px; display: flex; align-items: center;
  gap: 10px; padding: 8px 16px; text-align: left; position: relative;
}
.duo-option-row + .duo-option-row::before {
  content: ''; position: absolute; top: 0; left: 16px; right: 0;
  height: .5px; background: #c6c6c8;
}
.duo-option-icon { flex: 0 0 32px; width: 32px; height: 32px; border-radius: 10px; display: grid; place-items: center; background: linear-gradient(150deg,#93b9d2,#61829b); color: white; box-shadow: inset 0 1px 2px #ffffff80; }
.duo-option-title { flex: 1; min-width: 0; font-size: 17px; font-weight: 400; overflow-wrap: anywhere; }
.duo-option-chevron {
  flex: 0 0 7px; width: 7px; height: 7px; margin-right: 2px;
  border-top: 1.5px solid #c7c7cc; border-right: 1.5px solid #c7c7cc;
  transform: rotate(45deg); font-size: 0;
}
.duo-settings-home .duo-page-back { color: #087dea; min-height: 44px; padding: 8px 0; margin: -12px 0 12px; text-align: left; }
.duo-settings-page h2 { font-size: clamp(23px,3.5vw,30px); overflow-wrap: anywhere; }
.duo-page-note { color: #6d727b; font-size: 12px; line-height: 1.6; margin: 12px 12px 22px; }
.duo-profile-art { display: flex; justify-content: center; margin: 0 0 24px; }
.duo-profile-avatar { display: grid; place-items: center; width: 86px; height: 86px; border-radius: 50%; background: #eef1f5; position: relative; overflow: hidden; font-size: 32px; }
.duo-account-details .duo-account-fields { display: grid; grid-template-columns: 1fr 1fr; border: 0; border-radius: 0; background: none; }
.duo-account-details .duo-account-fields label { min-width: 0; padding: 0 12px; }
.duo-account-details .duo-account-fields label + label { border-top: 0; border-left: 1px solid #c5c9ce; }
.duo-account-details .duo-account-fields input { font-size: 20px; border-radius: 0; background: transparent; box-shadow: none; }
.duo-account-details .duo-account-save { width: auto; margin: 8px auto 0; padding: 8px 18px; color: #087dea; background: none; font-weight: 500; }
.duo-account-details .duo-account-note { text-align: center; }
.duo-account-details .duo-profile-art { margin-bottom: 8px; }
.duo-account-details .duo-account-fields {
  display: flex; justify-content: center; align-items: center; gap: 0;
  overflow: hidden; margin-bottom: 28px;
}
.duo-account-details .duo-account-fields label {
  flex: 0 1 auto; max-width: 50%; min-width: 0; padding: 0;
}
.duo-account-details .duo-account-fields label + label {
  border: 0; position: relative; margin-left: 10px;
}
.duo-account-details .duo-account-fields label + label::before {
  content: ''; position: absolute; left: -5px; top: 50%; transform: translateY(-50%);
  width: 1px; height: 14px; background: rgba(110,117,130,.18);
}
.duo-account-details .duo-account-fields input {
  margin: 0; padding: 0; min-height: 36px; border: 0; outline-offset: 0;
  font-size: 20px; font-weight: 500; text-overflow: clip;
}
.duo-account-details #duo-account-firstname { text-align: right; }
.duo-account-details #duo-account-lastname { text-align: left; }
.duo-settings-home .duo-danger.duo-delete-row {
  background: #fff; border-radius: 14px; text-align: left; padding: 12px 16px; margin-top: 16px;
}
.duo-legal-links { margin-bottom: 18px; background: transparent; }
.duo-profile-badge { text-align: center; margin: 22px 0 30px; }
.duo-settings-home .duo-large-tier { display: block; margin: 0 auto; min-height: 48px; }
.duo-large-tier .duo-account-tier { padding: 6px 15px 6px 7px; font-size: 15px; gap: 7px; }
.duo-settings-home .duo-large-tier .duo-account-tier-icon { width: 34px; height: 34px; }
.duo-settings-home .duo-logout, .duo-settings-home .duo-danger { display: block; width: 100%; min-height: 48px; color: #c32c35; margin-top: 26px; text-align: center; }
.duo-settings-home .duo-blue-link { display: block; padding: 16px; min-height: 44px; color: #087dea; text-decoration: none; font-size: 15px; overflow-wrap: anywhere; }
.duo-control-row, .duo-data-row { display: flex; justify-content: space-between; align-items: center; gap: 12px; min-height: 44px; padding: 6px 16px; box-sizing: border-box; font-size: 16px; }
.duo-control-row + .duo-control-row, .duo-data-row + .duo-data-row { border-top: 1px solid #8b919820; }
.duo-data-value { color: #737983; text-align: right; max-width: 62%; overflow-wrap: anywhere; }
.duo-control-row select { min-width: 0; max-width: 56%; font: inherit; color: #63758a; border: 0; background: transparent; padding: 8px 0; min-height: 44px; }
.duo-settings-home .duo-switch { position: relative; flex: 0 0 48px; width: 48px; height: 30px; border-radius: 30px; background: #d7dbe0; border: 0; }
.duo-settings-home .duo-switch::after { content: ''; position: absolute; top: 3px; left: 3px; width: 24px; height: 24px; border-radius: 50%; background: white; box-shadow: 0 1px 3px #0002; transition: transform 160ms ease; }
.duo-settings-home .duo-switch[aria-checked="true"] { background: #34c759; }
.duo-settings-home .duo-switch[aria-checked="true"]::after { transform: translateX(18px); }
.duo-switch::before { content: ''; position: absolute; inset: -7px 0; }
.duo-slider-row { display: block; padding: 18px 16px; font-size: 14px; }
.duo-slider-row output { float: right; color: #7e858d; }
.duo-slider-row input { display: block; width: 100%; height: 44px; margin: 5px 0 0; padding: 0; appearance: none; -webkit-appearance: none; background: transparent; }
.duo-slider-row input::-webkit-slider-runnable-track { height: 5px; border-radius: 9px; background: linear-gradient(to right,#648eaa var(--range-fill),#dfe3e8 var(--range-fill)); }
.duo-slider-row input::-webkit-slider-thumb { appearance: none; -webkit-appearance: none; width: 25px; height: 25px; margin-top: -10px; border: 0; border-radius: 50%; background: #fff; box-shadow: 0 1px 5px #182e4930,0 0 0 1px #182e490a; }
.duo-slider-row input::-moz-range-track { height: 5px; border-radius: 9px; background: #dfe3e8; }
.duo-slider-row input::-moz-range-progress { height: 5px; border-radius: 9px; background: #648eaa; }
.duo-slider-row input::-moz-range-thumb { width: 25px; height: 25px; border: 0; border-radius: 50%; background: #fff; box-shadow: 0 1px 5px #182e4930; }
.duo-control-item > .duo-page-note { margin: 0; padding: 0 16px 12px; line-height: 1.4; }
.duo-appearance-group > * { position: relative; }
.duo-appearance-group > * + * { border-top: 0; }
.duo-appearance-group > * + *::before { content: ''; position: absolute; top: 0; left: 16px; right: 16px; height: 1px; background: #e5e5ea; }
.duo-appearance-group .duo-control-row { min-height: 52px; }
.duo-appearance-group .duo-slider-row { padding: 14px 16px 8px; font-size: 16px; }
.duo-appearance-group .duo-slider-row output { font-size: 14px; font-variant-numeric: tabular-nums; }
html.ivy-duo-mode .duo-settings-home .duo-appearance-group .duo-slider-row input,
html.ivy-duo-mode .duo-settings-home .duo-appearance-group .duo-slider-row input::-webkit-slider-runnable-track,
html.ivy-duo-mode .duo-settings-home .duo-appearance-group .duo-slider-row input::-webkit-slider-thumb { transition: none !important; animation: none !important; }
html.ivy-duo-mode .duo-settings-home .duo-appearance-group .duo-slider-row input::-moz-range-thumb { transition: none !important; animation: none !important; }
.duo-appearance-group .duo-slider-row input { margin-top: 2px; cursor: pointer; touch-action: pan-y; }
.duo-appearance-group .duo-slider-row input::-webkit-slider-runnable-track { height: 4px; background: linear-gradient(to right,#007aff var(--range-fill),#e5e5ea var(--range-fill)); }
.duo-appearance-group .duo-slider-row input::-webkit-slider-thumb { width: 22px; height: 22px; margin-top: -9px; box-shadow: 0 1px 3px #0003; }
.duo-appearance-group .duo-slider-row input::-moz-range-track { height: 4px; background: #e5e5ea; }
.duo-appearance-group .duo-slider-row input::-moz-range-progress { height: 4px; background: #007aff; }
.duo-appearance-group .duo-slider-row input::-moz-range-thumb { width: 22px; height: 22px; }
.duo-appearance-group .duo-slider-row input:focus-visible { outline: 2px solid #007aff; outline-offset: 2px; border-radius: 6px; }
.duo-email-reveal { padding: 0 16px 12px; }
.duo-email-reveal input { width: 100%; box-sizing: border-box; min-height: 44px; padding: 8px; border: 1px solid #b4bbc3; border-radius: 10px; color: #242830; background: #fff; font-size: 16px; }
.duo-settings-home .duo-device-row { display: grid; width: 100%; grid-template-columns: minmax(0,1fr) auto; gap: 4px 10px; padding: 10px 16px; text-align: left; }
.duo-device-row .duo-option-icon { display: none; }
.duo-device-row + .duo-device-row { border-top: 1px solid #8b919820; }
.duo-device-copy { display: grid; gap: 5px; min-width: 0; }
.duo-device-copy strong { font-size: 15px; font-weight: 550; overflow-wrap: anywhere; }
.duo-device-copy small { color: #777d86; font-size: 12px; }
.duo-device-status { grid-column: 2; align-self: end; justify-self: end; padding: 5px 9px; border-radius: 20px; background: #455564d9; backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px); font-size: 11px; }
.duo-device-hero { text-align: center; margin: 0 0 26px; }
.duo-settings-home .duo-device-hero svg { width: 58px; height: 58px; color: #7798b2; }
.duo-device-hero h3 { overflow-wrap: anywhere; font-size: 18px; font-weight: 550; }
.duo-tier-since { text-align: center; color: #8a8e96; font-size: 12px; margin: 8px 0 28px; }
.duo-history-item, .duo-log-entry { padding: 18px; border-bottom: 1px solid #8b919820; }
.duo-history-item p, .duo-log-entry p { font-size: 13px; line-height: 1.6; overflow-wrap: anywhere; }
.duo-history-item small, .duo-log-entry small { color: #777d86; font-size: 11px; display: block; margin-top: 8px; }
.duo-log-entry summary { cursor: pointer; min-height: 44px; }
.duo-login-content { position: static !important; transform: none !important; width: 100% !important; color: #242830 !important; }
.duo-login-content p { color: #626873 !important; }
.duo-login-content button { min-height: 48px; width: 100%; background: #edf2f7; border-radius: 20px; }
/* Only geometry changes: use the original, fully wired auth overlay. Its
   visibility remains owned by the existing login / role / birthday flow. */
html.ivy-duo-mode .duo-login-host > .account-login-overlay {
  position: relative !important; inset: auto !important; width: 100% !important;
  min-height: 260px; margin: 0; border: 0; background: transparent;
  border-radius: 0; backdrop-filter: none !important; -webkit-backdrop-filter: none !important;
}
.duo-login-host .login-provider-row { flex-wrap: wrap; }
.duo-login-host .login-provider { min-width: 0; flex: 1 1 180px; }
.duo-login-host .login-email-form { width: 100%; box-sizing: border-box; }
.duo-login-host .login-email-input, .duo-login-host .login-email-password { box-sizing: border-box; width: 100%; min-height: 44px; color: #242830; }
.duo-login-host .login-email-note { margin: 0; }
.duo-login-host .login-email-forgot, .duo-login-host .login-email-back { margin: 0; padding: 12px 0; min-height: 44px; box-sizing: border-box; }
html.perf-lite .duo-option-group, html.perf-lite .duo-device-status { backdrop-filter: none; -webkit-backdrop-filter: none; }
/* Keep the one main Settings backdrop; remove filters on its smaller rows. */
html.ivy-duo-mode:is(.ivy-duo-layout--canvas,.ivy-duo-layout--passport).perf-lite .duo-settings-backdrop { backdrop-filter: blur(8px) saturate(110%) !important; -webkit-backdrop-filter: blur(8px) saturate(110%) !important; }
@media (prefers-reduced-transparency: reduce) {
  .duo-option-group,.duo-device-status { backdrop-filter: none; -webkit-backdrop-filter: none; }
  html.ivy-duo-mode:is(.ivy-duo-layout--canvas,.ivy-duo-layout--passport).perf-lite .duo-settings-backdrop { backdrop-filter: none !important; -webkit-backdrop-filter: none !important; }
}
@media (prefers-reduced-motion: reduce) { .duo-settings-home .duo-switch::after { transition: none; } }
@media (max-width: 380px) {
  .duo-option-row { gap: 8px !important; padding: 8px 12px !important; }
  .duo-option-title { font-size: 16px; }
  .duo-control-row { flex-wrap: wrap; }
  .duo-account-details .duo-account-fields input { font-size: 17px; }
}

/* Compact grouped settings. Account keeps its existing size. */
html.ivy-duo-mode:is(.ivy-duo-layout--canvas,.ivy-duo-layout--passport) .day-cycle-settings-panel {
  background: #f2f2f7 !important;
}
html.ivy-duo-mode .duo-settings-home {
  height: 100%; overflow-y: auto; overscroll-behavior: contain;
  padding-bottom: 48px;
}
.duo-settings-overview { height: 100%; min-height: 0; display: flex; flex-direction: column; }
.duo-overview-content { flex: 1; min-height: 0; overflow-y: auto; overscroll-behavior: contain; padding: 2px 1px 12px; }
#duo-account-label { display: none !important; }
html.ivy-duo-mode .duo-settings-home .duo-account-card {
  background: #fff; border: 0;
  backdrop-filter: none !important; -webkit-backdrop-filter: none !important;
  box-shadow: none !important;
}
html.ivy-duo-mode .duo-account-card::before { content: none; }
.duo-settings-home .duo-search-result { background: #fff; min-height: 52px; padding: 10px 14px; }
.duo-settings-home .duo-search-status { margin: 0 2px 12px; }

/* Anchored glass search: a clear centre, rounded reflective rim, and a
   bounded backdrop pass. No animated blur or extra full-panel filter. */
.duo-settings-home .duo-settings-search {
  position: relative; isolation: isolate; flex: 0 0 auto;
  min-height: 48px; margin: 12px 0 8px; padding: 0 14px;
  border-radius: 28px; border: 1px solid rgba(255,255,255,.88);
  background: linear-gradient(165deg,rgba(255,255,255,.68),rgba(255,255,255,.25) 45%,rgba(210,220,234,.30));
  backdrop-filter: blur(16px) saturate(145%) !important;
  -webkit-backdrop-filter: blur(16px) saturate(145%) !important;
  box-shadow: inset 0 2px 2px #ffffffed,inset 1px 0 2px #ffffffb3,inset 0 -2px 3px #73859930,0 3px 10px #33465b12;
}
.duo-settings-search::before {
  content: ''; position: absolute; inset: 2px; z-index: -1;
  border-radius: inherit; pointer-events: none;
  background: linear-gradient(178deg,#ffffff80,transparent 28%,transparent 76%,#ffffff66);
  box-shadow: inset 0 0 0 1px #ffffff50;
}
.duo-settings-home .duo-settings-search input { background: transparent; outline: none; box-shadow: none; }
.duo-settings-home .duo-settings-search:focus-within { outline: 2px solid #6a92b480; outline-offset: 2px; }
html.perf-lite .duo-settings-home .duo-settings-search { backdrop-filter: none !important; -webkit-backdrop-filter: none !important; background: #fffffff2; }
@media (prefers-reduced-transparency: reduce) {
  .duo-settings-home .duo-settings-search { backdrop-filter: none !important; -webkit-backdrop-filter: none !important; background: #fff; }
}

/* Navigation slides are bounded to the sheet; only transforms animate. */
html.ivy-duo-mode .day-cycle-settings-panel.duo-navigation-running {
  overflow: hidden !important;
}
html.ivy-duo-mode .duo-settings-home {
  background: #f2f2f7;
}
html.ivy-duo-mode .duo-navigation-snapshot {
  position: absolute; inset: 0; pointer-events: none;
  overflow: hidden; user-select: none;
}

.duo-settings-home .duo-logout {
  background: #fff;
  border-radius: 14px;
  min-height: 44px;
  padding: 10px 16px;
  font-size: 17px;
  font-weight: 400;
}
.duo-settings-home .duo-logout:active { background: #e5e5ea; }

/* Sign-in follows the same quiet hierarchy as the account pages. */
html.ivy-duo-mode .duo-login-host .duo-login-content {
  box-sizing: border-box; align-items: stretch; margin: 8px 0 0;
  padding: 0; text-align: left; font-family: inherit;
}
html.ivy-duo-mode .duo-login-content .account-login-overlay__text {
  width: 100%; margin: 0 0 8px; padding: 0;
  font: 600 20px/1.3 -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
  letter-spacing: -.35px; text-align: left; color: #1c1c1e !important;
}
html.ivy-duo-mode .duo-login-content .account-login-overlay__subtext {
  margin: 0 0 28px; padding: 0; width: 100%;
  font: 400 15px/1.45 -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
  letter-spacing: normal; text-align: left; color: #6d6d72 !important;
}
html.ivy-duo-mode .duo-login-content .account-login-overlay__button {
  position: relative; margin: 0; padding: 12px 16px;
  min-height: 48px; border: 0; border-radius: 12px;
  background: #007aff; color: #fff; box-shadow: none;
  font: 600 17px/1.3 -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
}
html.ivy-duo-mode .duo-login-content .account-login-overlay__button:active { background: #0062cc; }
html.ivy-duo-mode .duo-login-content.providers-open .account-login-overlay__subtext { display: none; }
html.ivy-duo-mode .duo-login-content .account-login-overlay__traditional-link {
  color: #007aff !important; font-size: 15px !important;
  text-decoration: none !important; padding: 12px 0;
}
html.ivy-duo-mode .duo-login-content .login-provider {
  background: #fff; border-radius: 12px; box-shadow: none;
  color: #1c1c1e; font-size: 16px;
}

/* Provider marks are filled artwork, not Settings outline icons. */
html.ivy-duo-mode .duo-login-content .login-provider svg {
  width: 19px; height: 19px; flex: 0 0 19px;
  stroke: none; stroke-width: 0;
}
html.ivy-duo-mode .duo-login-content .login-provider svg * { stroke: none; }
html.ivy-duo-mode .duo-login-content .login-provider--apple svg { fill: currentColor; }
html.ivy-duo-mode .duo-login-content .login-provider--apple {
  background: #000; color: #fff; border: 1px solid #000;
}
html.ivy-duo-mode .duo-login-content .login-provider--google {
  background: #fff; color: #1f1f1f; border: 1px solid #d1d1d6;
}
html.ivy-duo-mode .duo-login-content .login-provider {
  justify-content: center; flex: 0 0 auto; width: 100%;
  min-height: 50px; padding: 12px 16px; gap: 10px;
  font-weight: 500; letter-spacing: -.2px;
  transform: translateY(5px);
  transition: opacity 180ms ease, transform 220ms ease;
}
html.ivy-duo-mode .duo-login-content .login-provider:hover { box-shadow: none; }
html.ivy-duo-mode .duo-login-content .login-provider:active { opacity: .75; }
html.ivy-duo-mode .duo-login-content .login-provider-row {
  flex-direction: column; align-items: stretch; width: 100%;
  gap: 12px; margin-top: 16px; filter: none;
}
html.ivy-duo-mode .duo-login-content .login-provider-row.is-split .login-provider {
  transform: none; transition-delay: 0s;
}
html.ivy-duo-mode .duo-login-content.providers-open .account-login-overlay__button.provider-split-hide {
  display: none;
}
html.ivy-duo-mode .duo-login-content .login-provider-row.provider-fade-out {
  margin-top: 0;
}
html.ivy-duo-mode .duo-login-content .account-login-overlay__traditional-link {
  margin-top: 8px !important; line-height: 1.35;
}
@media (prefers-reduced-motion: reduce) {
  html.ivy-duo-mode .duo-login-content .login-provider { transition: none; }
}

/* Birthday gate: readable light-sheet ink over a bounded glass counter. */
html.ivy-duo-mode .duo-login-host .dob-picker {
  width: 100%; box-sizing: border-box; padding: 12px 0 4px; gap: 14px;
}
html.ivy-duo-mode .duo-login-host .dob-picker__title {
  color: #1c1c1e; font-size: 20px; font-weight: 600; text-shadow: none;
}
html.ivy-duo-mode .duo-login-host :is(.dob-picker__sub,.dob-picker__hint) {
  color: #6d6d72; text-shadow: none; letter-spacing: normal;
}
html.ivy-duo-mode .duo-login-host .dob-picker__sub { font-size: 15px; }
html.ivy-duo-mode .duo-login-host .dob-picker__hint { font-size: 12px; }
html.ivy-duo-mode .duo-login-host .dob-picker__counter {
  box-sizing: border-box; max-width: 100%; justify-content: center;
  gap: clamp(4px,1.5vw,10px); padding: 18px 10px; margin-top: 8px;
  border-radius: 20px; border: 1px solid #ffffffeb;
  background: linear-gradient(155deg,#ffffffb8,#ffffff59 48%,#dae2ed66);
  backdrop-filter: blur(14px) saturate(140%) !important;
  -webkit-backdrop-filter: blur(14px) saturate(140%) !important;
  box-shadow: inset 0 2px 2px #fff,inset 1px 0 2px #ffffffb3,inset 0 -2px 3px #8292a52b,0 4px 12px #263b5512 !important;
}
html.ivy-duo-mode .duo-login-host .dob-digit { color: #1c1c1e; text-shadow: none; font-weight: 600; }
html.ivy-duo-mode .duo-login-host .dob-sep { color: #8e8e93; }
html.ivy-duo-mode .duo-login-host .dob-picker__confirm {
  width: 100%; min-height: 48px; margin-top: 8px;
  border: 0; border-radius: 12px; background: #007aff; color: #fff;
  font-size: 17px; font-weight: 600; box-shadow: none;
}
html.ivy-duo-mode .duo-login-host .dob-picker__error { color: #c5221f; }
html.ivy-duo-mode .duo-login-host .dob-dd {
  background: #fafafaf5; border: 1px solid #d1d1d6;
  box-shadow: 0 8px 24px #18283c24;
}
html.ivy-duo-mode .duo-login-host .dob-dd__item { color: #1c1c1e; background: transparent; border-radius: 0; }
html.ivy-duo-mode .duo-login-host .dob-dd__item:is(:hover,.is-active) { color: #007aff; background: #007aff12; }
html.ivy-duo-mode .duo-login-host .dob-picker__x { color: #6d6d72; background: #e5e5ea; }
html.ivy-duo-mode.perf-lite .duo-login-host .dob-picker__counter {
  backdrop-filter: none !important; -webkit-backdrop-filter: none !important;
}
@media (prefers-reduced-transparency: reduce) {
  html.ivy-duo-mode .duo-login-host .dob-picker__counter {
    background: #fff; backdrop-filter: none !important; -webkit-backdrop-filter: none !important;
  }
}

/* The platform date picker owns selection; the counter animates its result. */
html.ivy-duo-mode .duo-login-host .duo-dob-native {
  position: absolute; inset: 0; width: 100%; height: 100%;
  box-sizing: border-box; opacity: .01; cursor: pointer;
  border: 0; padding: 0; margin: 0; font-size: 16px; z-index: 2;
  color-scheme: light;
}
html.ivy-duo-mode .duo-login-host .duo-dob-native::-webkit-calendar-picker-indicator {
  position: absolute; inset: 0; width: auto; height: auto; margin: 0; padding: 0;
}
html.ivy-duo-mode .duo-login-host .dob-picker__counter:focus-within {
  outline: 2px solid #007aff; outline-offset: 3px;
}
html.ivy-duo-mode .duo-login-host .dob-digit__strip {
  transition: transform var(--roll-ms,460ms) cubic-bezier(.22,.9,.3,1) !important;
}
html.ivy-duo-mode .duo-login-content :is(.path-split-hide,.path-fade-out) { display: none !important; }
html.ivy-duo-mode .duo-login-content .path-choice-row {
  display: flex; flex-direction: column; width: 100%; gap: 12px; margin: 18px 0 0;
  filter: none !important;
}
html.ivy-duo-mode .duo-login-content .path-choice {
  position: relative; display: flex; flex-direction: column; align-items: flex-start;
  justify-content: center; gap: 6px; width: 100%; min-height: 100px;
  padding: 18px 38px 18px 18px; border: 0; border-radius: 16px;
  background: #fff; color: #1c1c1e; text-align: left; box-shadow: none;
}
html.ivy-duo-mode .duo-login-content .path-choice::after {
  content: ''; position: absolute; right: 19px; top: calc(50% - 4px);
  width: 7px; height: 7px; border-top: 1.5px solid #b5b5ba;
  border-right: 1.5px solid #b5b5ba; transform: rotate(45deg);
}
html.ivy-duo-mode .duo-login-content .path-choice__name {
  font-size: 18px; font-weight: 600; letter-spacing: -.3px;
}
html.ivy-duo-mode .duo-login-content .path-choice__desc {
  color: #6d6d72; font-size: 14px; line-height: 1.4;
  text-align: left; opacity: 1; letter-spacing: normal;
}
html.ivy-duo-mode .duo-login-content .path-choice:hover { box-shadow: none; transform: none !important; }
html.ivy-duo-mode .duo-login-content .path-choice:active { background: #e5e5ea; }
@media (prefers-reduced-motion: reduce) {
  html.ivy-duo-mode .duo-login-host .dob-digit__strip { transition: none !important; }
}

.duo-settings-home .duo-device-row { grid-template-columns: 48px minmax(0,1fr) auto; align-items: center; gap: 10px; padding: 14px 12px; }
.duo-device-art { display: grid; place-items: center; width: 48px; height: 52px; }
.duo-hardware { display: inline-block; position: relative; width: 27px; height: 48px; padding: 3px; box-sizing: border-box; border-radius: 8px; background: #393c43; box-shadow: inset 0 0 0 1px #737780,0 2px 3px #0002; }
.duo-hardware-screen { display: block; width: 100%; height: 100%; border-radius: 5px; background: linear-gradient(145deg,#88b9d8,#465c87); overflow: hidden; }
.duo-hardware-screen::after { content: ''; display: block; width: 130%; height: 85%; border: 3px solid #ffffff65; border-radius: 50%; transform: rotate(-35deg) translate(-15%,25%); box-shadow: 0 0 5px #ffffff50,inset 0 0 6px #ffffff40; }
.duo-hardware-screen[data-wallpaper=ios] { background: linear-gradient(155deg,#e6a6ce,#6955c6 45%,#78d3e4); }
/* Bundled stock wallpaper thumbnails (Apple artwork), sourced from:
   https://9to5mac.com/2025/06/09/download-the-new-ios-26-wallpapers-now/
   https://9to5mac.com/2026/06/10/download-the-new-ios-27-and-ipados-27-wallpapers-here/
   https://9to5mac.com/2025/06/09/you-can-now-get-the-official-macos-tahoe-26-wallpapers/
   https://9to5mac.com/2026/06/08/download-the-official-macos-27-golden-gate-wallpapers-here/
   Samsung/Pixel brand previews use Galaxy S25 / Pixel 9 stock artwork:
   https://www.androidauthority.com/download-samsung-galaxy-s25-wallpapers-3514419/
   https://www.androidauthority.com/google-pixel-9-wallpapers-3444413/
   Keep these local and static; no device-list polling or remote image requests. */
.duo-hardware-screen[data-wallpaper=ios-26] { background: #b9d4ed url('duo-wallpapers/ios-26-light.jpg') center / cover no-repeat; }
.duo-hardware-screen[data-wallpaper=ios-27] { background: #e6dcf0 url('duo-wallpapers/ios-27-light.jpg') center / cover no-repeat; }
.duo-hardware-screen[data-wallpaper=macos-26] { background: #b9d4ed url('duo-wallpapers/macos-26-light.jpg') center / cover no-repeat; }
.duo-hardware-screen[data-wallpaper=macos-27] { background: #d6c2ac url('duo-wallpapers/macos-27-light.jpg') center / cover no-repeat; }
.duo-hardware-screen[data-wallpaper=android-samsung] { background: #cbd7ef url('duo-wallpapers/android-samsung.jpg') center / cover no-repeat; }
.duo-hardware-screen[data-wallpaper=android-pixel] { background: #c9e5bd url('duo-wallpapers/android-pixel.jpg') center / cover no-repeat; }
.duo-hardware-screen:is([data-wallpaper=ios-26],[data-wallpaper=ios-27],[data-wallpaper=macos-26],[data-wallpaper=macos-27],[data-wallpaper=android-samsung],[data-wallpaper=android-pixel])::after { content: none; }
.duo-hardware-screen[data-wallpaper=android] { background: linear-gradient(145deg,#d4e9c1,#67ada1 50%,#366178); }
.duo-hardware-screen[data-wallpaper=pc] { background: conic-gradient(from 45deg,#183b91,#73c3ff,#2153b9,#16377c,#183b91); }
.duo-hardware--android { border-radius: 3px; }
.duo-hardware--android .duo-hardware-screen { border-radius: 1px; }
.duo-hardware--tablet { width: 36px; border-radius: 6px; }
.duo-hardware--mac,.duo-hardware--pc { width: 43px; height: 30px; border-radius: 4px; margin-top: -6px; }
.duo-hardware--mac .duo-hardware-screen,.duo-hardware--pc .duo-hardware-screen { border-radius: 1px; }
.duo-hardware--mac .duo-hardware-base { position: absolute; bottom: -4px; left: -3px; width: 49px; height: 4px; background: #a8acb4; border-radius: 1px 1px 4px 4px; }
.duo-hardware--pc .duo-hardware-base { position: absolute; bottom: -10px; left: 14px; width: 15px; height: 10px; background: linear-gradient(90deg,transparent 35%,#878c96 35%,#878c96 65%,transparent 65%); border-bottom: 3px solid #878c96; }
.duo-device-status { grid-column: 3; align-self: center; display: flex; align-items: center; gap: 5px; color: #56616a !important; background: linear-gradient(145deg,#eef1f5b3,#cbd3df70); border: 1px solid #ffffffd9; backdrop-filter: blur(12px) saturate(140%); -webkit-backdrop-filter: blur(12px) saturate(140%); box-shadow: inset 0 1px 1px #fff,0 1px 3px #21344912; font-size: 10px; white-space: nowrap; }
.duo-device-status::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: var(--device-status-light,#a0efbc); box-shadow: 0 0 4px var(--device-status-light,#a0efbc); }
.duo-device-hero > .duo-hardware { transform: scale(1.6); margin: 22px 0; }
@media(max-width:380px) { .duo-settings-home .duo-device-row { grid-template-columns: 40px minmax(0,1fr); } .duo-device-art { grid-row: 1 / 3; width: 40px; } .duo-device-status { grid-column: 2; justify-self: start; } }
@media(prefers-reduced-transparency:reduce) { .duo-device-status { backdrop-filter: none; -webkit-backdrop-filter: none; background: #e5e8ed; } }

/* Small status lenses retain their rim/tint without a blur layer per device. */
.duo-device-status { backdrop-filter: none; -webkit-backdrop-filter: none; }
/* Freeze glass during navigation instead of filtering two moving page copies. */
.duo-navigation-running .duo-settings-home :is(.duo-settings-search,.duo-account-tier,.dob-picker__counter) {
  backdrop-filter: none !important; -webkit-backdrop-filter: none !important;
}
html.ivy-duo-mode .dob-digit__strip { will-change: auto; }
html.ivy-duo-mode .dob-digit.is-rolling .dob-digit__strip { will-change: transform; }
