.brand-copy strong,
.mobile-brand strong {
  font-size: 18px;
  letter-spacing: -0.55px;
}

.brand-copy small {
  font-size: var(--font-caption);
  font-weight: 700;
  letter-spacing: 1.7px;
  text-transform: uppercase;
}

.security-status-dot {
  width: 7px;
  height: 7px;
  margin-left: auto;
  border-radius: 50%;
  background: #36d9a4;
  box-shadow: 0 0 0 4px rgba(54, 217, 164, 0.1);
}

.theme-control {
  position: relative;
}

.theme-button {
  display: inline-flex;
  height: 43px;
  align-items: center;
  gap: 7px;
  padding: 0 12px;
  color: #40514d;
  border: 1px solid var(--line);
  border-radius: 13px;
  background: rgba(255, 255, 255, 0.78);
  cursor: pointer;
  font-family: inherit;
  font-size: var(--font-reading);
  font-weight: 700;
  transition: background 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}

.theme-button:hover,
.theme-button[aria-expanded="true"] {
  background: white;
  box-shadow: 0 8px 24px rgba(26, 61, 52, 0.08);
}

.theme-button > .material-symbols-rounded {
  color: #71827d;
  font-size: 18px;
}

.theme-button .theme-chevron {
  font-size: 16px;
}

.theme-menu {
  position: absolute;
  top: calc(100% + 10px);
  right: 0;
  z-index: 80;
  width: 280px;
  padding: 10px;
  border: 1px solid #dce7e3;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.98);
  box-shadow: 0 22px 55px rgba(25, 58, 49, 0.18);
  backdrop-filter: blur(18px);
}

.theme-menu[hidden] {
  display: none;
}

.theme-menu > p {
  margin: 4px 7px 8px;
  color: #899792;
  font-size: var(--font-small);
  font-weight: 800;
  letter-spacing: 1.5px;
  text-transform: uppercase;
}

.theme-option {
  display: grid;
  width: 100%;
  grid-template-columns: 48px 1fr 24px;
  align-items: center;
  gap: 11px;
  padding: 10px;
  color: var(--ink);
  border: 1px solid transparent;
  border-radius: 13px;
  background: transparent;
  cursor: pointer;
  font-family: inherit;
  text-align: left;
}

.theme-option:hover {
  background: #f2f7f5;
}

.theme-option.active {
  border-color: #bfe5d9;
  background: #edf8f4;
}

.theme-option strong,
.theme-option small {
  display: block;
}

.theme-option strong {
  margin-bottom: 2px;
  font-size: var(--font-reading);
}

.theme-option small {
  color: var(--muted);
  font-size: var(--font-small);
}

.theme-preview {
  display: grid;
  width: 48px;
  height: 36px;
  grid-template-columns: 13px 1fr;
  overflow: hidden;
  border: 1px solid #dbe5e2;
  border-radius: 9px;
  box-shadow: 0 5px 12px rgba(24, 55, 47, 0.08);
}

.theme-preview > span:first-child {
  grid-row: 1 / 3;
}

.original-preview {
  background: #f6faf8;
}

.original-preview > span:first-child {
  background: #092f28;
}

.original-preview > span:last-child {
  align-self: center;
  width: 22px;
  height: 11px;
  margin-left: 6px;
  border-radius: 4px;
  background: white;
  box-shadow: 0 0 0 1px #dce7e3;
}

.futuristic-preview {
  border-color: #243448;
  background:
    linear-gradient(rgba(47, 76, 94, 0.22) 1px, transparent 1px),
    linear-gradient(90deg, rgba(47, 76, 94, 0.22) 1px, transparent 1px),
    #050b13;
  background-size: 8px 8px;
}

.futuristic-preview > span:first-child {
  background: #0c1625;
}

.futuristic-preview > span:last-child {
  align-self: center;
  width: 22px;
  height: 11px;
  margin-left: 6px;
  border: 1px solid rgba(20, 205, 151, 0.35);
  border-radius: 4px;
  background: #0b1920;
}

