/* Interaction states for Prestare components. Components carry these class names;
   all structural styling stays inline on the component so it survives without this file. */
.ps-pressable{cursor:pointer;transition:var(--transition-interactive);-webkit-tap-highlight-color:transparent}
.ps-pressable:active{transform:scale(var(--press-scale))}
.ps-pressable[disabled],.ps-pressable[aria-disabled="true"]{cursor:not-allowed;opacity:.45;transform:none}

.ps-btn-primary:hover:not([disabled]){background:var(--prestare-blue-600)}
.ps-btn-primary:active:not([disabled]){background:var(--prestare-blue-700)}
.ps-btn-secondary:hover:not([disabled]){background:var(--prestare-blue-100)}
.ps-btn-secondary:active:not([disabled]){background:var(--prestare-blue-200)}
.ps-btn-ghost:hover:not([disabled]){background:var(--neutral-100)}
.ps-btn-ghost:active:not([disabled]){background:var(--neutral-200)}
.ps-btn-danger:hover:not([disabled]){background:var(--red-600)}
.ps-btn-outline:hover:not([disabled]){background:var(--neutral-50);border-color:var(--border-strong)}

.ps-iconbtn:hover:not([disabled]){background:var(--neutral-100)}
.ps-iconbtn-on-brand:hover:not([disabled]){background:rgba(255,255,255,.28)}

.ps-row:hover{background:var(--surface-row-hover)}
.ps-row:active{background:var(--neutral-200)}
.ps-tile:hover{box-shadow:var(--shadow-raised)}

.ps-chip:hover{background:var(--neutral-200)}
.ps-chip[aria-selected="true"]:hover{background:var(--prestare-blue-100)}

.ps-tab:hover .ps-tab-pill{background:var(--neutral-100)}
.ps-field:focus-within{border-color:var(--border-brand);box-shadow:var(--focus-ring);background:var(--surface-card)}
.ps-field input{border:0;outline:0;background:transparent;font:var(--type-body);color:var(--text-strong);width:100%;min-width:0}
.ps-field input::placeholder{color:var(--text-faint)}

@keyframes ps-pulse{0%,100%{opacity:1}50%{opacity:.45}}
.ps-live-dot{animation:ps-pulse 2s var(--ease-standard) infinite}
