/* Layout for the account, publisher and admin pages (tokens from site.css). */
.sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
main > .panel, .admin-main .panel { max-width:none; margin:0 0 1.25rem; }
.auth-card { max-width:26rem; margin:3rem auto; background:var(--card); border:1px solid var(--line); border-radius:16px; padding:1.5rem; }
.auth-card h1 { margin:0.3rem 0; }
.stack { display:grid; gap:0.8rem; }
.stack label, .form-grid label { display:grid; gap:0.3rem; font-weight:600; font-size:0.9rem; }
.stack input, .stack select, .stack textarea, .form-grid input, .form-grid select, .form-grid textarea { font-weight:400; width:100%; box-sizing:border-box; }
textarea { font:inherit; padding:0.55rem 0.7rem; border:1px solid var(--line); border-radius:10px; }
label.check { display:flex; align-items:center; gap:0.45rem; font-weight:400; }
label.check input { width:auto; }
.form-grid { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:1rem; background:var(--card); border:1px solid var(--line); border-radius:16px; padding:1.25rem; margin:0 0 1.25rem; }
.form-grid .wide, .form-grid fieldset { grid-column:1 / -1; }
.form-grid fieldset { border:1px solid var(--line); border-radius:10px; display:flex; flex-wrap:wrap; gap:0.5rem 1rem; }
.form-panel .form-grid { border:0; padding:0; }
.inline-form { display:flex; flex-wrap:wrap; align-items:center; gap:0.6rem; margin:0 0 1rem; }
.table-wrap { overflow-x:auto; margin:0 0 1rem; }
button.secondary, .button.secondary { background:#fff; color:var(--ink); border:1px solid var(--line); }
button.small, a.small { font-size:0.85rem; padding:0.3rem 0.7rem; }
.link-button { background:none; color:var(--muted); padding:0.4rem 0.6rem; border-radius:8px; }
.license-key { word-break:break-all; }
.account-heading, .admin-heading { display:flex; justify-content:space-between; align-items:flex-start; gap:1rem; flex-wrap:wrap; margin:1rem 0; }
.admin-heading h1, .admin-heading h2 { margin:0; }
.admin-layout { display:grid; grid-template-columns:13rem minmax(0, 1fr); gap:1.5rem; margin:1.5rem 0; }
.admin-nav { display:grid; align-content:start; gap:0.2rem; position:sticky; top:1rem; }
.admin-nav a { color:inherit; text-decoration:none; padding:0.45rem 0.7rem; border-radius:8px; }
.admin-nav a:hover { background:var(--line); }
.admin-nav a[aria-current="page"] { background:var(--ink); color:#fff; }
.admin-main h1 { margin-top:0; }
.stat-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(10rem, 1fr)); gap:1rem; margin:0 0 1.25rem; }
.stat { background:var(--card); border:1px solid var(--line); border-radius:16px; padding:1rem; display:grid; gap:0.3rem; }
.stat span { color:var(--muted); font-size:0.85rem; }
.stat strong { font-size:1.6rem; }
.quick-links { display:flex; flex-wrap:wrap; gap:0.6rem; margin:0 0 1.5rem; }
.status { display:inline-block; border-radius:999px; padding:0.1rem 0.55rem; font-size:0.8rem; background:var(--line); }
.status-published, .status-approved, .status-active, .status-paid { background:#dcfce7; color:#166534; }
.status-rejected, .status-revoked, .status-banned, .status-refunded, .status-expired { background:#fee2e2; color:#991b1b; }
.actions { display:flex; gap:0.4rem; flex-wrap:wrap; }
.plain-list { padding-left:1.2rem; }
.category-row { align-items:end; }
.logo-preview { max-height:48px; vertical-align:middle; }
@media (max-width: 760px) {
    .admin-layout { grid-template-columns:1fr; }
    .admin-nav { position:static; display:flex; flex-wrap:wrap; }
    .form-grid { grid-template-columns:1fr; }
}
.install-card { max-width:30rem; }
.install-steps { display:flex; gap:0.5rem; list-style:none; padding:0; margin:0.5rem 0 1rem; counter-reset:step; }
.install-steps li { counter-increment:step; color:var(--muted); font-size:0.85rem; }
.install-steps li::before { content:counter(step) ". "; }
.install-steps li[aria-current="step"] { color:var(--ink); font-weight:600; }
.requirements { list-style:none; padding:0; margin:0 0 1rem; display:grid; gap:0.2rem; font-size:0.9rem; }
.requirements .ok { color:#166534; }
.requirements .missing { color:#991b1b; font-weight:600; }

.status-disconnected { background:#f1f5f9; color:#475569; }
.actions form { display:inline-flex; gap:0.3rem; align-items:center; margin:0 0.2rem 0.2rem 0; }
.actions input.small { width:9rem; font-size:0.85rem; padding:0.3rem 0.5rem; }