.theme-check {
  color: var(--green-dark);
  font-size: 18px;
  opacity: 0;
}

.theme-option.active .theme-check {
  opacity: 1;
}

.decision-hero {
  position: relative;
  display: grid;
  min-height: 265px;
  grid-template-columns: minmax(330px, 1.2fr) minmax(390px, 1fr);
  gap: 30px;
  overflow: hidden;
  margin-bottom: 15px;
  color: white;
  border: 1px solid rgba(54, 217, 164, 0.18);
  border-radius: 24px;
  background:
    radial-gradient(circle at 90% 5%, rgba(65, 225, 184, 0.16), transparent 28%),
    radial-gradient(circle at 3% 95%, rgba(18, 201, 145, 0.1), transparent 33%),
    linear-gradient(135deg, #0b332c, #071d19 70%);
  padding: 29px;
  box-shadow: 0 22px 55px rgba(8, 52, 41, 0.16);
}

.decision-hero::after {
  position: absolute;
  right: -75px;
  bottom: -150px;
  width: 320px;
  height: 320px;
  border: 1px solid rgba(81, 227, 184, 0.1);
  border-radius: 50%;
  content: "";
}

.decision-main {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  flex-direction: column;
}

.decision-kicker {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: rgba(255, 255, 255, 0.55);
  font-size: var(--font-detail);
  font-weight: 800;
  letter-spacing: 1.4px;
  text-transform: uppercase;
}

.live-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #63e7bc;
  box-shadow: 0 0 0 5px rgba(99, 231, 188, 0.1);
}

.decision-main > p {
  margin: 18px 0 3px;
  color: rgba(255, 255, 255, 0.63);
  font-size: var(--font-reading);
  font-weight: 600;
}

.decision-main > strong {
  color: white;
  font: 800 46px/1.1 var(--font-display);
  letter-spacing: -2px;
}

.decision-main > small {
  display: block;
  max-width: 520px;
  margin-top: 8px;
  color: rgba(255, 255, 255, 0.43);
  font-size: var(--font-detail);
  line-height: 1.5;
}

.decision-actions {
  display: flex;
  align-items: center;
  gap: 15px;
  margin-top: 22px;
}

.decision-hero .primary-button {
  color: #08251d;
  background: linear-gradient(135deg, #7aebc4, #37dca5);
}

.decision-link {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  color: rgba(255, 255, 255, 0.56);
  border: 0;
  background: transparent;
  cursor: pointer;
  font-size: var(--font-detail);
  font-weight: 700;
}

.decision-link:hover {
  color: #7aebc4;
}

.decision-link .material-symbols-rounded {
  font-size: 15px;
}

.decision-breakdown {
  position: relative;
  z-index: 2;
  display: grid;
  align-content: center;
  gap: 9px;
}

.decision-breakdown article {
  display: grid;
  min-height: 59px;
  grid-template-columns: 40px 1fr;
  gap: 11px;
  align-items: center;
  border: 1px solid rgba(255, 255, 255, 0.09);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.045);
  padding: 10px 13px;
}

.decision-stat-icon {
  display: grid;
  width: 36px;
  height: 36px;
  place-items: center;
  border-radius: 11px;
  font-size: 18px;
}

.decision-stat-icon.reserve {
  color: #74e9c0;
  background: rgba(91, 230, 180, 0.1);
}

.decision-stat-icon.protected {
  color: #6fd8e0;
  background: rgba(79, 209, 218, 0.1);
}

.decision-stat-icon.risk {
  color: #ffd47c;
  background: rgba(245, 184, 66, 0.1);
}

.decision-breakdown article div {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 2px 10px;
  align-items: baseline;
}

.decision-breakdown small {
  color: rgba(255, 255, 255, 0.47);
  font-size: var(--font-caption);
}

.decision-breakdown strong {
  color: white;
  font: 700 13px var(--font-display);
}

