/* MyWPTheme UX Foundation v3.0.0
   Shared design tokens, accessibility and interaction primitives.
   Loaded after legacy styles so it can normalize the entire CMS without
   changing the server-rendered DOM or page contracts. */
:root{
  --ux-brand:var(--cms-accent,var(--dm-account-accent,#ff8a00));
  --ux-brand-strong:#e96f00;
  --ux-secondary:var(--cms-primary,var(--dm-account-secondary,#0f766e));
  --ux-ink:#101828;
  --ux-text:#344054;
  --ux-muted:#667085;
  --ux-subtle:#98a2b3;
  --ux-bg:#f7f9fc;
  --ux-surface:#fff;
  --ux-surface-2:#f9fafb;
  --ux-line:#e4eaf2;
  --ux-line-strong:#d0d8e5;
  --ux-success:#078a61;
  --ux-warning:#b54708;
  --ux-danger:#c4320a;
  --ux-info:#175cd3;
  --ux-radius-xs:8px;
  --ux-radius-sm:12px;
  --ux-radius-md:16px;
  --ux-radius-lg:22px;
  --ux-radius-xl:28px;
  --ux-shadow-xs:0 1px 2px rgba(16,24,40,.04);
  --ux-shadow-sm:0 8px 22px rgba(16,24,40,.06);
  --ux-shadow-md:0 18px 48px rgba(16,24,40,.08);
  --ux-shadow-lg:0 30px 80px rgba(16,24,40,.12);
  --ux-ring:0 0 0 4px color-mix(in srgb,var(--ux-brand) 18%,transparent);
  --ux-ease:cubic-bezier(.2,.8,.2,1);
  --ux-fast:140ms;
  --ux-normal:240ms;
  --ux-content:1440px;
}
*{scrollbar-width:thin;scrollbar-color:#b8c2d1 transparent}
*::-webkit-scrollbar{width:10px;height:10px}
*::-webkit-scrollbar-track{background:transparent}
*::-webkit-scrollbar-thumb{background:#c4ccd8;border:3px solid transparent;border-radius:99px;background-clip:padding-box}
*::-webkit-scrollbar-thumb:hover{background:#98a2b3;border:2px solid transparent;background-clip:padding-box}
html{scroll-behavior:smooth;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
body{color:var(--ux-text);accent-color:var(--ux-brand)}
::selection{background:color-mix(in srgb,var(--ux-brand) 22%,transparent);color:var(--ux-ink)}
img{max-width:100%}
a,button,input,select,textarea{transition:border-color var(--ux-fast) var(--ux-ease),background-color var(--ux-fast) var(--ux-ease),color var(--ux-fast) var(--ux-ease),box-shadow var(--ux-fast) var(--ux-ease),transform var(--ux-fast) var(--ux-ease),opacity var(--ux-fast) var(--ux-ease)}
button,[type=button],[type=submit],[role=button]{touch-action:manipulation}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:0!important;box-shadow:var(--ux-ring)!important}
input,select,textarea{caret-color:var(--ux-brand)}
input::placeholder,textarea::placeholder{color:#98a2b3;opacity:1}
input:disabled,select:disabled,textarea:disabled,button:disabled{cursor:not-allowed;opacity:.58}
[v-cloak]{display:none!important}
.skip-link{position:fixed!important;top:10px;right:14px;z-index:100000;transform:translateY(-150%);background:#111827!important;color:#fff!important;border-radius:12px;padding:10px 16px;text-decoration:none;box-shadow:var(--ux-shadow-md)}
.skip-link:focus{transform:translateY(0)}
.ux-screen-reader-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.ux-page-progress{position:fixed;inset:0 0 auto;z-index:99999;height:3px;pointer-events:none;background:linear-gradient(90deg,var(--ux-brand),#ffbb45,var(--ux-secondary));transform:scaleX(0);transform-origin:right;opacity:0;transition:transform .18s linear,opacity .2s ease}
.ux-page-progress.is-visible{opacity:1}
.ux-toast-region{position:fixed;z-index:100100;left:24px;bottom:24px;display:grid;gap:10px;width:min(390px,calc(100vw - 32px));pointer-events:none}
.ux-toast{pointer-events:auto;display:grid;grid-template-columns:42px 1fr auto;gap:12px;align-items:center;background:rgba(17,24,39,.96);color:#fff;border:1px solid rgba(255,255,255,.12);border-radius:18px;padding:13px 14px;box-shadow:var(--ux-shadow-lg);backdrop-filter:blur(18px);animation:uxToastIn .32s var(--ux-ease) both}
.ux-toast__icon{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:rgba(255,255,255,.1);font-size:19px}.ux-toast__body{min-width:0}.ux-toast__body b{display:block;font-size:.9rem;margin-bottom:2px}.ux-toast__body span{display:block;color:#d0d5dd;font-size:.8rem;line-height:1.7}.ux-toast__close{border:0;background:transparent;color:#d0d5dd;width:32px;height:32px;border-radius:10px}.ux-toast--success .ux-toast__icon{background:rgba(18,183,106,.18);color:#6ce9a6}.ux-toast--error .ux-toast__icon{background:rgba(240,68,56,.18);color:#fda29b}.ux-toast--warning .ux-toast__icon{background:rgba(247,144,9,.18);color:#fec84b}
@keyframes uxToastIn{from{opacity:0;transform:translateY(16px) scale(.97)}to{opacity:1;transform:none}}
.ux-loading-overlay{position:fixed;inset:0;z-index:100090;background:rgba(255,255,255,.62);backdrop-filter:blur(8px);display:grid;place-items:center;opacity:0;visibility:hidden;transition:.2s ease}.ux-loading-overlay.is-active{opacity:1;visibility:visible}.ux-loading-overlay__card{background:#fff;border:1px solid var(--ux-line);box-shadow:var(--ux-shadow-lg);border-radius:22px;padding:24px 30px;display:flex;align-items:center;gap:14px;color:var(--ux-ink);font-weight:800}.ux-spinner{width:24px;height:24px;border:3px solid #e7eaf0;border-top-color:var(--ux-brand);border-radius:50%;animation:uxSpin .7s linear infinite}@keyframes uxSpin{to{transform:rotate(360deg)}}
.ux-button-loading{position:relative!important;color:transparent!important;pointer-events:none!important}.ux-button-loading:after{content:"";position:absolute;inset:50% auto auto 50%;width:20px;height:20px;margin:-10px;border:2px solid rgba(255,255,255,.45);border-top-color:currentColor;border-radius:50%;animation:uxSpin .7s linear infinite;color:#fff}
.ux-password-wrap{position:relative}.ux-password-wrap>input{padding-left:48px!important}.ux-password-toggle{position:absolute;left:8px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:36px;height:36px;border:0;border-radius:10px;background:transparent;color:var(--ux-muted);z-index:2}.ux-password-toggle:hover{background:#f2f4f7;color:var(--ux-ink)}
.ux-file-meta{display:flex;align-items:center;gap:8px;color:var(--ux-muted);font-size:.78rem;margin-top:7px}.ux-file-meta i{color:var(--ux-brand)}
.ux-table-scroll-hint{display:none;align-items:center;gap:6px;color:var(--ux-muted);font-size:.76rem;margin:4px 2px 10px}.ux-table-scroll-hint i{color:var(--ux-brand)}
.ux-mobile-backdrop{position:fixed;inset:0;z-index:9980;background:rgba(15,23,42,.48);backdrop-filter:blur(4px);opacity:0;visibility:hidden;transition:.2s ease}.ux-mobile-backdrop.is-open{opacity:1;visibility:visible}
.ux-mobile-menu-button{display:none;align-items:center;justify-content:center;width:46px;height:46px;border:1px solid var(--ux-line);border-radius:14px;background:#fff;color:var(--ux-ink);box-shadow:var(--ux-shadow-xs)}
.ux-kbd{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:23px;padding:0 7px;border:1px solid var(--ux-line-strong);border-bottom-width:2px;border-radius:7px;background:var(--ux-surface-2);font-size:.7rem;color:var(--ux-muted);font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
.ux-visually-busy{cursor:progress!important}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}
@media(max-width:767px){.ux-toast-region{left:16px;bottom:16px}.ux-table-scroll-hint{display:flex}.ux-mobile-menu-button{display:inline-flex}}
@media print{.ux-page-progress,.ux-toast-region,.ux-loading-overlay,.ux-mobile-menu-button,.skip-link{display:none!important}}
.ux-scroll-top{position:fixed;left:24px;bottom:24px;z-index:9700;width:46px;height:46px;display:grid;place-items:center;border:1px solid var(--ux-line);border-radius:15px;background:rgba(255,255,255,.94);color:var(--ux-ink);box-shadow:var(--ux-shadow-md);backdrop-filter:blur(14px);opacity:0;visibility:hidden;transform:translateY(10px)}.ux-scroll-top.is-visible{opacity:1;visibility:visible;transform:none}.ux-scroll-top:hover{background:var(--ux-brand);border-color:var(--ux-brand);color:#fff;transform:translateY(-2px)}
@media(max-width:767px){.ux-scroll-top{left:16px;bottom:82px;width:43px;height:43px}.ux-toast-region+.ux-scroll-top{bottom:82px}}
.ux-password-wrap{width:100%;flex:1 1 auto;min-width:0}.ux-password-wrap>input{width:100%}
