/* Ultra Dashboard v1 */
.udh, .udh *, .udh-pbox, .udh-pbox *, .udh-auth-card, .udh-auth-card *, .udh-modal, .udh-modal *, .udh-notif-standalone, .udh-notif-standalone * { box-sizing: border-box; }
.udh, .udh-pbox, .udh-auth-wrap, .udh-modal-box, .udh-header-bar, .udh-notif-standalone, .udh-recent-header {
	--p: #6c4cf1; --pd: #5a3ddb; --p10: #f3f0fc; --p20: #e6dffb; --p30: #c9b8f7;
	--y: #f0d100; --y10: #fff7c2;
	--ink: #1b1733; --grey: #6f6c85; --muted: #9b98b0;
	--page: #f2f2f7; --app: #ffffff; --card: #ffffff; --soft: #f7f6fb; --line: #ebe9f3; --soft2: #f7f5fd; --soft2-line: #ece7fa;
	--green: #179a46; --green10: #e9f9ee; --red: #ef4444; --red10: #ffecec; --amber: #d99a00; --amber10: #fff7c2;
	--dark: #1b1733; --dark-text: #ffffff;
	font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
	color: var(--ink);
	-webkit-font-smoothing: antialiased;
}
.udh[data-theme="dark"] {
	--ink: #f3f2fa; --grey: #b6b3c9; --muted: #8a879e;
	--page: #0f0e17; --app: #16141f; --card: #1d1a2b; --soft: #262238; --line: #2f2a44; --soft2: #221e33; --soft2-line: #332d4b;
	--p10: #2a2147; --p20: #3a2d63; --p30: #4e3d85; --y10: #3a3312; --green10: #15301f; --red10: #3a1a1a; --amber10: #3a3312;
	--dark: #0c0b14;
}
.udh { max-width: none; width: 100%; margin: 0 auto; padding: 0; line-height: 1.5; font-size: 15px; }
.udh a { color: var(--p); text-decoration: none; }
.udh a:hover { color: var(--pd); }
.udh h1, .udh h2, .udh h3, .udh h4 { margin: 0; color: var(--ink); font-family: inherit; line-height: 1.25; font-weight: 600; }
.udh p { margin: 0 0 10px; }
.udh-muted, .udh small { color: var(--muted); }
.udh-right { text-align: right; }
.udh-text-success { color: var(--green); font-weight: 500; }
.udh button { font-family: inherit; }
.udh svg { display: block; }

/* App frame */
.udh-app { background: var(--app); border: 0; border-radius: 0; padding: 24px 44px 110px; box-shadow: none; }

