:root{--psk-ux-accent:#2563eb;--psk-ux-ink:#0f172a;--psk-ux-ok:#166534;--psk-ux-warn:#92400e}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{accent-color:var(--psk-ux-accent)}
::selection{background:#bfdbfe;color:#172554}
.psk-ux-progress{position:fixed;inset:0 auto auto 0;width:0;height:3px;background:linear-gradient(90deg,#2563eb,#7c3aed);z-index:25000;pointer-events:none;transition:width .08s linear}
.psk-ux-network{position:fixed;top:10px;left:50%;translate:-50% -150%;z-index:25010;padding:10px 14px;border-radius:999px;background:#7f1d1d;color:#fff;font-size:12px;font-weight:900;box-shadow:0 12px 32px rgba(15,23,42,.24);transition:translate .2s ease}
.psk-ux-network.is-visible{translate:-50% 0}
.psk-ux-toast-region{position:fixed;right:16px;bottom:86px;z-index:25020;display:grid;gap:8px;width:min(360px,calc(100vw - 32px));pointer-events:none}
.psk-ux-toast{display:grid;grid-template-columns:auto 1fr auto;align-items:start;gap:9px;padding:12px 13px;border:1px solid #dbe4ef;border-left:4px solid #2563eb;border-radius:14px;background:#fff;color:#0f172a;box-shadow:0 16px 40px rgba(15,23,42,.18);font-size:12px;font-weight:750;line-height:1.45;pointer-events:auto;animation:pskUxIn .18s ease-out}
.psk-ux-toast[data-kind="success"]{border-left-color:#16a34a}.psk-ux-toast[data-kind="warning"]{border-left-color:#d97706}.psk-ux-toast button{border:0;background:transparent;color:#64748b;cursor:pointer;font-size:16px;line-height:1}
.psk-ux-top{position:fixed;right:18px;bottom:18px;z-index:9000;width:46px;height:46px;border:1px solid #dbe4ef;border-radius:50%;background:#fff;color:#0f172a;box-shadow:0 12px 30px rgba(15,23,42,.15);display:grid;place-items:center;cursor:pointer;opacity:0;translate:0 14px;pointer-events:none;transition:.18s ease}
.psk-ux-top.is-visible{opacity:1;translate:0 0;pointer-events:auto}
body[data-psk-admin-ux] .psk-ux-top{right:90px}
.psk-ux-visually-hidden{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}
img[data-psk-ux-image="1"]{transition:opacity .2s ease}img[data-psk-ux-broken="1"]{opacity:.25;filter:grayscale(1)}
button:disabled,[aria-disabled="true"]{cursor:not-allowed!important;opacity:.58}
.psk-password-toggle{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:6px!important;width:auto!important;min-height:36px!important;margin:7px 0 0!important;padding:7px 10px!important;border:1px solid #cbd5e1!important;border-radius:9px!important;background:#fff!important;color:#334155!important;font-size:11px!important;font-weight:850!important;box-shadow:none!important}
@media (hover:hover){a,button{transition-property:color,background-color,border-color,box-shadow,transform;transition-duration:.16s}button:not(:disabled):active,.btn:not([aria-disabled="true"]):active{transform:translateY(1px)}}
@media (pointer:coarse){button,.btn,input:not([type="checkbox"]):not([type="radio"]),select{min-height:44px}}
@media (max-width:640px){.psk-ux-toast-region{right:10px;bottom:74px;width:calc(100vw - 20px)}.psk-ux-top{right:12px;bottom:12px}}
@media (max-width:768px), (pointer:coarse){html{scroll-behavior:auto!important}.psk-ux-top{display:none!important}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.psk-ux-progress,.psk-ux-network,.psk-ux-toast,.psk-ux-top,img[data-psk-ux-image="1"]{animation:none!important;transition:none!important}}
@media print{.psk-ux-progress,.psk-ux-network,.psk-ux-toast-region,.psk-ux-top,.cookie-banner,.mobile-booking-bar{display:none!important}a[href]::after{content:none!important}}
@keyframes pskUxIn{from{opacity:0;translate:0 7px}to{opacity:1;translate:0 0}}