.decision-breakdown article div span {
  grid-column: 1 / -1;
  color: rgba(255, 255, 255, 0.36);
  font-size: var(--font-caption);
}

.privacy-assurance {
  display: grid;
  grid-template-columns: 40px 1fr auto;
  gap: 13px;
  align-items: center;
  margin-bottom: 16px;
  border: 1px solid #cfebe1;
  border-radius: 17px;
  background: linear-gradient(90deg, #eaf8f3, #f6fbf9);
  padding: 14px 16px;
}

.privacy-assurance > .material-symbols-rounded {
  display: grid;
  width: 37px;
  height: 37px;
  place-items: center;
  color: var(--green-dark);
  border-radius: 11px;
  background: white;
  box-shadow: 0 6px 15px rgba(15, 108, 78, 0.08);
  font-size: 19px;
}

.privacy-assurance strong {
  display: block;
  font-size: var(--font-small);
}

.privacy-assurance p {
  margin: 4px 0 0;
  color: var(--muted);
  font-size: var(--font-caption);
}

.privacy-assurance button {
  color: var(--green-dark);
  border: 0;
  background: transparent;
  cursor: pointer;
  font-size: var(--font-detail);
  font-weight: 700;
}

.insights-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(310px, 0.75fr);
  gap: 14px;
}

.insight-featured {
  grid-row: span 3;
  display: flex;
  min-height: 440px;
  align-items: flex-start;
  justify-content: center;
  flex-direction: column;
  background:
    radial-gradient(circle at 0% 100%, rgba(18, 181, 122, 0.08), transparent 30%),
    white;
  padding: 32px;
}

.insight-label {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: var(--green-dark);
  font-size: var(--font-detail);
  font-weight: 800;
  letter-spacing: 1px;
  text-transform: uppercase;
}

.insight-label .material-symbols-rounded {
  font-size: 18px;
}

.insight-featured h3 {
  max-width: 620px;
  margin: 24px 0 12px;
  font: 750 27px/1.25 var(--font-display);
  letter-spacing: -1px;
}

.insight-featured > p {
  max-width: 650px;
  margin: 0;
  color: var(--muted);
  font-size: var(--font-small);
  line-height: 1.7;
}

.insight-impact {
  display: grid;
  width: 100%;
  max-width: 650px;
  grid-template-columns: 1fr auto 1fr;
  gap: 18px;
  align-items: center;
  margin: 27px 0 23px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: var(--surface-soft);
  padding: 17px;
}

.insight-impact > div {
  display: flex;
  flex-direction: column;
}

.insight-impact small,
.insight-impact span {
  color: var(--muted);
  font-size: var(--font-caption);
}

.insight-impact strong {
  margin: 5px 0 3px;
  font: 750 18px var(--font-display);
}

.insight-impact > .material-symbols-rounded {
  color: #a4b2ad;
  font-size: 19px;
}

.insight-side-card {
  display: grid;
  min-height: 137px;
  grid-template-columns: 42px 1fr;
  gap: 13px;
  align-items: flex-start;
}

.insight-side-icon {
  display: grid;
  width: 39px;
  height: 39px;
  place-items: center;
  border-radius: 12px;
  font-size: 20px;
}

.insight-side-icon.good {
  color: var(--green-dark);
  background: var(--green-soft);
}

.insight-side-icon.warning {
  color: #b77b1d;
  background: var(--amber-soft);
}

.insight-side-icon.future {
  color: #277f8f;
  background: var(--cyan-soft);
}

.insight-side-card small {
  color: var(--soft-muted);
  font-size: var(--font-caption);
}

.insight-side-card h3 {
  margin: 5px 0;
  font: 700 12px var(--font-display);
}

.insight-side-card p {
  margin: 0;
  color: var(--muted);
  font-size: var(--font-detail);
  line-height: 1.45;
}

.explain-button {
  margin-top: 9px;
  padding: 0;
  color: var(--green-dark);
  border: 0;
  background: transparent;
  cursor: pointer;
  font-size: var(--font-caption);
  font-weight: 700;
}

