/* Shared styles for /login, /invite, /pro and /admin. Builds on the tokens in site.css. */
.shell{min-height:100vh;display:flex;flex-direction:column}
.topbar{background:var(--navy);color:var(--sign-fg)}
.topbar .row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-block:10px;flex-wrap:wrap}
.topbar .neon{font-size:2rem}
.topbar .who{display:flex;gap:10px;align-items:center;font-size:.88rem}
.topbar .who button{background:transparent;border:1px solid rgba(255,255,255,.3);color:var(--sign-fg);border-radius:999px;padding:5px 12px;cursor:pointer;font-weight:600}
.badge-role{font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;font-weight:800;border-radius:4px;padding:1px 6px;background:var(--neon);color:var(--action-ink)}
.ptabs{background:var(--surface);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5;overflow-x:auto}
.ptabs .wrap{display:flex;gap:2px}
.ptabs a{display:flex;gap:6px;align-items:center;padding:12px 14px 10px;font-weight:600;color:var(--muted);text-decoration:none;border-bottom:3px solid transparent;white-space:nowrap}
.ptabs a[aria-current="page"]{color:var(--ink);border-bottom-color:var(--neon)}
.ptabs .count{background:var(--action);color:var(--action-ink);border-radius:999px;font-size:.7rem;padding:0 6px;font-weight:800}
.pmain{padding-block:24px 64px;flex:1}
.pmain h1{font-size:1.6rem;margin-bottom:4px}
.lead{color:var(--muted);max-width:66ch;margin-bottom:18px}
.form{display:grid;gap:12px;max-width:640px}
.form .row2{gap:12px}
.form .field{margin:0}
.actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.btn.sm{padding:6px 10px;font-size:.84rem;border-radius:6px}
.btn.danger{background:transparent;color:var(--err);border:1.5px solid var(--err)}
.btn:disabled{opacity:.55;cursor:not-allowed}
.list{display:flex;flex-direction:column;gap:10px}
.item-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:14px;display:flex;gap:14px;flex-wrap:wrap;align-items:flex-start;justify-content:space-between}
.item-card h3{font-size:1rem;font-family:var(--body);font-weight:700}
.item-card .meta{margin-top:2px}
.status{display:inline-block;padding:1px 8px;border-radius:999px;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;background:var(--teal-soft);color:var(--teal)}
.status.pending_review,.status.New,.status.draft,.status.processing,.status.uploading{background:var(--action);color:var(--action-ink)}
.status.published,.status.active,.status.Matched,.status.accepted{background:var(--good);color:var(--surface)}
.status.rejected,.status.disabled,.status.failed,.status.revoked,.status.hidden,.status.cancelled,.status.expired{background:transparent;color:var(--err);border:1px solid var(--err)}
.grid-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-bottom:20px}
.grid-stats a{text-decoration:none;color:inherit}
.authbox{max-width:420px;margin:48px auto;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:26px}
.authbox h1{font-size:1.4rem;margin-bottom:6px}
.ok{color:var(--good);font-weight:600}
.progress{height:8px;border-radius:8px;background:var(--line);overflow:hidden;margin-top:8px}
.progress span{display:block;height:100%;width:0;background:var(--neon);transition:width .2s}
.tagpick{display:flex;flex-wrap:wrap;gap:6px}
.tagpick label{display:flex;gap:6px;align-items:center;border:1px solid var(--line);border-radius:999px;padding:5px 10px;font-size:.85rem;cursor:pointer}
.tagpick input{margin:0}
.preview{width:180px;aspect-ratio:9/16;border-radius:10px;overflow:hidden;background:#000;flex:none}
.preview iframe{border:none;width:100%;height:100%}
details.fold{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:14px;margin-bottom:16px}
details.fold summary{cursor:pointer;font-weight:700}
details.fold[open] summary{margin-bottom:12px}
@media (max-width:720px){.form .row2{grid-template-columns:1fr}}
.licrow{grid-template-columns:110px 1fr 1fr auto;align-items:end}
@media (max-width:720px){.licrow{grid-template-columns:1fr 1fr}}