/* Top bar */
.udh-top { display: flex; align-items: center; gap: 14px; margin-bottom: 30px; }
.udh-nav { display: flex; gap: 4px; background: var(--soft); border-radius: 999px; padding: 6px; overflow-x: auto; scrollbar-width: none; }
.udh-nav::-webkit-scrollbar { display: none; }
.udh-nav-item { position: relative; flex: 0 0 auto; padding: 11px 22px; border-radius: 999px; font-size: 15px; color: var(--ink) !important; font-weight: 500; white-space: nowrap; transition: all .2s; }
.udh-nav-item:hover { background: var(--card); }
.udh-nav-item.is-active { background: var(--dark); color: var(--dark-text) !important; font-weight: 600; }
.udh-nav-count { display: inline-flex; align-items: center; justify-content: center; margin-left: 6px; min-width: 18px; height: 18px; padding: 0 5px; border-radius: 999px; background: var(--p); color: #fff; font-size: 10.5px; font-weight: 700; vertical-align: 1px; }
.udh-top-right { margin-left: auto; display: flex; align-items: center; gap: 10px; }
.udh-theme { display: flex; gap: 2px; background: var(--soft); border: 1px solid var(--line); border-radius: 12px; padding: 3px; }
.udh button.udh-theme-btn { width: 36px !important; height: 34px !important; border-radius: 9px !important; border: 0 !important; background: transparent !important; color: var(--grey) !important; display: inline-flex !important; align-items: center !important; justify-content: center !important; cursor: pointer; padding: 0 !important; box-shadow: none !important; line-height: 0 !important; }
.udh button.udh-theme-btn:hover { color: var(--ink) !important; }
.udh button.udh-theme-btn.is-active { background: var(--card) !important; color: var(--p) !important; box-shadow: 0 2px 8px rgba(27, 23, 51, .12) !important; }
.udh-ib, .udh button.udh-ib { position: relative; width: 44px !important; height: 44px !important; border-radius: 13px !important; border: 1px solid var(--line) !important; background: var(--card) !important; color: var(--ink) !important; display: inline-flex !important; align-items: center !important; justify-content: center !important; cursor: pointer; transition: all .2s; padding: 0 !important; line-height: 0 !important; box-shadow: none !important; -webkit-appearance: none; appearance: none; flex-shrink: 0; }
.udh-ib:hover, .udh button.udh-ib:hover { background: var(--soft) !important; border-color: var(--p30) !important; color: var(--p) !important; }
.udh-ib-dot { position: absolute; top: 9px; right: 10px; width: 8px; height: 8px; border-radius: 50%; background: var(--p); outline: 2px solid var(--card); }
.udh button.udh-ib-logout { border-radius: 50% !important; background: var(--red10) !important; border-color: transparent !important; color: var(--red) !important; }
.udh button.udh-ib-logout:hover { background: var(--red) !important; color: #fff !important; }
.udh-user { display: flex; align-items: center; gap: 10px; padding: 0 6px 0 2px; color: var(--ink) !important; max-width: 250px; }
.udh-user img { width: 42px !important; height: 42px !important; max-width: none !important; border-radius: 50%; flex-shrink: 0; }
.udh-user-text { display: flex; flex-direction: column; min-width: 0; line-height: 1.2; }
.udh-user-text b { font-size: 14.5px; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.udh-user-text small { font-size: 12px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* Greeting row */
.udh-main { min-width: 0; }
.udh-hello-row { display: flex; align-items: center; gap: 22px; margin: 0 0 26px; flex-wrap: wrap; }
.udh-hello h1 { font-size: 32px; letter-spacing: -.6px; font-weight: 500; }
.udh-hello h1 span { color: var(--p); font-weight: 600; }
.udh-hello p { color: var(--grey); font-size: 15px; margin: 6px 0 0; }
.udh-acts { margin-left: auto; display: flex; align-items: center; gap: 18px; flex-wrap: wrap; }
.udh-date { display: flex; align-items: center; gap: 12px; }
.udh-date-d { width: 60px; height: 60px; border-radius: 14px; border: 1px solid var(--line); background: var(--soft); display: flex; align-items: center; justify-content: center; font-size: 24px; font-weight: 600; }
.udh-date small { display: block; color: var(--grey); font-size: 11.5px; letter-spacing: .5px; }
.udh-date b { font-size: 19px; font-weight: 500; white-space: nowrap; }
.udh-vsep { width: 1px; height: 32px; background: var(--line); }

/* Panes & cards */
.udh-pane { display: none; animation: udhFade .25s ease; }
.udh-pane.is-active { display: block; min-height: 640px; padding-bottom: 0; }
.udh-pane > .udh-card:last-child, .udh-acc-grid > .udh-card { margin-bottom: 0; }
@keyframes udhFade { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
.udh-card { background: var(--card); border: 1px solid var(--line); border-radius: 20px; padding: 20px 22px; margin-bottom: 18px; }
.udh-ch { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 16px; flex-wrap: wrap; }
.udh-ch h3 { font-size: 19px; display: flex; align-items: center; gap: 10px; letter-spacing: -.2px; }
.udh-ch small { display: block; color: var(--grey); font-size: 13.5px; margin-top: 3px; }
.udh-more { font-size: 14px; font-weight: 600; }
.udh-lbl { font-size: 11.5px; letter-spacing: .6px; color: var(--grey); text-transform: uppercase; font-weight: 600; display: inline-flex; align-items: center; gap: 8px; }
.udh-dot-g { width: 7px; height: 7px; border-radius: 50%; background: var(--green); display: inline-block; }
.udh-chip-btn, .udh button.udh-chip-btn { display: inline-flex; align-items: center; background: var(--soft) !important; border: 0 !important; border-radius: 999px !important; padding: 9px 16px !important; font-size: 14px !important; color: var(--ink) !important; cursor: pointer; font-weight: 500 !important; box-shadow: none !important; -webkit-appearance: none; appearance: none; line-height: 1.3 !important; }
.udh-chip-btn:hover, .udh button.udh-chip-btn:hover { background: var(--p10) !important; color: var(--pd) !important; }
.udh-empty { padding: 18px; text-align: center; color: var(--muted); background: var(--soft); border-radius: 14px; font-size: 14px; }
.udh-empty-sm { padding: 12px; margin-top: 10px; }
.udh-tip { padding: 12px 14px; background: var(--soft2); border: 1px solid var(--soft2-line); border-left: 4px solid var(--p); border-radius: 10px; font-size: 13.5px; color: var(--grey); margin-bottom: 14px; }
.udh-banner { display: flex; align-items: center; gap: 14px; margin: 0 0 18px; padding: 14px 18px; border-radius: 16px; background: var(--amber10); color: var(--ink); font-size: 14px; }
.udh-banner svg { color: var(--amber); flex-shrink: 0; }
.udh-banner > div { flex: 1; }

/* Overview grid */
.udh-g1 { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1.45fr) minmax(300px, 1.15fr); grid-template-rows: 1fr 1fr; gap: 18px; }
.udh-g2 { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 2.6fr); gap: 18px; margin-top: 18px; }
.udh-g2 > .udh-card { margin-bottom: 0; }
.udh-qa-card { grid-column: 3; grid-row: 1 / 3; margin-bottom: 0; display: flex; flex-direction: column; }
.udh-mc { grid-column: 4; grid-row: 1 / 3; }

/* Stat tiles */
.udh-q { background: var(--card); border: 1px solid var(--line); border-radius: 20px; padding: 20px; display: flex; flex-direction: column; min-height: 190px; color: var(--ink) !important; transition: transform .2s, box-shadow .2s; text-decoration: none !important; box-shadow: 0 12px 30px rgba(27, 23, 51, .08); }
.udh-q:hover { transform: translateY(-2px); box-shadow: 0 16px 36px rgba(27, 23, 51, .12); }
.udh-q-h { display: flex; justify-content: space-between; align-items: flex-start; gap: 8px; }
.udh-q-ic { width: 34px; height: 34px; border-radius: 10px; background: var(--soft); display: inline-flex; align-items: center; justify-content: center; color: var(--ink); flex-shrink: 0; }
.udh-q-v { font-size: 36px; font-weight: 600; letter-spacing: -1px; line-height: 1; margin: auto 0 10px; display: flex; align-items: center; gap: 10px; }
.udh-q-f { font-size: 13px; color: var(--grey); display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.udh-pill { display: inline-flex; align-items: center; gap: 4px; font-size: 12px; font-weight: 600; padding: 3px 9px; border-radius: 999px; background: var(--green10); color: var(--green); letter-spacing: 0; }
.udh-pill-green { background: var(--green10); color: var(--green); }
.udh-pill-amber { background: var(--amber10); color: #8a6d00; }
.udh-pill-red { background: var(--red10); color: var(--red); }
.udh-pill-purple { background: var(--p10); color: var(--p); }
.udh-q-purple { background: linear-gradient(145deg, #6a4cf0 0, #7a48e1 55%, #9b64ff); border: 0; color: #fff !important; box-shadow: 0 12px 26px rgba(108, 76, 241, .28); }
.udh-q-purple .udh-lbl { color: #e9e3ff; }
.udh-q-purple svg { color: #fff; }
.udh-q-big { font-size: 30px; font-weight: 600; letter-spacing: -.6px; margin-top: auto; line-height: 1.1; }
.udh-q-sub { font-size: 14px; color: #e9e3ff; margin-top: 4px; }
.udh-q-on { display: flex; align-items: center; gap: 7px; font-size: 13.5px; margin-top: 16px; color: #fff; }
.udh-q-on i { width: 8px; height: 8px; border-radius: 50%; background: #7dffb0; }
.udh-q-on i.is-off { background: rgba(255, 255, 255, .45); }
.udh-q-purple.is-off { background: linear-gradient(145deg, #6a4cf0 0, #7a48e1 55%, #9b64ff); }

/* Quick actions */
.udh-qa { display: flex; flex-direction: column; gap: 10px; margin-top: 14px; flex: 1; justify-content: space-between; }
.udh-qi { display: flex; align-items: center; gap: 12px; border: 1px solid var(--line); border-radius: 14px; padding: 13px 16px; color: var(--ink) !important; transition: all .2s; text-decoration: none !important; flex: 1; }
.udh-qi:hover { border-color: var(--p30); background: var(--p10); }
.udh-qi-ic { width: 40px; height: 40px; border-radius: 12px; background: var(--p10); color: var(--p); display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; }
.udh-qi > span:nth-child(2) { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.udh-qi b { font-size: 14.5px; font-weight: 600; }
.udh-qi small { font-size: 12.5px; color: var(--grey); }
.udh-qi > svg { color: var(--muted); }

/* Membership card (dark) */
.udh-mc { position: relative; overflow: hidden; border-radius: 20px; padding: 22px; color: #fff; background: radial-gradient(120% 80% at 100% 0, #3d2a8f 0, #1b1733 55%); display: flex; flex-direction: column; min-height: 100%; }
.udh-mc::after { content: ""; position: absolute; right: -60px; top: -60px; width: 220px; height: 220px; border-radius: 50%; background: radial-gradient(circle, rgba(122, 72, 225, .55), transparent 65%); pointer-events: none; }
.udh-mc > * { position: relative; z-index: 1; }
.udh-mc-top { display: flex; justify-content: space-between; align-items: center; }
.udh-mc-ic { width: 36px; height: 36px; border-radius: 11px; background: rgba(255, 255, 255, .1); display: inline-flex; align-items: center; justify-content: center; color: #fff; }
.udh-mc-tag { border: 1px solid rgba(255, 255, 255, .25); border-radius: 8px; padding: 4px 10px; font-size: 11px; letter-spacing: .6px; color: #d8d3f0; }
.udh-mc-lbl { margin-top: 26px; font-size: 13.5px; color: #b9b4d6; }
.udh-mc-plan { font-size: 24px; font-weight: 600; margin-top: 4px; letter-spacing: -.4px; line-height: 1.2; color: #fff; }
.udh-mc-chips { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 14px; }
.udh-mc-chip { font-size: 12px; font-weight: 600; padding: 4px 10px; border-radius: 999px; background: rgba(255, 255, 255, .14); color: #fff; }
.udh-mc-cred { margin-top: 16px; font-size: 14px; color: #d8d3f0; }
.udh-mc-cred b { color: #fff; font-weight: 600; font-size: 17px; }
.udh-mc-cred span { color: #b9b4d6; font-size: 13px; }
.udh-mc-cred em { font-style: normal; color: #fff; }
.udh-mc-bar { height: 8px; border-radius: 8px; background: rgba(255, 255, 255, .14); margin-top: 12px; overflow: hidden; }
.udh-mc-bar i { display: block; height: 100%; border-radius: 8px; background: linear-gradient(90deg, #5850ec, #b58cff); transition: width .4s; }
.udh-mc-st { display: flex; justify-content: space-between; gap: 10px; font-size: 12.5px; color: #b9b4d6; margin-top: 10px; }
.udh-mc-ft { margin-top: auto; display: flex; gap: 10px; padding-top: 26px; }
.udh-mc-btn { flex: 1; height: 46px; border-radius: 12px; background: #fff; color: var(--dark) !important; font-weight: 600; font-size: 15px; display: inline-flex; align-items: center; justify-content: center; text-decoration: none !important; transition: all .2s; }
.udh-mc-btn:hover { background: var(--y); color: #1b1733 !important; }
.udh-mc-more { width: 46px; height: 46px; border-radius: 12px; background: rgba(255, 255, 255, .12); color: #fff !important; display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; }
.udh-mc-more:hover { background: rgba(255, 255, 255, .22); }

/* Notifications */
.udh-notif-list { display: flex; flex-direction: column; gap: 12px; }
.udh-notif { display: flex; gap: 12px; padding: 16px; border-radius: 14px; background: var(--soft); }
.udh-notif-icon { display: none; }
.udh-notif::before { content: ""; width: 9px; height: 9px; border-radius: 50%; background: var(--p); margin-top: 7px; flex-shrink: 0; }
.udh-notif-broadcast::before { background: var(--y); }
.udh-notif.is-read { opacity: .6; }
.udh-notif-body { min-width: 0; }
.udh-notif-body h4 { font-size: 15px; font-weight: 600; margin-bottom: 4px; }
.udh-notif-content { font-size: 13.5px; color: var(--grey); line-height: 1.5; }
.udh-notif-content p { margin: 0 0 6px; }
.udh-notif-content p:last-child { margin: 0; }
.udh button.udh-link-btn, .udh-notif-standalone button.udh-link-btn { background: none !important; border: 0 !important; padding: 8px 0 0 !important; color: var(--p) !important; font-weight: 600 !important; font-size: 13.5px !important; cursor: pointer; border-radius: 0 !important; box-shadow: none !important; }
.udh-notif-standalone { margin: 0 0 20px; }
.udh-recent-header { display: flex; align-items: center; gap: 10px; font-weight: 600; font-size: 18px; color: var(--ink); margin: 0 0 10px; }
.udh-new-badge { background: var(--p); color: #fff; font-size: 11px; font-weight: 700; padding: 3px 9px; border-radius: 999px; letter-spacing: .4px; }

/* Orders filter */
.udh-ofilter { display: flex; gap: 8px; margin-bottom: 12px; flex-wrap: wrap; }
.udh button.udh-of { border: 1px dashed var(--p30) !important; background: var(--card) !important; color: var(--ink) !important; border-radius: 10px !important; padding: 8px 14px !important; font-size: 13.5px !important; font-weight: 500 !important; display: inline-flex !important; align-items: center; gap: 8px; cursor: pointer; box-shadow: none !important; line-height: 1.3 !important; -webkit-appearance: none; appearance: none; }
.udh button.udh-of.is-active { border-style: solid !important; background: var(--p10) !important; color: var(--pd) !important; }
.udh-of-dot { width: 8px; height: 8px; border-radius: 50%; display: inline-block; }
.udh-of-amber { background: var(--y); }
.udh-of-purple { background: var(--p); }

/* Tables */
.udh-table-wrap { overflow-x: auto; }
.udh-table { width: 100%; border-collapse: collapse; font-size: 14.5px; }
.udh-table th { text-align: left; font-weight: 500; color: var(--grey); padding: 12px 14px; background: var(--soft); border: 0 !important; font-size: 13px; }
.udh-table th:first-child { border-radius: 12px 0 0 12px; }
.udh-table th:last-child { border-radius: 0 12px 12px 0; }
.udh-table td { padding: 15px 14px; border: 0 !important; border-bottom: 1px solid var(--line) !important; background: transparent; vertical-align: middle; }
.udh-table tr:last-child td { border-bottom: 0 !important; }
.udh-table td b { font-weight: 600; }
.udh-dl-name a { color: var(--ink); font-weight: 600; }
.udh-dl-name a:hover { color: var(--p); }
.udh-dl-name small { display: block; font-size: 12.5px; font-weight: 400; }
.udh-dl-table td:nth-child(3) { min-width: 260px; }
.udh-tag { display: inline-block; padding: 4px 11px; border-radius: 999px; font-size: 12.5px; font-weight: 600; background: var(--soft); color: var(--grey); white-space: nowrap; }
.udh-tag-completed { background: var(--green10); color: var(--green); }
.udh-tag-processing, .udh-tag-on-hold, .udh-tag-pending { background: var(--amber10); color: #8a6d00; }
.udh-tag-cancelled, .udh-tag-failed, .udh-tag-refunded { background: var(--red10); color: var(--red); }
.udh-dot { display: inline-flex; align-items: center; gap: 8px; font-size: 13.5px; font-weight: 500; white-space: nowrap; }
.udh-dot::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--green); }
.udh-dot-red::before { background: var(--red); }
.udh-badge { display: inline-block; padding: 4px 10px; border-radius: 999px; font-size: 11.5px; font-weight: 600; line-height: 1.2; background: var(--soft); color: var(--grey); white-space: nowrap; }
.udh-badge-success { background: var(--green10); color: var(--green); }
.udh-badge-muted { background: var(--soft); color: var(--muted); }
.udh-badge-new { background: var(--p); color: #fff; }
.udh-link { color: var(--p); font-weight: 600; }

/* Chips (version buttons) */
.udh-chips { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.udh-chip { display: inline-flex; align-items: center; gap: 5px; padding: 7px 12px; border-radius: 999px; font-size: 12.5px; font-weight: 600; border: 1.5px solid var(--ink); color: var(--ink) !important; background: transparent; cursor: pointer; text-decoration: none !important; transition: all .2s; white-space: nowrap; line-height: 1.3; }
.udh-chip:hover { background: var(--ink); color: var(--card) !important; }
.udh-chip-dark { background: var(--ink); color: var(--card) !important; }
.udh-chip-dark:hover { background: var(--p); border-color: var(--p); color: #fff !important; }
.udh-chip-ghost, .udh button.udh-chip { border: 1.5px solid var(--line) !important; color: var(--grey) !important; background: var(--card) !important; font-weight: 500 !important; padding: 7px 12px !important; border-radius: 999px !important; font-size: 12.5px !important; line-height: 1.3 !important; box-shadow: none !important; -webkit-appearance: none; appearance: none; }
.udh-chip-ghost:hover, .udh button.udh-chip:hover { border-color: var(--p) !important; color: var(--pd) !important; background: var(--p10) !important; }
.udh-chip-accent { background: var(--p); border-color: var(--p); color: #fff !important; }
.udh-chip-red { background: var(--red10); border-color: transparent; color: var(--red) !important; }
.udh-chip-red:hover { background: var(--red); color: #fff !important; }
.udh-chip-sm { padding: 4px 10px; font-size: 12px; }
.udh-chip-more { display: none; }
.udh-chips.is-expanded .udh-chip-more { display: inline-flex; }
.udh-pills-purple .udh-chip-dark { background: var(--p) !important; border-color: var(--p) !important; color: #fff !important; }
.udh-pills-purple .udh-chip-dark:hover { background: var(--pd) !important; border-color: var(--pd) !important; }

/* Buttons */
.udh-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 0 20px; height: 46px; border-radius: 12px; background: var(--p); color: #fff !important; font-weight: 600; font-size: 15px; border: 0; cursor: pointer; transition: all .2s; text-decoration: none !important; font-family: inherit; line-height: 1.3; box-shadow: 0 10px 22px rgba(108, 76, 241, .25); white-space: nowrap; }
.udh-btn:hover { background: var(--pd); color: #fff !important; }
.udh-btn-sm { height: 38px; padding: 0 15px; font-size: 13px; box-shadow: none; }
.udh-btn-block { width: 100%; margin-top: 12px; }
.udh-btn-dark { background: var(--dark); color: var(--dark-text) !important; box-shadow: none; }
.udh-btn-dark:hover { background: var(--p); }
.udh-btn-light, .udh button.udh-btn-light, .udh-modal-box button.udh-btn-light { background: var(--soft) !important; color: var(--ink) !important; border: 1px solid var(--line) !important; box-shadow: none !important; height: 46px !important; padding: 0 20px !important; border-radius: 12px !important; font-size: 15px !important; font-weight: 600 !important; }
.udh-btn-light:hover { background: var(--p10) !important; }
.udh-btn-danger { background: var(--red); box-shadow: none; }
.udh-btn-danger:hover { background: #d63a3a; }
.udh[data-theme="dark"] .udh-btn-dark { background: var(--p); }

/* Search */
.udh-search { display: inline-flex; align-items: center; gap: 8px; padding: 8px 14px; border: 1px solid var(--line); border-radius: 12px; background: var(--card); color: var(--muted); }
.udh-search input { border: 0 !important; outline: 0; background: transparent !important; font-size: 14px; width: 210px; padding: 2px 0 !important; margin: 0 !important; color: var(--ink); box-shadow: none !important; font-family: inherit; height: auto !important; }

/* Updates & plans */
.udh-update-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 14px; }
.udh-update { padding: 16px; border: 1px solid var(--line); border-radius: 16px; background: var(--card); display: flex; flex-direction: column; gap: 6px; }
.udh-update-top { display: flex; justify-content: space-between; align-items: center; font-size: 12px; color: var(--muted); }
.udh-update h4 { font-size: 15px; }
.udh-update h4 a { color: var(--ink); }
.udh-update .udh-btn { align-self: flex-start; margin-top: 4px; height: 40px; font-size: 14px; box-shadow: none; }
.udh-plans { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 16px; }
.udh-plan { border: 1px solid var(--line); border-radius: 18px; padding: 16px; background: var(--card); display: flex; flex-direction: column; }
.udh-plan-box { position: relative; background: var(--soft2); border: 1px solid var(--soft2-line); border-radius: 14px; padding: 16px; margin-bottom: 12px; }
.udh-plan-box h4 { font-size: 17px; margin-bottom: 6px; padding-right: 90px; }
.udh-plan-badge { position: absolute; top: 12px; right: 12px; border: 1px solid var(--p); color: var(--p); font-size: 11px; font-weight: 600; padding: 3px 9px; border-radius: 999px; background: var(--card); }
.udh-plan-price { font-size: 26px; font-weight: 600; margin-bottom: 6px; }
.udh-plan-price, .udh-plan-price * { display: inline; text-decoration: none; }
.udh-plan-price del, .udh-plan-price del * { text-decoration: line-through; font-size: 15px; color: var(--muted); font-weight: 400; margin-right: 6px; opacity: .8; }
.udh-plan-term { font-size: 13.5px; color: var(--grey); margin-top: 2px; }
.udh-plan-perks { list-style: none; margin: 0 0 auto; padding: 0; display: grid; gap: 6px; font-size: 13.5px; color: var(--grey); }
.udh-plan-perks li { display: flex; gap: 8px; align-items: flex-start; }
.udh-plan-perks svg { color: var(--p); flex-shrink: 0; margin-top: 3px; }
.udh-plan-price .screen-reader-text, .udh .screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* Account grid */
.udh-acc-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; align-items: start; }

/* Native WooCommerce bits inside cards */
.udh-native .woocommerce-MyAccount-content { width: 100%; float: none; margin: 0; }
.udh-native table.shop_table, .udh-native table.woocommerce-orders-table { width: 100%; border-collapse: collapse; border: 0; font-size: 14px; }
.udh-native table.shop_table th { text-align: left; padding: 12px 14px; font-weight: 500; color: var(--grey); background: var(--soft); border: 0 !important; font-size: 13px; }
.udh-native table.shop_table th:first-child { border-radius: 12px 0 0 12px; }
.udh-native table.shop_table th:last-child { border-radius: 0 12px 12px 0; }
.udh-native table.shop_table td { padding: 15px 14px; border: 0 !important; border-bottom: 1px solid var(--line) !important; background: transparent; color: var(--ink); }
.udh-native .woocommerce-button, .udh-native a.button, .udh-native button.button, .udh-native .woocommerce-Button { display: inline-block; padding: 9px 16px !important; border-radius: 10px !important; background: var(--p) !important; color: #fff !important; font-weight: 600 !important; font-size: 13px !important; border: 0 !important; line-height: 1.3 !important; text-decoration: none !important; cursor: pointer; margin: 0 4px 4px 0; box-shadow: none !important; }
.udh-native .woocommerce-button:hover, .udh-native a.button:hover, .udh-native button.button:hover { background: var(--pd) !important; }
.udh-native .woocommerce-button.view, .udh-native .woocommerce-button--previous, .udh-native .woocommerce-button--next { background: var(--card) !important; color: var(--ink) !important; border: 1px solid var(--line) !important; }
.udh-native .woocommerce-button.view:hover { border-color: var(--p) !important; color: var(--pd) !important; }
.udh-native .woocommerce-pagination { display: flex; justify-content: space-between; margin-top: 16px; padding-top: 14px; border-top: 1px solid var(--line); }
.udh-native .woocommerce-pagination .woocommerce-button--next { margin-left: auto; }
.udh-native form .form-row { margin-bottom: 16px; }
.udh-native form label { display: block; font-weight: 500; font-size: 13.5px; margin-bottom: 6px; color: var(--ink); }
.udh-native input.input-text, .udh-native .woocommerce-Input, .udh-native select, .udh-native textarea { width: 100%; padding: 12px 14px; border: 1px solid var(--line); border-radius: 12px; font-size: 14px; background: var(--soft); color: var(--ink); font-family: inherit; }
.udh-native input.input-text:focus, .udh-native .woocommerce-Input:focus { outline: 0; border-color: var(--p); background: var(--card); box-shadow: 0 0 0 4px rgba(108, 76, 241, .14); }
.udh-native fieldset { border: 0; border-top: 1px solid var(--line); padding: 20px 0 0; margin: 24px 0 0; }
.udh-native legend { font-size: 16px; font-weight: 600; padding-right: 10px; }
.udh-native .woocommerce-Addresses { display: grid; grid-template-columns: 1fr; gap: 14px; }
.udh-native .woocommerce-Address { background: var(--soft2); border: 1px solid var(--soft2-line); border-radius: 14px; padding: 16px; }
.udh-native .woocommerce-Address-title { display: flex; justify-content: space-between; align-items: center; gap: 10px; }
.udh-native .woocommerce-Address-title h3 { font-size: 15px; }
.udh-native .woocommerce-Address address { font-style: normal; font-size: 14px; color: var(--grey); margin-top: 8px; }
.udh-native mark { background: transparent; color: var(--p); font-weight: 600; }
.udh-notices .woocommerce-message, .udh-notices .woocommerce-info, .udh-notices .woocommerce-error { border-radius: 12px; }
.udh table, .udh table th, .udh table td { border-left: 0 !important; border-right: 0 !important; border-top: 0 !important; }

/* Modals */
.udh-modal { display: none; position: fixed; inset: 0; z-index: 999999; background: rgba(27, 23, 51, .55); backdrop-filter: blur(4px); align-items: center; justify-content: center; padding: 24px; }
.udh-modal.is-open { display: flex; }
.udh-modal-box { position: relative; width: 100%; max-width: 620px; max-height: 88vh; overflow-y: auto; overflow-x: hidden; background: #fff; border-radius: 22px; padding: 32px; box-shadow: 0 30px 80px rgba(0, 0, 0, .25); color: #1b1733; }
.udh-modal-wide { max-width: 860px; }
.udh-modal-sm { max-width: 420px; text-align: center; }
.udh-modal-box h3 { font-size: 20px; font-weight: 600; margin: 0 0 4px; padding-right: 30px; }
.udh-modal-sm h3 { padding-right: 0; }
.udh-modal-icon { display: inline-flex; width: 56px; height: 56px; border-radius: 50%; background: #f3f0fc; color: #6c4cf1; align-items: center; justify-content: center; margin-bottom: 12px; }
.udh-modal-box button.udh-modal-close { position: absolute; top: 14px; right: 16px; width: 36px; height: 36px; border-radius: 50% !important; border: 0 !important; background: #f7f6fb !important; color: #1b1733 !important; font-size: 22px !important; line-height: 1 !important; cursor: pointer; padding: 0 !important; box-shadow: none !important; }
.udh-modal-box button.udh-modal-close:hover { background: #6c4cf1 !important; color: #fff !important; }
.udh-modal-box button.udh-modal-dismiss { position: static; width: auto; height: auto; }
.udh-modal-body { font-size: 14.5px; line-height: 1.65; color: #4a4760; margin: 14px 0; }
.udh-modal-body a { color: #6c4cf1; }
.udh-modal-actions { display: flex; gap: 10px; justify-content: center; margin-top: 18px; }
.udh-modal-actions .udh-btn { min-width: 130px; }
body.udh-modal-open { overflow: hidden; }

/* Product-page boxes */
.udh-pbox { background: var(--soft2); border: 1px solid var(--soft2-line); border-radius: 18px; padding: 22px 24px; margin: 18px 0 24px; }
.udh-pbox-title { display: flex; align-items: center; gap: 10px; font-size: 19px; font-weight: 600; margin: 0 0 14px; color: var(--ink); }
.udh-pbox-title svg { color: var(--p); flex-shrink: 0; }
.udh-pbox-ready .udh-pbox-title svg { color: var(--green); }
.udh-pbox-locked .udh-pbox-title svg { color: var(--muted); }
.udh-pbox-note { font-size: 13.5px; color: var(--grey); margin: 12px 0 0; padding-top: 10px; }
.udh-pbox-note a { color: var(--p); font-weight: 600; }
.udh-pbox-credits { font-size: 13.5px; color: var(--grey); margin: 0 0 14px; display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.udh-pbox-credits strong { color: var(--ink); }
.udh-pbox .udh-pills { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.udh-pbox .udh-pill { position: relative; display: inline-flex; align-items: center; gap: 6px; padding: 9px 18px; border-radius: 999px; font-size: 13.5px; font-weight: 600; text-decoration: none !important; letter-spacing: 0; }
.udh-pbox .udh-pill-dl { background: var(--ink); color: #fff !important; }
.udh-pbox .udh-pill-dl:hover { background: var(--p); }
.udh-pills-purple .udh-pill-dl { background: var(--p) !important; color: #fff !important; }
.udh-pills-purple .udh-pill-dl:hover { background: var(--pd) !important; }
.udh-pills-purple .udh-latest { background: var(--ink); color: #fff; }
.udh-pbox .udh-pill-locked { background: #8a8a8a !important; color: #fff !important; cursor: not-allowed; }
.udh-pbox .udh-pill-danger { background: var(--red); color: #fff !important; }
.udh-pill.is-disabled { opacity: .55; pointer-events: none; }
.udh-latest { position: absolute; top: -8px; right: -6px; background: var(--y); color: #1b1733; font-size: 9.5px; font-weight: 700; padding: 2px 7px; border-radius: 999px; pointer-events: none; }
.udh-chip-success { background: var(--green10); color: var(--green); border-radius: 999px; padding: 4px 10px; font-size: 12px; font-weight: 600; }
.udh-chip-warn { background: var(--amber10); color: #8a6d00; border-radius: 999px; padding: 4px 10px; font-size: 12px; font-weight: 600; }
.udh-pbox .udh-chip { border: 0; background: var(--p10); color: var(--pd) !important; font-size: 12px; padding: 4px 10px; }
.udh-pbox-install { margin-top: 20px; padding-top: 16px; border-top: 1px solid var(--soft2-line); }
.udh-pbox-install h4 { font-size: 15px; font-weight: 600; margin: 0 0 8px; }
.udh-pbox-install-body { font-size: 14px; color: var(--grey); line-height: 1.6; }
.udh-pbox-install-body a { color: var(--p); }
.udh-pbox .udh-tipbox, .udh-tipbox { padding: 12px 14px; background: var(--card); border-left: 4px solid var(--p); border-radius: 8px; font-size: 13.5px; color: var(--grey); margin-top: 12px; }
.udh-tipwrap { position: relative; display: inline-flex; }
.udh-tipwrap .udh-tip-text { visibility: hidden; opacity: 0; position: absolute; bottom: 125%; left: 50%; transform: translateX(-50%); background: #1b1733; color: #fff; font-size: 12px; font-weight: 400; padding: 6px 10px; border-radius: 6px; white-space: nowrap; transition: opacity .2s; z-index: 20; pointer-events: none; }
.udh-tipwrap:hover .udh-tip-text, .udh-tipwrap:focus .udh-tip-text { visibility: visible; opacity: 1; }

/* Header bar (marquee) */
.udh-header-bar { position: relative; display: flex; align-items: center; background: #1b1733; color: #fff; font-size: 13px; overflow: hidden; }
.udh-bar-scroll { flex: 1; overflow: hidden; }
.udh-bar-track { display: inline-flex; gap: 48px; padding: 8px 0; white-space: nowrap; animation: udhMarquee 40s linear infinite; }
.udh-bar-item { display: inline-flex; align-items: center; gap: 6px; }
.udh-bar-item a { color: #f0d100; font-weight: 600; text-decoration: underline; }
.udh-bar-dismiss { background: transparent; border: 0; color: #fff; font-size: 20px; padding: 0 14px; cursor: pointer; }
@keyframes udhMarquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }

/* Auth cards */
.udh-auth-wrap { display: flex; justify-content: center; padding: 20px 0 50px; }
.udh-auth-card { width: 100%; max-width: 480px; background: #fff; border: 1px solid #ebe9f3; border-radius: 22px; padding: 36px 32px 32px; box-shadow: 0 16px 50px rgba(108, 76, 241, .07); }
.udh-auth-card:has(.col2-set), .udh-auth-card:has(.u-columns) { max-width: 940px; }
.udh-auth-head { text-align: center; margin-bottom: 20px; }
.udh-auth-icon { display: inline-flex; width: 60px; height: 60px; border-radius: 50%; background: #f3f0fc; color: #6c4cf1; align-items: center; justify-content: center; margin-bottom: 12px; }
.udh-auth-card h2 { font-size: 24px; font-weight: 600; margin: 0 0 6px; }
.udh-auth-card p { color: #6f6c85; font-size: 14px; margin: 0; }
.udh-auth-card .u-columns, .udh-auth-card .col2-set { display: grid !important; grid-template-columns: 1fr 1fr; gap: 24px; width: 100% !important; margin: 0 !important; }
.udh-auth-card .u-columns::before, .udh-auth-card .u-columns::after, .udh-auth-card .col2-set::before, .udh-auth-card .col2-set::after { display: none !important; }
.udh-auth-card .u-column1, .udh-auth-card .u-column2, .udh-auth-card .col-1, .udh-auth-card .col-2 { width: 100% !important; max-width: none !important; float: none !important; margin: 0 !important; padding: 0 !important; }
.udh-auth-card .u-column1 > h2, .udh-auth-card .u-column2 > h2, .udh-auth-card .col-1 > h2, .udh-auth-card .col-2 > h2 { font-size: 20px !important; font-weight: 600 !important; margin: 0 0 12px !important; text-align: left; }
.udh-auth-card form.login, .udh-auth-card form.register, .udh-auth-card form.lost_reset_password, .udh-auth-card form.woocommerce-ResetPassword { background: #f7f6fb !important; border: 1px solid #ebe9f3 !important; border-radius: 18px !important; padding: 22px !important; margin: 0 !important; width: 100% !important; max-width: none !important; box-shadow: none !important; box-sizing: border-box; }
.udh-auth-card .form-row, .udh-auth-card .woocommerce-form-row { width: 100% !important; float: none !important; margin: 0 0 14px !important; padding: 0 !important; display: block; }
.udh-auth-card label { display: block !important; font-size: 13.5px !important; font-weight: 500 !important; color: #1b1733 !important; margin: 0 0 6px !important; line-height: 1.3; }
.udh-auth-card label .required { color: #6c4cf1; text-decoration: none; }
.udh-auth-card input.input-text, .udh-auth-card .woocommerce-Input, .udh-auth-card input[type="text"], .udh-auth-card input[type="email"], .udh-auth-card input[type="password"] { width: 100% !important; padding: 12px 14px !important; border: 1px solid #ddd9ec !important; border-radius: 12px !important; background: #fff !important; color: #1b1733 !important; font-size: 14.5px !important; height: auto !important; line-height: 1.4 !important; box-shadow: none !important; box-sizing: border-box; font-family: inherit; }
.udh-auth-card input.input-text:focus, .udh-auth-card .woocommerce-Input:focus { outline: 0 !important; border-color: #6c4cf1 !important; box-shadow: 0 0 0 4px rgba(108, 76, 241, .14) !important; }
.udh-auth-card .password-input { display: block; width: 100%; }
.udh-auth-card .show-password-input { top: 14px; right: 14px; }
.udh-auth-card .woocommerce-form-login__rememberme { display: flex !important; align-items: center; gap: 8px; margin: 2px 0 14px !important; font-size: 14px !important; font-weight: 400 !important; }
.udh-auth-card .woocommerce-form-login__rememberme input { width: 16px; height: 16px; margin: 0; accent-color: #6c4cf1; }
.udh-auth-card button.button, .udh-auth-card .woocommerce-Button, .udh-auth-card button[type="submit"] { width: 100% !important; padding: 13px 20px !important; border-radius: 12px !important; background: #6c4cf1 !important; color: #fff !important; font-weight: 600 !important; font-size: 15px !important; border: 0 !important; margin: 4px 0 0 !important; cursor: pointer; line-height: 1.3 !important; box-shadow: none !important; }
.udh-auth-card button.button:hover { background: #5a3ddb !important; }
.udh-auth-card .lost_password, .udh-auth-card .woocommerce-LostPassword { text-align: center; margin: 14px 0 0 !important; font-size: 13.5px; }
.udh-auth-card .lost_password a { color: #6c4cf1; font-weight: 500; }
.udh-auth-card .woocommerce-privacy-policy-text { font-size: 12.5px; color: #6f6c85; margin: 0 0 12px; }
.udh-auth-card .woocommerce-privacy-policy-text p { margin: 0; }
.udh-auth-card .woocommerce-error, .udh-auth-card .woocommerce-message, .udh-auth-card .woocommerce-info { margin: 0 0 16px; border-radius: 12px; }

/* Theme leak guards (Hello Elementor child styles) */
.udh button.udh-show-more { -webkit-appearance: none; appearance: none; }
.udh-q, .udh-q:hover, .udh-user, .udh-user:hover, .udh-qi, .udh-qi:hover, .udh-mc-btn, .udh-mc-more { text-decoration: none !important; }
.udh img { box-shadow: none !important; }

/* Responsive */
@media (max-width: 1280px) {
	.udh-g1 { grid-template-columns: 1fr 1fr 1.4fr; }
	.udh-mc { grid-column: 1 / 4; grid-row: auto; min-height: 0; }
	.udh-qa-card { grid-column: 3; grid-row: 1 / 3; }
	.udh-g2 { grid-template-columns: 1fr; }
	.udh-acc-grid { grid-template-columns: 1fr; }
	.udh-user-text { display: none; }
}
@media (max-width: 900px) {
	.udh-app { padding: 16px 14px 80px; }
	.udh-top { flex-wrap: wrap; }
	.udh-nav { order: 3; width: 100%; }
	.udh-top-right { margin-left: auto; }
	.udh-hello h1 { font-size: 26px; }
	.udh-acts { margin-left: 0; width: 100%; }
	.udh-g1 { grid-template-columns: 1fr 1fr; grid-template-rows: auto; }
	.udh-qa-card, .udh-mc { grid-column: 1 / 3; grid-row: auto; }
	.udh-q { min-height: 160px; }
	.udh-search input { width: 130px; }
	.udh-modal-box { padding: 24px 18px; }
	.udh-auth-card .u-columns, .udh-auth-card .col2-set { grid-template-columns: 1fr; }
	.udh-auth-card { padding: 26px 18px; }
}
@media (max-width: 560px) {
	.udh-g1 { grid-template-columns: 1fr; }
	.udh-qa-card, .udh-mc { grid-column: auto; }
	.udh-acts { gap: 10px; }
	.udh-btn { height: 42px; padding: 0 14px; font-size: 14px; }
}

/* Membership plan cards */
.udh-mp { --mp-deep: #1f0a4d; --mp-brand: #544BE5; --mp-brand-l: #7970FD; --mp-tint: #f6f3fd; --mp-border: #e6e2f0; --mp-border-h: #cfc4ee; --mp-text: #1a1530; --mp-text2: #5f5a75; --mp-muted: #8f89a6; --mp-feat: #34304a; --mp-gold: #f6c453; --mp-gold-l: #fcd34d; --mp-gold-d: #f59e0b;
	display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 22px; align-items: stretch; padding-top: 14px; }
.udh-mp-card { position: relative; display: flex; flex-direction: column; background: #fff; border: 1px solid var(--mp-border); border-radius: 14px; padding: 32px 26px 28px; box-shadow: 0 1px 2px rgba(26,21,48,.04), 0 8px 24px rgba(26,21,48,.05); transition: box-shadow .25s, border-color .25s, transform .25s; color: var(--mp-text); }
.udh-mp-card:hover { transform: translateY(-6px); border-color: var(--mp-border-h); box-shadow: 0 2px 4px rgba(26,21,48,.05), 0 14px 32px rgba(91,33,182,.12); }
.udh-mp-badge { position: absolute; top: 0; left: 50%; transform: translate(-50%, -50%); padding: 5px 14px; border-radius: 999px; font-size: 11.5px; font-weight: 600; letter-spacing: .08em; white-space: nowrap; color: #fff; background: var(--mp-brand-l); }
.udh-mp-tag { margin: 0 0 8px !important; font-size: 14px; font-weight: 700; letter-spacing: .10em; text-transform: uppercase; color: var(--mp-brand-l); }
.udh-mp h3.udh-mp-name { margin: 0 !important; font-size: 32px !important; font-weight: 800 !important; line-height: 1.25 !important; color: var(--mp-text) !important; }
.udh-mp-term { margin: 4px 0 22px !important; font-size: 16px; line-height: 1.4; color: var(--mp-text2); }
.udh-mp-price { display: flex; align-items: baseline; flex-wrap: wrap; gap: 2px 10px; margin: 0 !important; }
.udh-mp-now, .udh-mp-now .amount { font-size: 44px; font-weight: 900; letter-spacing: -.025em; line-height: 1; color: var(--mp-deep); font-variant-numeric: tabular-nums; }
.udh-mp-old, .udh-mp-old .amount { font-size: 21px; font-weight: 500; color: var(--mp-muted); text-decoration: line-through; }
.udh-mp-per { flex-basis: 100%; margin-top: 6px; font-size: 13px; color: var(--mp-text2); }
.udh-mp-save { align-self: flex-start; margin: 14px 0 24px; padding: 4px 10px; border-radius: 6px; font-size: 12.5px; font-weight: 700; color: #0b6b3f; background: #e3f6ec; }
.udh-mp-save-none { visibility: hidden; }
.udh-mp-btn { display: flex; align-items: center; justify-content: center; width: 100%; height: 50px; padding: 0 18px; border: 1.5px solid var(--mp-brand-l); border-radius: 10px; font-size: 15.5px; font-weight: 700; letter-spacing: .01em; line-height: 1; text-align: center; text-decoration: none !important; color: var(--mp-brand) !important; background: #fff; transition: background .2s, color .2s, box-shadow .2s, filter .2s; }
.udh-mp-btn:hover { color: #fff !important; background: var(--mp-brand-l); }
.udh-mp-inc { margin: 30px 0 15px !important; padding-top: 30px; padding-bottom: 0; border-top: 1px solid var(--mp-border); font-size: 17px; font-weight: 600; line-height: 1.3; color: var(--mp-text); }
.udh-mp-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 15px; }
.udh-mp-list li { position: relative; padding-left: 30px; font-size: 16px; line-height: 1.5; color: var(--mp-feat); }
.udh-mp-list li:last-child { margin-bottom: 20px; }
.udh-mp-list li::before { content: ""; position: absolute; left: 0; top: 1px; width: 19px; height: 19px; border-radius: 50%; background-color: #edeffc; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238958fc' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E"); background-position: center; background-repeat: no-repeat; background-size: 11px; }
.udh-mp-list .udh-mp-hl { font-weight: 700; color: var(--mp-text); }
.udh-mp-list .udh-mp-hl em { margin-left: 6px; padding: 2px 7px; border-radius: 5px; font-style: normal; font-size: 11.5px; font-weight: 700; color: #5a3b00; background: var(--mp-gold); }
.udh-mp-pop { border: 2px solid var(--mp-brand-l); box-shadow: 0 2px 4px rgba(26,21,48,.05), 0 18px 40px rgba(91,33,182,.18); }
.udh-mp-pop .udh-mp-btn { color: #fff !important; background: linear-gradient(90deg, var(--mp-brand), var(--mp-brand-l)); border-color: transparent; box-shadow: 0 6px 16px rgba(91,33,182,.30); }
.udh-mp-pop .udh-mp-btn:hover { box-shadow: 0 10px 22px rgba(91,33,182,.42); filter: brightness(1.06); }
.udh-mp-vip { color: #fff; border-color: transparent; background: radial-gradient(280px 200px at 100% 0, #61490e, transparent 70%), linear-gradient(165deg, #17182B, #050400); }
.udh-mp-vip:hover { border-color: transparent; }
.udh-mp-vip .udh-mp-badge { color: #000; background: linear-gradient(90deg, var(--mp-gold-d), var(--mp-gold-l)); }
.udh-mp-vip .udh-mp-tag { color: var(--mp-gold); }
.udh-mp-vip h3.udh-mp-name { color: #fff !important; }
.udh-mp-vip .udh-mp-term, .udh-mp-vip .udh-mp-per { color: #c9bfe8; }
.udh-mp-vip .udh-mp-now, .udh-mp-vip .udh-mp-now .amount { color: #fff; }
.udh-mp-vip .udh-mp-old, .udh-mp-vip .udh-mp-old .amount { color: #9d92c4; }
.udh-mp-vip .udh-mp-save { color: #053d25; background: #8de7b4; }
.udh-mp-vip .udh-mp-btn { color: #000 !important; background: linear-gradient(90deg, var(--mp-gold-d), var(--mp-gold-l)); border-color: transparent; box-shadow: 0 6px 18px rgba(252,211,77,.35); }
.udh-mp-vip .udh-mp-btn:hover { color: #000 !important; filter: brightness(1.07); box-shadow: 0 10px 24px rgba(252,211,77,.50); }
.udh-mp-vip .udh-mp-inc { color: #fff; border-color: rgba(255,255,255,.18); }
.udh-mp-vip .udh-mp-list li { color: #e6e0f7; }
.udh-mp-vip .udh-mp-list .udh-mp-hl { color: #fff; }
.udh-mp-vip .udh-mp-list li::before { background-color: rgba(255,255,255,.14); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fcd34d' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E"); }
.udh[data-theme="dark"] .udh-mp-card:not(.udh-mp-vip) { background: var(--card); border-color: var(--line); --mp-text: #f3f2fa; --mp-deep: #f3f2fa; --mp-text2: #b6b3c9; --mp-feat: #d6d3e6; --mp-border: #2f2a44; }
.udh[data-theme="dark"] .udh-mp-card:not(.udh-mp-vip) .udh-mp-btn { background: transparent; }
@media (prefers-reduced-motion: reduce) { .udh-mp-card, .udh-mp-btn { transition: none; } }

/* Updates available: list rows */
.udh-up-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(420px, 1fr)); gap: 14px; margin-top: 6px; }
.udh-up { display: flex; align-items: center; gap: 16px; padding: 16px 18px; border: 1px solid var(--line); border-radius: 16px; background: var(--card); box-shadow: 0 8px 24px rgba(27, 23, 51, .05); transition: border-color .2s, box-shadow .2s; }
.udh-up:hover { border-color: var(--p30); box-shadow: 0 12px 30px rgba(108, 76, 241, .10); }
.udh-up-thumb { flex: none; width: 64px; height: 64px; border-radius: 14px; overflow: hidden; background: var(--soft); border: 1px solid var(--line); display: flex; align-items: center; justify-content: center; }
.udh-up-thumb img { width: 100% !important; height: 100% !important; object-fit: cover; display: block; border-radius: 0; }
.udh-up-ph { color: var(--muted); display: inline-flex; }
.udh-up-body { flex: 1; min-width: 0; }
.udh-up-head { display: flex; align-items: center; gap: 10px; margin-bottom: 6px; }
.udh-up-head small { color: var(--muted); font-size: 12.5px; }
.udh-up-new { display: inline-flex; align-items: center; gap: 6px; padding: 3px 9px; border-radius: 999px; background: var(--p10); color: var(--p); font-size: 11.5px; font-weight: 700; letter-spacing: .2px; }
.udh-up-new::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--p); }
.udh-up h4 { font-size: 16px; font-weight: 600; line-height: 1.35; margin: 0 0 7px; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.udh-up h4 a { color: var(--ink); }
.udh-up h4 a:hover { color: var(--p); }
.udh-up-meta { display: flex; align-items: center; gap: 8px; font-size: 12.5px; color: var(--muted); }
.udh-up-ver { display: inline-block; padding: 3px 10px; border-radius: 8px; background: var(--soft); border: 1px solid var(--line); color: var(--ink); font-weight: 600; font-size: 12.5px; font-variant-numeric: tabular-nums; }
.udh-up-act { flex: none; }
.udh-up-act .udh-btn { height: 40px; padding: 0 16px; font-size: 13.5px; box-shadow: none; white-space: nowrap; }
@media (max-width: 1100px) { .udh-up-list { grid-template-columns: 1fr; } }
@media (max-width: 560px) { .udh-up { flex-wrap: wrap; } .udh-up-act { width: 100%; } .udh-up-act .udh-btn { width: 100%; } }

/* Depth on tiles and rows (the theme resets box-shadow on links, so these are forced) */
.udh a.udh-q, .udh .udh-q { box-shadow: 0 6px 18px rgba(27, 23, 51, .06) !important; }
.udh a.udh-q:hover, .udh .udh-q:hover { box-shadow: 0 12px 28px rgba(27, 23, 51, .10) !important; }
.udh a.udh-q-purple, .udh .udh-q-purple { box-shadow: 0 8px 20px rgba(108, 76, 241, .20) !important; }
.udh a.udh-q-purple:hover { box-shadow: 0 12px 28px rgba(108, 76, 241, .28) !important; }
.udh .udh-up { box-shadow: 0 8px 24px rgba(27, 23, 51, .06) !important; }
.udh .udh-up:hover { box-shadow: 0 12px 30px rgba(108, 76, 241, .12) !important; }
.udh .udh-mp-card { box-shadow: 0 1px 2px rgba(26,21,48,.04), 0 8px 24px rgba(26,21,48,.06) !important; }
.udh .udh-mp-card:hover { box-shadow: 0 2px 4px rgba(26,21,48,.05), 0 14px 32px rgba(91,33,182,.12) !important; }
.udh .udh-mp-pop { box-shadow: 0 2px 4px rgba(26,21,48,.05), 0 18px 40px rgba(91,33,182,.18) !important; }
.udh a.udh-btn:not(.udh-btn-dark):not(.udh-btn-light):not(.udh-btn-danger):not(.udh-btn-sm) { box-shadow: 0 10px 22px rgba(108, 76, 241, .25) !important; }
.udh[data-theme="dark"] a.udh-q, .udh[data-theme="dark"] .udh-q { box-shadow: 0 12px 30px rgba(0, 0, 0, .35) !important; }

/* Tables: breathing room, clean white rows, visible View button on hover */
.udh-table thead th, .udh-native table.shop_table th { padding: 13px 16px !important; }
.udh-table td, .udh-native table.shop_table td { padding: 18px 16px !important; background: var(--card) !important; }
.udh-table tbody tr:first-child td, .udh-native table.shop_table tbody tr:first-child td { padding-top: 24px !important; }
.udh-table tbody tr:hover td, .udh-native table.shop_table tbody tr:hover td { background: var(--soft) !important; }
.udh-table td:first-child, .udh-native table.shop_table td:first-child, .udh-native table.shop_table tbody th { background: var(--card) !important; }
.udh-native table.shop_table td a:not(.woocommerce-button) { color: var(--p); font-weight: 600; }
.udh-native .woocommerce-button.view:hover, .udh-native a.woocommerce-button.view:hover, .udh-native .woocommerce-button--previous:hover, .udh-native .woocommerce-button--next:hover { background: var(--p10) !important; color: var(--pd) !important; border-color: var(--p) !important; }
.udh-native .woocommerce-button.view, .udh-native a.woocommerce-button.view { padding: 10px 18px !important; }
.udh[data-theme="dark"] .udh-table td, .udh[data-theme="dark"] .udh-native table.shop_table td { background: var(--card) !important; }

/* Orders table: the order number cell is a <th>, give it the same row styling */
.udh-native table.shop_table tbody th { padding: 18px 16px !important; vertical-align: middle !important; background: var(--card) !important; border: 0 !important; border-bottom: 1px solid var(--line) !important; font-weight: 600; text-align: left; color: var(--ink); border-radius: 0 !important; }
.udh-native table.shop_table tbody tr:first-child th { padding-top: 24px !important; }
.udh-native table.shop_table tbody tr:last-child th { border-bottom: 0 !important; }
.udh-native table.shop_table tbody tr:hover th { background: var(--soft) !important; }
.udh-native table.shop_table tbody th a { color: var(--p); font-weight: 600; }
.udh-native table.shop_table td { vertical-align: middle !important; }
.udh-native table.shop_table tbody tr:last-child td { border-bottom: 0 !important; }
/* Guest card: hide WooCommerce's own "Login" heading, the card already has one */
.udh-auth-card.udh-auth-login > h2, .udh-auth-card .u-column1 > h2 { display: none !important; }
/* Plan card: the member's current plan */
.udh-mp-current { border-color: var(--green) !important; }
.udh-mp-badge-current { background: var(--green) !important; color: #fff !important; }
.udh-mp-vip.udh-mp-current { border-color: var(--green) !important; }
