/* MobiKey Premium Client v2 — visual-only. No business logic, no external fonts or images. */
.mk-v2-screenreader{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;clip-path:inset(50%)!important}
body.mk-client-visual-v2{--mk-v2-glow:rgba(103,88,250,.13);--mk-v2-elevation:0 10px 34px rgba(39,55,97,.065);--mk-v2-hover:0 16px 34px rgba(55,62,105,.12);background:radial-gradient(ellipse 720px 460px at 1% 16%,rgba(95,142,252,.07),transparent 70%),radial-gradient(ellipse 750px 550px at 96% 3%,rgba(130,96,248,.085),transparent 69%),var(--bg)}
:root[data-theme="dark"] body.mk-client-visual-v2{--mk-v2-glow:rgba(129,118,252,.19);--mk-v2-elevation:0 10px 36px rgba(0,0,0,.22);--mk-v2-hover:0 18px 38px rgba(0,0,0,.33);background:radial-gradient(ellipse 760px 470px at 2% 16%,rgba(83,114,231,.10),transparent 74%),radial-gradient(ellipse 760px 490px at 98% 4%,rgba(135,80,235,.115),transparent 72%),var(--bg)}
.mk-client-visual-v2 .topbar{background:color-mix(in srgb,var(--bg) 91%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-color:color-mix(in srgb,var(--border) 85%,transparent)}
.mk-client-visual-v2 .topbar-inner{min-height:74px}
.mk-client-visual-v2 .mk-public-navigation>a,.mk-client-visual-v2 .mk-nav-dropdown>summary{border-radius:12px;transition:background-color .2s,color .2s,box-shadow .2s}
.mk-client-visual-v2 .mk-public-navigation>a:hover,.mk-client-visual-v2 .mk-nav-dropdown>summary:hover{background:color-mix(in srgb,var(--accent) 9%,var(--surface));color:var(--accent)}
.mk-client-visual-v2 .mk-nav-menu,.mk-client-visual-v2 .mk-client-profile-panel{border-color:var(--border);background:var(--surface);box-shadow:var(--mk-v2-hover)}
.mk-client-visual-v2 .theme-toggle{transition:box-shadow .2s,transform .2s;background:var(--surface)}
.mk-client-visual-v2 .theme-toggle:hover{box-shadow:0 0 0 4px var(--mk-v2-glow);transform:translateY(-1px)}
.mk-client-visual-v2 .content{padding-bottom:48px}
.mk-client-visual-v2 .btn,.mk-client-visual-v2 button.btn{transition:transform .18s ease,box-shadow .18s ease,filter .18s ease,border-color .18s ease}
.mk-client-visual-v2 .btn.primary,.mk-client-visual-v2 button.btn.primary{background:linear-gradient(112deg,#536bff,#8053ef);color:white;border:1px solid transparent;box-shadow:0 8px 23px rgba(100,87,232,.24)}
.mk-client-visual-v2 .btn.primary:hover,.mk-client-visual-v2 button.btn.primary:hover{box-shadow:0 10px 28px rgba(107,86,243,.34);filter:brightness(1.055);transform:translateY(-2px)}
.mk-client-visual-v2 .btn:not(.primary):hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--border));background:color-mix(in srgb,var(--accent) 9%,var(--surface));color:var(--accent);transform:translateY(-1px)}
.mk-client-visual-v2 a:focus-visible,.mk-client-visual-v2 button:focus-visible,.mk-client-visual-v2 summary:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.mk-client-visual-v2 input:focus,.mk-client-visual-v2 select:focus,.mk-client-visual-v2 textarea:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--mk-v2-glow)}
/* Registration/catalog: menu already specifies the type, so search + services is enough. */
.mk-client-visual-v2 .mk-v2-catalog-filter{margin:44px 0 26px;align-items:center;gap:11px;padding:11px;background:var(--surface);border:1px solid var(--border);border-radius:20px;box-shadow:var(--mk-v2-elevation)}
.mk-client-visual-v2 .mk-v2-catalog-filter input[type="search"]{border-color:transparent;background:transparent;box-shadow:none;min-height:46px;padding-inline:14px;min-width:0}
.mk-client-visual-v2 .mk-v2-catalog-filter input[type="search"]:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--mk-v2-glow)}
.mk-client-visual-v2 .mk-v2-catalog-filter .mk-catalog-type-chip{background:color-mix(in srgb,var(--accent) 9%,var(--surface));border-color:color-mix(in srgb,var(--accent) 22%,var(--border));min-height:44px;padding:10px 15px;font-size:.76rem;letter-spacing:.06em}
.mk-client-visual-v2 .mk-v2-catalog-filter>.btn{min-height:46px;padding:10px 24px}
.mk-client-visual-v2 .grouped-catalog{gap:19px;margin:0 0 28px}
.mk-client-visual-v2 .catalog-group{border:1px solid var(--border);border-radius:19px;background:var(--surface);box-shadow:var(--mk-v2-elevation);transition:border-color .2s,box-shadow .2s;overflow:hidden}
.mk-client-visual-v2 .catalog-group:hover{border-color:color-mix(in srgb,var(--accent) 30%,var(--border));box-shadow:var(--mk-v2-hover)}
.mk-client-visual-v2 .catalog-group>summary{position:relative;gap:16px;padding:20px 24px;font-size:1rem;letter-spacing:-.015em;line-height:1.45;color:var(--text);background:linear-gradient(100deg,color-mix(in srgb,var(--accent) 3%,var(--surface)),var(--surface))}
.mk-client-visual-v2 .catalog-group>summary::before{content:"";position:absolute;left:0;top:24%;height:52%;width:3px;border-radius:0 4px 4px 0;background:linear-gradient(#516bff,#8658ef)}
.mk-client-visual-v2 .catalog-group>summary small{border-radius:999px;padding:5px 10px;color:var(--muted);background:var(--surface2);white-space:nowrap;font-size:.7rem}
.mk-client-visual-v2 .catalog-group .premium-table{color:var(--text);border-color:var(--border)}
.mk-client-visual-v2 .catalog-group .premium-table thead{background:color-mix(in srgb,var(--accent) 5%,var(--surface2))}
.mk-client-visual-v2 .catalog-group .premium-table th{font-size:.72rem;letter-spacing:.045em;text-transform:uppercase;color:var(--muted);font-weight:800;border-color:var(--border)}
.mk-client-visual-v2 .catalog-group .premium-table td{border-color:var(--border);padding:17px 13px;overflow-wrap:anywhere}
.mk-client-visual-v2 .catalog-group .premium-table td:first-child strong{font-size:.87rem;color:var(--text)}
.mk-client-visual-v2 .catalog-group .premium-table tbody tr{transition:background .18s}
.mk-client-visual-v2 .catalog-group .premium-table tbody tr:hover{background:color-mix(in srgb,var(--accent) 4%,var(--surface))}
.mk-client-visual-v2 .catalog-group .mk-form-open{white-space:nowrap;border-radius:11px;font-weight:800;border-color:color-mix(in srgb,var(--accent) 18%,var(--border));background:color-mix(in srgb,var(--accent) 7%,var(--surface));color:var(--accent)}
.mk-client-visual-v2 .catalog-group .mk-form-open:hover{background:linear-gradient(112deg,#556bff,#7858e9);color:#fff;border-color:transparent;box-shadow:0 8px 20px rgba(110,89,238,.25)}
.mk-client-visual-v2 .mk-form-dialog{background:var(--surface);border:1px solid var(--border);box-shadow:0 28px 85px rgba(9,13,28,.35)}
.mk-client-visual-v2 .type-label h2{font-size:1rem;font-weight:800;letter-spacing:-.015em;margin:10px 0 0}
/* Personal dashboard. No extra images/fonts or layout scripts. */
.mk-client-visual-v2 .mk-client-dashboard{padding-top:38px}
.mk-client-visual-v2 .mk-dash-card{border-radius:21px;border-color:var(--border);box-shadow:var(--mk-v2-elevation);background:var(--surface)}
.mk-client-visual-v2 .mk-dash-card:hover{box-shadow:var(--mk-v2-hover);border-color:color-mix(in srgb,var(--accent) 22%,var(--border))}
.mk-client-visual-v2 .mk-dash-balance{background:radial-gradient(ellipse 310px 240px at 103% -20%,rgba(110,97,255,.18),transparent 82%),var(--surface)}
.mk-client-visual-v2 .mk-dash-stat{border-radius:16px;background:color-mix(in srgb,var(--accent) 4%,var(--surface2))}
.mk-client-visual-v2 .mk-dash-stat:hover{border-color:color-mix(in srgb,var(--accent) 30%,var(--border))}
.mk-client-visual-v2 .mk-dash-shortcuts>a{border-radius:12px;padding:14px 10px}
.mk-client-visual-v2 .mk-dash-shortcuts>a:hover{background:color-mix(in srgb,var(--accent) 5%,var(--surface2))}
.mk-client-visual-v2 .mk-dash-news{background:radial-gradient(ellipse 320px 260px at 105% -30%,rgba(123,104,247,.17),transparent 83%),var(--surface)}
.mk-client-visual-v2 .mk-dash-main-action{background:linear-gradient(115deg,#526aff,#7952ee);box-shadow:0 9px 24px rgba(105,86,240,.3)}
/* Orders: maintain fixed columns, no horizontal distortion from long replies. */
.mk-client-visual-v2 .mk-orders-panel{margin-top:38px;margin-bottom:40px;border-radius:21px;padding:27px;background:var(--surface);border-color:var(--border);box-shadow:var(--mk-v2-elevation)}
.mk-client-visual-v2 .mk-orders-panel h2{font-size:1.4rem;letter-spacing:-.025em}
.mk-client-visual-v2 .mk-orders-type-links{gap:9px;flex-wrap:wrap;margin:17px 0 20px}
.mk-client-visual-v2 .mk-orders-type-links a{border-radius:11px;padding:9px 15px;color:var(--text);background:var(--surface2);border-color:var(--border);font-weight:750;font-size:.84rem;transition:background .2s,color .2s}
.mk-client-visual-v2 .mk-orders-type-links a:hover{background:color-mix(in srgb,var(--accent) 12%,var(--surface));color:var(--accent)}
.mk-client-visual-v2 .mk-orders-panel .premium-table{border-spacing:0;color:var(--text)}
.mk-client-visual-v2 .mk-orders-panel .premium-table thead{background:color-mix(in srgb,var(--accent) 5%,var(--surface2))}
.mk-client-visual-v2 .mk-orders-panel .premium-table th{font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:800}
.mk-client-visual-v2 .mk-orders-panel .premium-table tbody tr:hover{background:color-mix(in srgb,var(--accent) 4%,var(--surface))}
.mk-client-visual-v2 .mk-orders-panel .premium-table td{line-height:1.55}
.mk-client-visual-v2 .mk-order-client-table .mk-order-reply{white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word}
/* Profile and wallet. */
.mk-client-visual-v2 .mk-customer-account{padding:38px 0 44px}
.mk-client-visual-v2 .mk-customer-account h1{font-size:clamp(2rem,3.7vw,2.9rem);letter-spacing:-.045em;margin:11px 0 7px}
.mk-client-visual-v2 .mk-customer-account .premium-panel,.mk-client-visual-v2 .mk-wallet-panel{border:1px solid var(--border);background:var(--surface);box-shadow:var(--mk-v2-elevation);border-radius:21px}
.mk-client-visual-v2 .mk-customer-account .premium-panel{padding:26px}
.mk-client-visual-v2 .mk-customer-account .premium-panel h2{font-size:1.25rem;margin-bottom:18px}
.mk-client-visual-v2 .mk-customer-account form input,.mk-client-visual-v2 .mk-customer-account form select,.mk-client-visual-v2 .mk-wallet-panel input{background:var(--surface2);border-color:var(--border)}
.mk-client-visual-v2 .mk-wallet-panel{margin-top:35px;margin-bottom:36px;padding:30px}
.mk-client-visual-v2 .mk-wallet-panel h1{font-size:clamp(2.1rem,4.5vw,3.25rem);margin:8px 0 24px}
.mk-client-visual-v2 .mk-wallet-cards>div{border-color:color-mix(in srgb,var(--accent) 20%,var(--border));background:radial-gradient(ellipse 360px 240px at 100% 0%,rgba(112,98,250,.12),transparent 83%),var(--surface2);border-radius:17px;padding:23px}
.mk-client-visual-v2 .mk-wallet-cards small{color:var(--muted)}
.mk-client-visual-v2 .mk-wallet-panel .premium-table thead{background:color-mix(in srgb,var(--accent) 5%,var(--surface2))}
.mk-client-visual-v2 .mk-wallet-panel .premium-table th{color:var(--muted);font-size:.72rem;letter-spacing:.04em;text-transform:uppercase}
.mk-client-visual-v2 .mk-wallet-panel .premium-table td{overflow-wrap:anywhere}
.mk-client-visual-v2 .mk-wallet-panel .premium-table tbody tr:hover{background:color-mix(in srgb,var(--accent) 4%,var(--surface))}
/* Dark mode uses variable-driven surfaces; maintain text contrast. */
:root[data-theme="dark"] .mk-client-visual-v2 .mk-wallet-amount.positive{background:rgba(16,185,129,.16);color:#6ee7b7}
:root[data-theme="dark"] .mk-client-visual-v2 .mk-wallet-amount.low{background:rgba(245,158,11,.15);color:#fcd34d}
:root[data-theme="dark"] .mk-client-visual-v2 .mk-wallet-amount.negative{background:rgba(244,63,94,.16);color:#fda4af}
:root[data-theme="dark"] .mk-client-visual-v2 .mk-order-status.completed{color:#6ee7b7;background:rgba(16,185,129,.18)}
:root[data-theme="dark"] .mk-client-visual-v2 .mk-order-status.rejected{color:#fda4af;background:rgba(244,63,94,.17)}
:root[data-theme="dark"] .mk-client-visual-v2 .mk-order-status.processing{color:#fdba74;background:rgba(245,158,11,.18)}
:root[data-theme="dark"] .mk-client-visual-v2 .mk-dash-status.completed{background:rgba(16,185,129,.17);color:#6ee7b7}
:root[data-theme="dark"] .mk-client-visual-v2 .mk-dash-status.processing{background:rgba(245,158,11,.17);color:#fdba74}
:root[data-theme="dark"] .mk-client-visual-v2 .mk-dash-status.rejected{background:rgba(244,63,94,.18);color:#fda4af}
@media(max-width:720px){.mk-client-visual-v2 .mk-v2-catalog-filter{margin-top:24px;padding:8px;flex-wrap:wrap}.mk-client-visual-v2 .mk-v2-catalog-filter input[type="search"]{flex-basis:100%}.mk-client-visual-v2 .mk-v2-catalog-filter .mk-catalog-type-chip{flex:1;justify-content:center}.mk-client-visual-v2 .mk-v2-catalog-filter>.btn{flex:1;min-width:105px}.mk-client-visual-v2 .catalog-group>summary{padding:16px 19px}.mk-client-visual-v2 .mk-orders-panel,.mk-client-visual-v2 .mk-wallet-panel{padding:17px;margin-top:22px}.mk-client-visual-v2 .mk-customer-account .premium-panel{padding:18px}.mk-client-visual-v2 .mk-wallet-panel .premium-table{min-width:660px}.mk-client-visual-v2 .catalog-group .premium-table{min-width:625px}.mk-client-visual-v2 .mk-orders-panel .premium-table{min-width:780px}.mk-client-visual-v2 .content{padding-bottom:25px}}
@media(prefers-reduced-motion:reduce){.mk-client-visual-v2 *, .mk-client-visual-v2 *::before{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
