/* Shared visual contract for owned interfaces. Import once before app layout. */
@import url("tokens.css");
.pm-page,.pm-auth-shell{background:var(--pm-canvas);color:var(--pm-dough);font:400 16px/1.5 var(--pm-font)}
.pm-card,.pm-auth-card{background:var(--pm-surface);color:var(--pm-dough);border:1px solid var(--pm-line);border-radius:16px;padding:30px}
.pm-auth-card{position:relative;width:350px;max-width:100%}
.pm-button{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;min-height:48px;padding:14px 18px;border:0;border-radius:8px;background:var(--pm-dill);color:var(--pm-ink);font:600 16px/1.4 var(--pm-font);cursor:pointer}
.pm-button:hover{background:var(--pm-action-hover)}
.pm-button:disabled{background:var(--pm-surface-hover);color:var(--pm-muted);cursor:not-allowed}
.pm-button-secondary{min-height:44px;padding:12px 18px;border:1px solid var(--pm-line);border-radius:8px;background:transparent;color:var(--pm-dough);font:500 14px/1.4 var(--pm-font);cursor:pointer}
.pm-button:focus-visible,.pm-button-secondary:focus-visible,.pm-link:focus-visible,.pm-input:focus-visible{outline:3px solid var(--pm-focus);outline-offset:4px}
.pm-input{display:block;width:100%;min-height:48px;padding:12px 14px;background:var(--pm-canvas);color:var(--pm-dough);border:1px solid var(--pm-muted);border-radius:8px;font:400 16px/1.5 var(--pm-font)}
.pm-input[aria-invalid=true]{border-color:var(--pm-danger)}
.pm-link{color:var(--pm-dill);text-decoration:underline;text-underline-offset:4px}
.pm-muted{color:var(--pm-muted)}.pm-error{color:var(--pm-danger)}.pm-success{color:var(--pm-success)}.pm-warning{color:var(--pm-warning)}
@media(max-width:800px){.pm-auth-card{padding:24px}}
@media(prefers-reduced-motion:reduce){.pm-page *{scroll-behavior:auto;transition:none;animation:none}}
