:root{--phoenix-radius:16px;--phoenix-gap:16px;--phoenix-focus:0 0 0 3px rgba(235,64,52,.24)}
.phx-stack{display:flex;flex-direction:column;gap:var(--phoenix-gap)}
.phx-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.phx-card{border:1px solid var(--line);border-radius:var(--phoenix-radius);background:var(--panel);padding:18px}
.phx-empty{padding:42px 20px;text-align:center;border:1px dashed var(--line);border-radius:var(--phoenix-radius);color:var(--muted)}
.phx-btn:focus-visible,.btn:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:none;box-shadow:var(--phoenix-focus)}
.phx-pill{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:999px;padding:6px 10px;font-size:.82rem}
.phx-core-badge{font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;opacity:.72}
.phx-toasts{position:fixed;right:20px;bottom:20px;z-index:9999;display:flex;flex-direction:column;gap:10px;max-width:360px}
.phx-toast{padding:12px 14px;border-radius:12px;background:var(--panel);border:1px solid var(--line);box-shadow:0 12px 34px rgba(0,0,0,.25)}
.phx-toast--success{border-left:4px solid #32c48d}.phx-toast--error{border-left:4px solid #ef5350}.phx-toast--warning{border-left:4px solid #f7b955}.phx-toast--info{border-left:4px solid #5aa9ff}
.phx-modal{border:1px solid var(--line);border-radius:18px;background:var(--panel);color:inherit;max-width:min(680px,92vw);padding:0}.phx-modal::backdrop{background:rgba(0,0,0,.6);backdrop-filter:blur(3px)}

/* PHOENIX 8.0.1 shared component refinements */
.phx-card{position:relative;overflow:hidden}
.phx-card__header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}
.phx-card__title{margin:0;font-size:1.05rem;letter-spacing:-.02em}
.phx-card__subtitle{margin:4px 0 0;color:var(--muted);font-size:.86rem}
.phx-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:10px 14px;border:0;border-radius:11px;background:var(--accent,#ef2638);color:#fff;font-weight:800;text-decoration:none;cursor:pointer}
.phx-btn--secondary{background:var(--panel-2)}
.phx-btn--ghost{background:transparent;border:1px solid var(--line)}
.phx-input{width:100%;min-height:42px;padding:10px 12px;border:1px solid var(--line);border-radius:11px;background:var(--panel-2);color:inherit}
.phx-table-wrap{max-width:100%;overflow:auto;border-radius:14px}
.phx-skeleton{position:relative;overflow:hidden;background:rgba(255,255,255,.05);border-radius:9px}
.phx-skeleton:after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.07),transparent);animation:phx-shimmer 1.4s infinite}
@keyframes phx-shimmer{100%{transform:translateX(100%)}}