.import-flow {
  display: grid;
  max-width: 740px;
  grid-template-columns: auto 1fr auto 1fr auto;
  align-items: center;
  margin: 5px 0 18px;
}

.import-step {
  display: flex;
  align-items: center;
  gap: 8px;
}

.import-step > span {
  display: grid;
  width: 28px;
  height: 28px;
  place-items: center;
  color: var(--muted);
  border: 1px solid #ccd8d4;
  border-radius: 9px;
  background: white;
  font-size: var(--font-detail);
  font-weight: 800;
}

.import-step.active > span {
  color: white;
  border-color: var(--green);
  background: var(--green);
}

.import-step div {
  display: flex;
  flex-direction: column;
}

.import-step strong {
  font-size: var(--font-detail);
}

.security-prototype-notice {
  grid-template-columns: 40px 1fr;
  margin-bottom: 14px;
}

.import-step small {
  margin-top: 2px;
  color: var(--muted);
  font-size: var(--font-caption);
}

.import-flow > i {
  height: 1px;
  margin: 0 13px;
  background: #dce5e2;
}

.import-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(290px, 0.55fr);
  gap: 15px;
}

.import-panel {
  padding: 24px;
}

.upload-zone {
  display: flex;
  min-height: 250px;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  margin-top: 20px;
  border: 1.5px dashed #b9cec7;
  border-radius: 18px;
  background: #f9fbfa;
  cursor: pointer;
  transition: 0.2s ease;
}

.upload-zone:hover {
  border-color: #64cda7;
  background: #f2faf7;
}

.disabled-upload {
  cursor: not-allowed;
}

.disabled-upload:hover {
  border-color: #b9cec7;
  background: #f9fbfa;
}

.disabled-upload .secondary-button {
  pointer-events: none;
  opacity: 0.72;
}

.upload-zone input {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  opacity: 0;
}

.upload-icon {
  display: grid;
  width: 55px;
  height: 55px;
  place-items: center;
  color: var(--green-dark);
  border-radius: 17px;
  background: var(--green-soft);
  font-size: 27px;
}

.upload-zone > strong {
  margin-top: 17px;
  font: 700 13px var(--font-display);
}

.upload-zone > small {
  margin: 7px 0 16px;
  color: var(--muted);
  font-size: var(--font-caption);
}

.upload-zone .secondary-button {
  min-height: 36px;
}

.import-form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 13px;
  margin-top: 16px;
}

.import-form-row label {
  display: flex;
  flex-direction: column;
  gap: 7px;
}

.import-form-row label > span {
  color: var(--muted);
  font-size: var(--font-caption);
  font-weight: 700;
}

.import-form-row select {
  height: 43px;
  color: var(--ink);
  border: 1px solid var(--line);
  outline: 0;
  border-radius: 12px;
  background: white;
  padding: 0 12px;
  font-size: var(--font-detail);
}

.import-safety {
  min-height: 100%;
  border: 1px solid #d1e9e0;
  border-radius: 22px;
  background:
    radial-gradient(circle at 50% 0, rgba(18, 181, 122, 0.1), transparent 35%),
    white;
  padding: 26px;
  box-shadow: var(--shadow);
}

.import-safety > .material-symbols-rounded {
  display: grid;
  width: 45px;
  height: 45px;
  place-items: center;
  color: var(--green-dark);
  border-radius: 14px;
  background: var(--green-soft);
  font-size: 23px;
}

.import-safety h3 {
  margin: 22px 0 0;
  font: 700 15px var(--font-display);
}

.import-safety ul {
  display: flex;
  flex-direction: column;
  gap: 13px;
  margin: 21px 0;
  padding: 0;
  list-style: none;
}

.import-safety li {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  color: var(--muted);
  font-size: var(--font-caption);
  line-height: 1.45;
}

.import-safety li .material-symbols-rounded {
  color: var(--green);
  font-size: 14px;
}

