/* Shared PROOFF feedback. Runtime classes never impose geometry: every page keeps
   the width, height, padding and typography chosen for its own layout. */
.prooff-pressable,.prooff-button{-webkit-tap-highlight-color:transparent;user-select:none;touch-action:manipulation}
.prooff-button{position:relative;isolation:isolate;cursor:pointer;transition:transform .12s cubic-bezier(.2,.8,.2,1),box-shadow .18s,background-color .18s,border-color .18s,filter .18s}
.prooff-button--primary{border-color:transparent;color:#fff;background:linear-gradient(120deg,#ff7317,var(--accent),var(--accent2));box-shadow:0 10px 24px rgba(255,70,31,.23)}
.prooff-button--danger{color:#fff;border-color:transparent;background:var(--danger);box-shadow:0 10px 24px rgba(229,72,77,.2)}
.prooff-button.is-pressed:not([data-prooff-preserve-transform]):not(.tv-focusable),.prooff-pressable.is-pressed:not([data-prooff-preserve-transform]):not(.tv-focusable){transform:translateY(2px) scale(.975)!important;filter:brightness(.94);box-shadow:inset 0 2px 5px rgba(19,23,30,.10),0 3px 10px rgba(25,28,34,.16)!important}
.prooff-button--icon.is-pressed:not([data-prooff-preserve-transform]),.prooff-button--compact.is-pressed:not([data-prooff-preserve-transform]){transform:translateY(2px) scale(.96)!important}
.prooff-btn,.prooff-icon-action,.prooff-chip{position:relative;overflow:hidden;isolation:isolate;-webkit-tap-highlight-color:transparent;user-select:none;touch-action:manipulation}
.prooff-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:52px;padding:0 20px;border:1px solid transparent;border-radius:var(--prooff-radius-md,16px);font:700 14px/1 var(--font-sans,system-ui,sans-serif);cursor:pointer;transition:transform .16s cubic-bezier(.2,.8,.2,1),background-color .18s,box-shadow .18s,border-color .18s,filter .18s}
.prooff-btn--primary{color:#fff;background:linear-gradient(120deg,var(--accent),var(--accent2));box-shadow:0 10px 24px rgba(255,75,22,.23)}
.prooff-btn--secondary{color:var(--fg);background:var(--surface);border-color:var(--border);box-shadow:var(--shadow-soft)}
.prooff-btn--danger{color:#fff;background:var(--danger);box-shadow:0 10px 24px rgba(229,72,77,.2)}
.prooff-icon-action{display:inline-grid;place-items:center;width:52px;height:52px;padding:0;border:1px solid var(--border);border-radius:var(--prooff-radius-md,16px);color:var(--fg);background:var(--surface);box-shadow:var(--shadow-soft);cursor:pointer;transition:transform .16s cubic-bezier(.2,.8,.2,1),box-shadow .18s,background-color .18s}
.prooff-icon-action svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2.3;stroke-linecap:round;stroke-linejoin:round}
.prooff-text-action{border:0;background:transparent;color:var(--accent-text);font:700 14px var(--font-sans,system-ui,sans-serif);cursor:pointer}
.prooff-text-action--danger{color:var(--danger)}
.prooff-chip{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 14px;border:1px solid var(--border);border-radius:999px;color:var(--fg);background:var(--surface-2);font:700 13px var(--font-sans,system-ui,sans-serif);cursor:pointer;transition:transform .16s,background-color .18s,border-color .18s,color .18s}
.prooff-chip[aria-selected="true"],.prooff-chip.is-active{color:#fff;border-color:var(--accent);background:var(--accent)}
.prooff-field,.prooff-select{box-sizing:border-box;width:100%;min-height:52px;padding:0 14px;border:1px solid var(--border);border-radius:var(--prooff-radius-md,16px);background:var(--surface);color:var(--fg);font:inherit}
.prooff-field:disabled,.prooff-select:disabled{opacity:.6;cursor:not-allowed}
.prooff-field:focus,.prooff-select:focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}
.prooff-switch{position:relative;display:inline-flex;width:52px;height:32px;padding:3px;border:0;border-radius:999px;background:var(--border);cursor:pointer;transition:background-color .2s}
.prooff-switch::after{content:"";width:26px;height:26px;border-radius:50%;background:var(--surface);box-shadow:0 2px 6px rgba(22,27,36,.2);transition:transform .2s cubic-bezier(.2,.8,.2,1)}
.prooff-switch[aria-checked="true"]{background:var(--accent)}.prooff-switch[aria-checked="true"]::after{transform:translateX(20px)}
.prooff-surface,.prooff-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--prooff-radius-lg,20px);box-shadow:var(--shadow)}
.prooff-card{padding:20px}.prooff-badge{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;border-radius:999px;background:var(--accent-soft);color:var(--accent-text);font:800 12px/1 var(--font-sans,system-ui,sans-serif)}
.prooff-dialog-backdrop{position:fixed;inset:0;z-index:12100;display:grid;place-items:center;padding:20px;background:rgba(22,27,36,.52);opacity:0;visibility:hidden;transition:opacity .24s ease,visibility .24s ease}.prooff-dialog-backdrop.is-open{opacity:1;visibility:visible}
.prooff-dialog{width:min(440px,100%);max-height:calc(100dvh - 40px);overflow:auto;padding:24px;border:1px solid var(--border);border-radius:var(--prooff-radius-lg,20px);background:var(--surface);color:var(--fg);box-shadow:var(--shadow)}
.prooff-dialog__header,.prooff-dialog__actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.prooff-dialog__actions{justify-content:flex-end;margin-top:20px}
.prooff-spinner{display:inline-block;width:22px;height:22px;border:3px solid currentColor;border-right-color:transparent;border-radius:50%;animation:prooff-spin .7s linear infinite}.prooff-loading{cursor:wait;pointer-events:none}.prooff-success{color:#fff!important;background:var(--success)!important}.prooff-error{color:var(--danger)}
.prooff-ripple{position:absolute;z-index:2147483647;border-radius:50%;background:rgba(255,255,255,.42);transform:scale(0);pointer-events:none;animation:prooff-ripple .52s ease-out}
.prooff-ripple--global{position:fixed}
.prooff-btn--secondary .prooff-ripple,.prooff-icon-action .prooff-ripple,.prooff-chip .prooff-ripple{background:rgba(37,41,49,.13)}
.prooff-btn:focus-visible,.prooff-icon-action:focus-visible,.prooff-chip:focus-visible,.prooff-text-action:focus-visible,.prooff-switch:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
@keyframes prooff-ripple{to{transform:scale(3.6);opacity:0}}@keyframes prooff-spin{to{transform:rotate(360deg)}}
@media (hover: hover) and (pointer: fine){.prooff-button:hover{transform:translateY(-2px);filter:saturate(1.06);box-shadow:0 9px 22px rgba(24,29,38,.12)}.prooff-btn:hover,.prooff-icon-action:hover,.prooff-chip:hover{transform:translateY(-2px);filter:saturate(1.05)}}
@media (hover: none) and (pointer: coarse){.prooff-button.is-pressed:not([data-prooff-preserve-transform]){transform:translateY(2px) scale(.955)!important;filter:brightness(.88) saturate(1.08);box-shadow:inset 0 3px 7px rgba(20,24,31,.18),0 1px 3px rgba(20,24,31,.08)!important}.prooff-button--primary.is-pressed{filter:brightness(.78) saturate(1.14)}}
@media (prefers-reduced-motion: reduce){.prooff-button,.prooff-btn,.prooff-icon-action,.prooff-chip,.prooff-switch,.prooff-switch::after,.prooff-dialog-backdrop{transition-duration:.01ms}.prooff-ripple{display:none}.prooff-spinner{animation:none}}
