body.bm-apple-account-page {
	--bm-hub-surface: #111217;
	--bm-hub-surface-2: #17181d;
	--bm-hub-line: rgba(255,255,255,.11);
	--bm-hub-text: #f5f5f7;
	--bm-hub-muted: #a1a1a6;
	--bm-hub-blue: #2997ff;
	--bm-hub-green: #55dc72;
}

.bm-hub {
	color: var(--bm-hub-text);
	font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", sans-serif;
}

.bm-hub *,
.bm-hub-timeline * {
	box-sizing: border-box;
}

.bm-hub__head {
	position: relative;
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 28px;
	overflow: hidden;
	margin-bottom: 24px;
	padding: clamp(25px, 4vw, 38px);
	border: 1px solid var(--bm-hub-line);
	border-radius: 24px;
	background: radial-gradient(circle at 90% 0, rgba(41,151,255,.16), transparent 35%), linear-gradient(145deg, #17181f, #0d0e13);
	box-shadow: inset 0 1px 0 rgba(255,255,255,.045), 0 22px 65px rgba(0,0,0,.22);
}

.bm-hub__head > span { position: relative; z-index: 1; max-width: 680px; }
.bm-hub__head small { display: block; margin-bottom: 8px; color: #62adff; font-size: 11px; font-weight: 750; letter-spacing: .12em; text-transform: uppercase; }
.bm-hub__head h2 { margin: 0 !important; color: #f5f5f7 !important; font-size: clamp(29px, 4vw, 44px) !important; line-height: 1.08 !important; letter-spacing: -.045em !important; }
.bm-hub__head p { max-width: 650px; margin: 13px 0 0 !important; color: #a1a1a6 !important; font-size: 13px !important; line-height: 1.6 !important; }
.bm-hub__head > i { position: relative; z-index: 1; display: grid; place-items: center; width: 58px; height: 58px; flex: 0 0 58px; border: 1px solid rgba(98,173,255,.25); border-radius: 18px; background: rgba(41,151,255,.09); color: #62adff; font-size: 25px; font-style: normal; }

.bm-hub-empty,
.bm-hub-notice {
	display: flex;
	align-items: flex-start;
	flex-direction: column;
	gap: 5px;
	padding: 22px;
	border: 1px solid var(--bm-hub-line);
	border-radius: 17px;
	background: var(--bm-hub-surface-2);
}

.bm-hub-empty strong, .bm-hub-notice strong { color: #f5f5f7; font-size: 14px; }
.bm-hub-empty span, .bm-hub-notice span { color: #a1a1a6; font-size: 12px; }
.bm-hub-notice.is-success { margin-bottom: 18px; border-color: rgba(85,220,114,.25); background: rgba(31,91,47,.16); }

.bm-hub-form {
	display: grid;
	gap: 17px;
	padding: clamp(22px, 3vw, 30px);
	border: 1px solid var(--bm-hub-line);
	border-radius: 22px;
	background: var(--bm-hub-surface);
}

.bm-hub-form__grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 14px; }
.bm-hub-form label { display: grid; gap: 8px; }
.bm-hub-form label > span { color: #a1a1a6; font-size: 11px; font-weight: 650; }
.bm-hub-form :where(input:not([type="checkbox"]), select, textarea) { width: 100%; min-height: 52px; padding: 13px 15px; border: 1px solid rgba(255,255,255,.14); border-radius: 13px; outline: 0; background: #0b0c10; color: #f5f5f7; font: 500 13px/1.4 -apple-system,BlinkMacSystemFont,"SF Pro Text",sans-serif; box-shadow: none; }
.bm-hub-form textarea { min-height: 130px; resize: vertical; }
.bm-hub-form :where(input,select,textarea):focus { border-color: #2997ff; box-shadow: 0 0 0 4px rgba(41,151,255,.12); }
.bm-hub-form button[type="submit"], .bm-hub-preferences button[type="submit"] { min-height: 51px; padding: 13px 20px; border: 0; border-radius: 14px; background: linear-gradient(#2997ff,#087bea); color: #fff; font-weight: 750; cursor: pointer; box-shadow: 0 15px 34px rgba(0,113,227,.22), inset 0 1px 0 rgba(255,255,255,.25); }
.bm-hub-form label small { color: #6e6e73; font-size: 11px; }
.bm-hub-check { display: flex !important; align-items: flex-start; gap: 11px !important; }
.bm-hub-check input { width: 22px !important; height: 22px !important; flex: 0 0 22px; }

.bm-hub-documents, .bm-hub-devices, .bm-hub-favourites, .bm-hub-requests { display: grid; gap: 12px; }
.bm-hub-documents > article, .bm-hub-devices > article, .bm-hub-favourites > article, .bm-hub-requests > article { border: 1px solid var(--bm-hub-line); border-radius: 18px; background: var(--bm-hub-surface); }
.bm-hub-documents > article { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 20px; }
.bm-hub-documents small, .bm-hub-devices small, .bm-hub-requests small { color: #8e8e93; font-size: 11px; }
.bm-hub-documents h3, .bm-hub-devices h3 { margin: 4px 0 !important; color: #f5f5f7 !important; font-size: 19px !important; }
.bm-hub-documents p { margin: 0 !important; color: #a1a1a6 !important; font-size: 12px !important; }
.bm-hub-documents__links { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 7px; }
.bm-hub-documents__links a { padding: 9px 12px; border: 1px solid var(--bm-hub-line); border-radius: 10px; background: rgba(255,255,255,.025); color: #d2d2d7 !important; font-size: 11px; font-weight: 650; text-decoration: none !important; }
.bm-hub-documents__links a:hover { border-color: rgba(41,151,255,.4); color: #62adff !important; }

.bm-hub-device-form { grid-template-columns: minmax(0,1fr) minmax(0,1fr) auto; align-items: end; margin-bottom: 16px; }
.bm-hub-device-form button { min-height: 52px !important; }
.bm-hub-devices > article { padding: 22px; }
.bm-hub-devices__title { display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.bm-hub-devices__title a { color: #ff6961 !important; font-size: 11px; text-decoration: none !important; }
.bm-hub-section-label { margin: 22px 0 11px !important; color: #8e8e93 !important; font-size: 11px !important; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.bm-hub-muted { margin: 17px 0 0 !important; color: #8e8e93 !important; font-size: 12px !important; }

.bm-hub-products { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; }
.bm-hub-products article { overflow: hidden; border: 1px solid var(--bm-hub-line); border-radius: 15px; background: #0d0e12; }
.bm-hub-products__image { display: block; aspect-ratio: 1.35; padding: 8px; background: #fff; }
.bm-hub-products__image img { display: block; width: 100%; height: 100%; object-fit: contain; }
.bm-hub-products article > div { display: grid; gap: 6px; padding: 13px; }
.bm-hub-products__name { display: -webkit-box; overflow: hidden; color: #f5f5f7 !important; font-size: 11px; font-weight: 650; line-height: 1.4; text-decoration: none !important; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.bm-hub-products__price { color: #f5f5f7; font-size: 13px; font-weight: 750; }
.bm-hub-products__stock { color: #55dc72; font-size: 11px; }

.bm-hub-favourites > article { display: grid; grid-template-columns: 100px minmax(0,1fr) auto; align-items: center; gap: 17px; padding: 15px; }
.bm-hub-favourites__image { overflow: hidden; width: 100px; height: 100px; border-radius: 14px; background: #fff; }
.bm-hub-favourites__image img { width: 100%; height: 100%; object-fit: contain; }
.bm-hub-favourites__copy { display: grid; gap: 6px; }
.bm-hub-favourites__copy a { color: #f5f5f7 !important; font-size: 13px; font-weight: 700; text-decoration: none !important; }
.bm-hub-favourites__copy strong { color: #f5f5f7; font-size: 16px; }
.bm-hub-favourites__copy span { color: #ff6961; font-size: 11px; }
.bm-hub-favourites__copy span.is-stock { color: #55dc72; }
.bm-hub-favourites__alerts { display: grid; gap: 8px; min-width: 160px; }
.bm-hub-favourites__alerts label { display: flex; align-items: center; gap: 8px; color: #a1a1a6; font-size: 11px; }
.bm-hub-favourites__alerts input { width: 19px !important; height: 19px !important; }
.bm-hub-favourites__alerts button { padding: 6px 0; border: 0; background: none; color: #ff6961; font-size: 11px; text-align: left; cursor: pointer; }

.bm-hub-favourite-button { display: inline-flex; align-items: center; gap: 9px; min-height: 44px; margin: 12px 0; padding: 10px 15px; border: 1px solid rgba(255,255,255,.14); border-radius: 13px; background: rgba(255,255,255,.04); color: #f5f5f7; font: 650 12px/1.2 -apple-system,BlinkMacSystemFont,sans-serif; cursor: pointer; }
.bm-hub-favourite-button > span { color: #ff6961; font-size: 20px; }
.bm-hub-favourite-button.is-active { border-color: rgba(255,105,97,.35); background: rgba(255,105,97,.08); }

.bm-hub-subtitle { margin: 30px 0 14px !important; color: #f5f5f7 !important; }
.bm-hub-requests article { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 17px 19px; }
.bm-hub-requests strong { display: block; margin-top: 4px; color: #f5f5f7; font-size: 13px; }
.bm-hub-requests p { margin: 4px 0 0 !important; color: #8e8e93 !important; font-size: 11px !important; }
.bm-hub-requests em { padding: 7px 10px; border-radius: 999px; background: rgba(41,151,255,.12); color: #62adff; font-size: 11px; font-style: normal; font-weight: 700; }
.bm-hub-legal { margin: 18px 0 0 !important; color: #6e6e73 !important; font-size: 11px !important; line-height: 1.55 !important; }

.bm-hub-preferences { display: grid; gap: 9px; }
.bm-hub-preferences > label { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 22px; padding: 18px 20px; border: 1px solid var(--bm-hub-line); border-radius: 16px; background: var(--bm-hub-surface); cursor: pointer; }
.bm-hub-preferences > label > span { display: grid; gap: 4px; }
.bm-hub-preferences strong { color: #f5f5f7; font-size: 13px; }
.bm-hub-preferences small { color: #8e8e93; font-size: 11px; }
.bm-hub-preferences input { position: absolute; opacity: 0; }
.bm-hub-preferences label > i { position: relative; width: 46px; height: 26px; flex: 0 0 46px; border-radius: 999px; background: #3a3a3c; transition: .2s; }
.bm-hub-preferences label > i::after { position: absolute; top: 3px; left: 3px; width: 20px; height: 20px; border-radius: 50%; background: #fff; content: ""; transition: .2s; }
.bm-hub-preferences input:checked + i { background: #30d158; }
.bm-hub-preferences input:checked + i::after { transform: translateX(20px); }
.bm-hub-preferences label.is-required { cursor: default; opacity: .8; }
.bm-hub-preferences button { margin-top: 8px; }

.bm-hub-security { display: grid; gap: 12px; }
.bm-hub-security > article, .bm-passkey-list article { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 21px; border: 1px solid var(--bm-hub-line); border-radius: 18px; background: var(--bm-hub-surface); }
.bm-hub-security > article span { display: grid; gap: 4px; }
.bm-hub-security small { color: #8e8e93; font-size: 11px; }
.bm-hub-security strong { color: #f5f5f7; font-size: 25px; }
.bm-hub-security p { margin: 0 !important; color: #8e8e93 !important; font-size: 11px !important; }
.bm-hub-security button { min-height: 44px; padding: 10px 15px; border: 1px solid rgba(41,151,255,.3); border-radius: 12px; background: rgba(41,151,255,.11); color: #62adff; font-weight: 700; cursor: pointer; }
.bm-hub-security button:disabled { opacity: .45; cursor: not-allowed; }
.bm-passkey-list { display: grid; gap: 9px; }
.bm-passkey-list article strong { display: block; font-size: 13px; }
.bm-passkey-list article small { display: block; margin-top: 4px; }
.bm-passkey-list article button { border-color: rgba(255,105,97,.25); background: rgba(255,105,97,.07); color: #ff6961; }
.bm-hub-security__facts { display: flex; flex-wrap: wrap; gap: 8px; }
.bm-hub-security__facts span { padding: 8px 11px; border: 1px solid rgba(85,220,114,.16); border-radius: 999px; background: rgba(85,220,114,.06); color: #72e38b; font-size: 11px; }
.bm-hub-status.is-error, .bm-passkey-entry p.is-error { color: #ff6961 !important; }
.bm-hub-status.is-success, .bm-passkey-entry p.is-success { color: #55dc72 !important; }

.bm-passkey-entry { margin-top: 12px; text-align: center; }
.bm-passkey-entry > span { display: block; margin-bottom: 9px; color: #6e6e73; font-size: 11px; }
.bm-passkey-entry > button { display: grid; grid-template-columns: 34px 1fr; grid-template-rows: auto auto; align-items: center; width: 100%; min-height: 62px; padding: 10px 15px; border: 1px solid rgba(255,255,255,.12); border-radius: 14px; background: rgba(255,255,255,.035); color: #f5f5f7; text-align: left; cursor: pointer; }
.bm-passkey-entry > button i { grid-row: 1/3; display: grid; place-items: center; width: 30px; height: 30px; border-radius: 10px; background: rgba(41,151,255,.12); color: #62adff; font-style: normal; }
.bm-passkey-entry > button strong { font-size: 12px; }
.bm-passkey-entry > button small { color: #8e8e93; font-size: 11px; }
.bm-passkey-entry p { min-height: 17px; margin: 7px 0 0 !important; color: #8e8e93 !important; font-size: 11px !important; }

.bm-hub-timeline { margin: 0 0 24px; padding: clamp(21px,3vw,30px); border: 1px solid rgba(41,151,255,.25); border-radius: 22px; background: radial-gradient(circle at 100% 0, rgba(41,151,255,.13), transparent 32%), #111217; color: #f5f5f7; }
.bm-hub-timeline__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; }
.bm-hub-timeline__head > span { display: grid; gap: 5px; }
.bm-hub-timeline__head > span:last-child { text-align: right; }
.bm-hub-timeline__head small { color: #8e8e93; font-size: 11px; }
.bm-hub-timeline__head strong { color: #f5f5f7; font-size: 16px; }
.bm-hub-timeline__steps { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); margin: 28px 0; }
.bm-hub-timeline__steps > span { position: relative; display: grid; justify-items: center; gap: 8px; color: #6e6e73; font-size: 11px; text-align: center; }
.bm-hub-timeline__steps > span::before { position: absolute; top: 13px; right: 50%; left: -50%; height: 2px; background: #34353d; content: ""; }
.bm-hub-timeline__steps > span:first-child::before { display: none; }
.bm-hub-timeline__steps i { position: relative; z-index: 1; display: grid; place-items: center; width: 28px; height: 28px; border: 2px solid #3a3a3c; border-radius: 50%; background: #111217; color: #77777e; font-style: normal; font-weight: 700; }
.bm-hub-timeline__steps .is-active { color: #f5f5f7; }
.bm-hub-timeline__steps .is-active::before { background: #2997ff; }
.bm-hub-timeline__steps .is-active i { border-color: #2997ff; background: #0071e3; color: #fff; box-shadow: 0 0 0 5px rgba(41,151,255,.1); }
.bm-hub-timeline__meta { display: flex; align-items: center; gap: 18px; padding-top: 17px; border-top: 1px solid var(--bm-hub-line); }
.bm-hub-timeline__meta > span { display: grid; gap: 4px; }
.bm-hub-timeline__meta small { color: #8e8e93; font-size: 11px; }
.bm-hub-timeline__meta strong { color: #d2d2d7; font-size: 12px; }
.bm-hub-timeline__meta a { margin-left: auto; padding: 10px 13px; border-radius: 11px; background: #0071e3; color: #fff !important; font-size: 11px; font-weight: 700; text-decoration: none !important; }
.bm-hub-timeline.is-exception { border-color: rgba(255,105,97,.25); }

.bm-hub-order-actions { display: flex; flex-wrap: wrap; gap: 9px; margin: -10px 0 25px; }
.bm-hub-order-actions :where(button,a) { min-height: 43px; padding: 11px 15px; border: 1px solid var(--bm-hub-line); border-radius: 12px; background: rgba(255,255,255,.035); color: #d2d2d7 !important; font: 700 11px/1.2 -apple-system,BlinkMacSystemFont,sans-serif; text-decoration: none !important; cursor: pointer; }
.bm-hub-order-actions button { border-color: rgba(41,151,255,.3); background: rgba(41,151,255,.1); color: #62adff !important; }

@media (max-width: 900px) {
	.bm-hub-products { grid-template-columns: repeat(2,minmax(0,1fr)); }
	.bm-hub-device-form { grid-template-columns: 1fr 1fr; }
	.bm-hub-device-form button { grid-column: 1/-1; }
	.bm-hub-favourites > article { grid-template-columns: 82px minmax(0,1fr); }
	.bm-hub-favourites__image { width: 82px; height: 82px; }
	.bm-hub-favourites__alerts { grid-column: 1/-1; grid-template-columns: repeat(3,auto); min-width: 0; }
}

@media (max-width: 640px) {
	.bm-hub__head { padding: 22px; border-radius: 20px; }
	.bm-hub__head > i { display: none; }
	.bm-hub-form__grid, .bm-hub-device-form { grid-template-columns: 1fr; }
	.bm-hub-documents > article, .bm-hub-devices__title, .bm-hub-security > article, .bm-passkey-list article { align-items: flex-start; flex-direction: column; }
	.bm-hub-documents__links { justify-content: flex-start; }
	.bm-hub-products { grid-template-columns: 1fr 1fr; }
	.bm-hub-favourites > article { grid-template-columns: 68px minmax(0,1fr); }
	.bm-hub-favourites__image { width: 68px; height: 68px; }
	.bm-hub-favourites__alerts { grid-template-columns: 1fr; }
	.bm-hub-timeline__head, .bm-hub-timeline__meta { align-items: flex-start; flex-direction: column; }
	.bm-hub-timeline__head > span:last-child { text-align: left; }
	.bm-hub-timeline__meta a { margin-left: 0; }
	.bm-hub-timeline__steps strong { font-size: 10px; }
}

@media (prefers-reduced-motion: reduce) {
	.bm-hub *, .bm-hub-timeline * { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}