.import-safety > p {
  margin: 0;
  padding-top: 17px;
  color: #b16e16;
  border-top: 1px solid var(--line);
  font-size: var(--font-caption);
}

.protection-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 10px;
  color: var(--green-dark);
  border: 1px solid #cdeadd;
  border-radius: 10px;
  background: var(--green-soft);
  font-size: var(--font-caption);
  font-weight: 700;
}

.protection-badge .material-symbols-rounded {
  font-size: 16px;
}

.security-overview {
  display: grid;
  grid-template-columns: 1.4fr 0.8fr;
  gap: 15px;
}

.security-score,
.security-principle {
  min-height: 205px;
  border: 1px solid #d2e9e1;
  border-radius: 22px;
  background:
    radial-gradient(circle at 15% 50%, rgba(18, 181, 122, 0.08), transparent 28%),
    white;
  box-shadow: var(--shadow);
}

.security-score {
  display: flex;
  align-items: center;
  gap: 29px;
  padding: 25px 31px;
}

.security-ring {
  position: relative;
  display: grid;
  width: 135px;
  height: 135px;
  flex: 0 0 auto;
  place-items: center;
  border-radius: 50%;
  background: conic-gradient(var(--green) 0 80%, #e6eeeb 80% 100%);
}

.security-ring::before {
  position: absolute;
  width: 104px;
  height: 104px;
  border-radius: 50%;
  background: white;
  content: "";
}

.security-ring > span {
  z-index: 2;
  display: flex;
  align-items: baseline;
  flex-direction: column;
  text-align: center;
}

.security-ring strong {
  font: 800 31px/1 var(--font-display);
}

.security-ring small {
  margin-top: 4px;
  color: var(--muted);
  font-size: var(--font-caption);
}

.security-score h3 {
  margin: 7px 0;
  font: 750 20px var(--font-display);
}

.security-score p {
  max-width: 500px;
  margin: 0;
  color: var(--muted);
  font-size: var(--font-detail);
  line-height: 1.5;
}

.security-score .primary-button {
  margin-top: 17px;
}

.security-principle {
  display: flex;
  align-items: flex-start;
  gap: 15px;
  padding: 27px;
}

.security-principle > .material-symbols-rounded {
  display: grid;
  width: 45px;
  height: 45px;
  flex: 0 0 auto;
  place-items: center;
  color: #258599;
  border-radius: 14px;
  background: var(--cyan-soft);
  font-size: 23px;
}

.security-principle small {
  color: #287f90;
  font-size: var(--font-caption);
  font-weight: 700;
  text-transform: uppercase;
}

.security-principle strong {
  display: block;
  margin-top: 10px;
  font: 700 17px/1.4 var(--font-display);
}

.security-principle p {
  margin: 10px 0 0;
  color: var(--muted);
  font-size: var(--font-detail);
  line-height: 1.5;
}

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

.security-card {
  min-height: 285px;
}

.security-card > header {
  display: flex;
  align-items: center;
  gap: 11px;
  padding-bottom: 15px;
  border-bottom: 1px solid var(--line);
}

.security-card-icon {
  display: grid;
  width: 39px;
  height: 39px;
  place-items: center;
  color: var(--green-dark);
  border-radius: 12px;
  background: var(--green-soft);
  font-size: 20px;
}

.security-card header h3 {
  margin: 0;
  font: 700 12px var(--font-display);
}

.security-card header p {
  margin: 4px 0 0;
  color: var(--muted);
  font-size: var(--font-caption);
}

.device-list > div {
  display: grid;
  grid-template-columns: 35px 1fr auto;
  gap: 10px;
  align-items: center;
  padding: 16px 0;
  border-bottom: 1px solid var(--line);
}

.device-list > div:last-child {
  border-bottom: 0;
}

.device-list > div > .material-symbols-rounded {
  display: grid;
  width: 33px;
  height: 33px;
  place-items: center;
  color: var(--muted);
  border-radius: 10px;
  background: var(--surface-soft);
  font-size: 17px;
}

.device-list p,
.device-list strong,
.device-list small {
  display: block;
  margin: 0;
}

.device-list strong {
  font-size: var(--font-detail);
}

.device-list small {
  margin-top: 4px;
  color: var(--muted);
  font-size: var(--font-caption);
}

.current-device,
.device-list button {
  color: var(--green-dark);
  border: 0;
  background: transparent;
  font-size: var(--font-caption);
  font-weight: 700;
}

.device-list button {
  cursor: pointer;
}

.security-setting {
  display: flex;
  min-height: 57px;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  border-bottom: 1px solid var(--line);
}

.security-setting:last-child {
  border-bottom: 0;
}

.security-setting > span:first-child {
  display: flex;
  flex-direction: column;
}

.security-setting strong {
  font-size: var(--font-detail);
}

.security-setting small {
  margin-top: 4px;
  color: var(--muted);
  font-size: var(--font-caption);
}

.setting-state {
  padding: 5px 7px;
  border-radius: 7px;
  font-size: var(--font-caption);
  font-weight: 700;
}

.setting-state.on {
  color: var(--green-dark);
  background: var(--green-soft);
}

.setting-state.pending {
  color: #ad741c;
  background: var(--amber-soft);
}

.security-action {
  display: flex;
  width: 100%;
  min-height: 61px;
  align-items: center;
  justify-content: space-between;
  color: var(--ink);
  border: 0;
  border-bottom: 1px solid var(--line);
  background: transparent;
  cursor: pointer;
}

.security-action:last-child {
  border-bottom: 0;
}

.security-action > span:first-child {
  display: flex;
  align-items: center;
  gap: 10px;
}

.security-action > span:first-child > .material-symbols-rounded {
  color: var(--muted);
  font-size: 19px;
}

.security-action > span:first-child > span:last-child {
  display: flex;
  flex-direction: column;
  text-align: left;
}

.security-action strong {
  font-size: var(--font-detail);
}

.security-action small {
  margin-top: 4px;
  color: var(--muted);
  font-size: var(--font-caption);
}

.security-action > .material-symbols-rounded {
  color: #9daaa6;
  font-size: 18px;
}

.security-action.danger strong,
.security-action.danger > span:first-child > .material-symbols-rounded {
  color: #de5b60;
}

.open-finance-empty {
  display: flex;
  min-height: 205px;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  text-align: center;
}

.open-finance-empty > .material-symbols-rounded {
  color: #258599;
  font-size: 32px;
}

.open-finance-empty strong {
  margin-top: 13px;
  font-size: var(--font-small);
}

.open-finance-empty p {
  max-width: 400px;
  margin: 8px 0 13px;
  color: var(--muted);
  font-size: var(--font-caption);
  line-height: 1.55;
}

.future-label {
  padding: 6px 8px;
  color: #287f90;
  border-radius: 8px;
  background: var(--cyan-soft);
  font-size: var(--font-caption);
  font-weight: 700;
}

.mobile-more-backdrop[hidden] {
  display: none;
}

.mobile-more-backdrop {
  position: fixed;
  inset: 0;
  z-index: 70;
  display: none;
  align-items: end;
  background: rgba(2, 17, 13, 0.6);
  backdrop-filter: blur(8px);
}

.mobile-more-sheet {
  width: 100%;
  border: 1px solid var(--line);
  border-bottom: 0;
  border-radius: 24px 24px 0 0;
  background: white;
  padding: 20px 17px calc(24px + env(safe-area-inset-bottom));
  box-shadow: 0 -24px 60px rgba(8, 47, 37, 0.18);
}

.mobile-more-sheet header {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.mobile-more-sheet header div {
  display: flex;
  flex-direction: column;
}

.mobile-more-sheet header small {
  color: var(--green-dark);
  font-size: var(--font-caption);
  font-weight: 800;
  letter-spacing: 1.2px;
  text-transform: uppercase;
}

.mobile-more-sheet header strong {
  margin-top: 3px;
  font: 700 17px var(--font-display);
}

.mobile-more-sheet header button {
  display: grid;
  width: 35px;
  height: 35px;
  place-items: center;
  color: var(--muted);
  border: 1px solid var(--line);
  border-radius: 11px;
  background: var(--surface-soft);
}

.mobile-more-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 9px;
  margin-top: 17px;
}

.mobile-more-grid button {
  display: flex;
  min-height: 78px;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 8px;
  color: var(--muted);
  border: 1px solid var(--line);
  border-radius: 15px;
  background: var(--surface-soft);
}

.mobile-more-grid button .material-symbols-rounded {
  color: #71837d;
  font-size: 21px;
}

.mobile-more-grid button small {
  font-size: var(--font-caption);
}

.mobile-more-grid .protection-entry {
  color: var(--green-dark);
  border-color: #cbeadd;
  background: var(--green-soft);
}

.mobile-more-grid .protection-entry .material-symbols-rounded {
  color: var(--green-dark);
}

@media (max-width: 1080px) {
  .security-status-dot {
    position: absolute;
    margin: -22px -31px 0 0;
  }

  .decision-hero {
    grid-template-columns: 1fr;
  }

  .decision-breakdown {
    grid-template-columns: repeat(3, 1fr);
  }

  .decision-breakdown article {
    grid-template-columns: 1fr;
  }

  .insights-layout,
  .import-grid,
  .security-overview {
    grid-template-columns: 1fr;
  }

  .insight-featured {
    grid-row: auto;
    min-height: 380px;
  }
}

@media (max-width: 780px) {
  .mobile-brand strong {
    max-width: 118px;
    overflow: hidden;
    font-size: 14px;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .mobile-more-backdrop {
    display: flex;
  }

  .decision-hero {
    min-height: 0;
    gap: 22px;
    padding: 22px;
  }

  .decision-main > strong {
    font-size: 38px;
  }

  .decision-actions {
    width: 100%;
    align-items: flex-start;
    flex-direction: column;
  }

  .decision-breakdown {
    grid-template-columns: 1fr;
  }

  .decision-breakdown article {
    grid-template-columns: 40px 1fr;
  }

  .privacy-assurance {
    grid-template-columns: 37px 1fr;
  }

  .privacy-assurance button {
    grid-column: 2;
    justify-self: start;
  }

  .insight-featured {
    min-height: 0;
    padding: 22px;
  }

  .insight-featured h3 {
    font-size: 22px;
  }

  .insight-impact {
    grid-template-columns: 1fr;
  }

  .insight-impact > .material-symbols-rounded {
    transform: rotate(90deg);
  }

  .import-flow {
    grid-template-columns: repeat(3, 1fr);
    gap: 7px;
  }

  .import-flow > i {
    display: none;
  }

  .import-step {
    align-items: flex-start;
    flex-direction: column;
  }

  .import-form-row {
    grid-template-columns: 1fr;
  }

  .upload-zone {
    min-height: 230px;
  }

  .security-score {
    align-items: flex-start;
    flex-direction: column;
    padding: 23px;
  }

  .security-ring {
    width: 110px;
    height: 110px;
  }

  .security-ring::before {
    width: 84px;
    height: 84px;
  }

  .security-grid {
    grid-template-columns: 1fr;
  }

  .mobile-more-grid {
    grid-template-columns: repeat(3, 1fr);
  }

  .theme-button {
    width: 38px;
    height: 38px;
    justify-content: center;
    padding: 0;
  }

  .theme-button-label,
  .theme-button .theme-chevron {
    display: none;
  }

  .theme-menu {
    position: fixed;
    top: 72px;
    right: 14px;
    width: min(280px, calc(100vw - 28px));
  }
}

@media (max-width: 430px) {
  .decision-main > strong {
    font-size: 34px;
  }
}
