.admin{max-width:1000px}
.admin .card{margin:18px 0;padding:6px 22px 20px}
.narrow{max-width:420px;margin:40px auto!important}
.form{display:flex;flex-direction:column;gap:12px;margin:10px 0 16px}
.form.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px 16px}
.form .wide{grid-column:1/-1}
.form label{display:flex;flex-direction:column;gap:4px;font-size:13px;font-weight:600;color:var(--mut)}
.form label.check{flex-direction:row;align-items:center;gap:8px;color:var(--ink)}
.form input:not([type=checkbox]),.form select,.form textarea{font:inherit;color:var(--ink);padding:9px 11px;border:2px solid var(--line);border-radius:10px;background:#fff;width:100%}
.form input:focus,.form select:focus,.form textarea:focus{outline:none;border-color:var(--red)}
.btn{display:inline-block;background:var(--red);color:#fff;border:0;border-radius:99px;padding:9px 18px;font:inherit;font-weight:700;cursor:pointer;text-decoration:none}
.btn:hover{background:var(--red-d)}
.btn.ghost{background:#fff;color:var(--ink);border:2px solid var(--line)}
.inline{display:inline-flex;align-items:center;gap:8px;margin:0}
.who{color:var(--mut);font-size:14px}
.msg{padding:10px 14px;border-radius:12px;margin:14px 0;font-weight:600}
.msg.ok{background:var(--mint)}.msg.bad{background:var(--pink)}
.warn{background:var(--yellow);border-radius:12px;padding:10px 14px;font-size:14px}
table{width:100%;border-collapse:collapse;font-size:14px}
th,td{text-align:left;padding:8px 6px;border-top:1px solid var(--line);vertical-align:top}
th{color:var(--mut);font-size:12px;text-transform:uppercase;letter-spacing:.04em}
tr.expired{opacity:.5}
.actions{white-space:nowrap}
.link{background:none;border:0;color:var(--red-d);font:inherit;cursor:pointer;padding:0;text-decoration:underline}
.mut{color:var(--mut)}.small{font-size:12px}
.thumb{display:block;max-width:160px;max-height:120px;border-radius:8px;border:1px solid var(--line)}
.thumb.mini{display:inline-block;width:36px;height:36px;object-fit:cover;vertical-align:middle;margin-right:4px}
.thumb-row{display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.swatch{display:inline-block;width:22px;height:22px;border-radius:6px;border:1px solid rgba(0,0,0,.1)}
.swatch.yellow{background:var(--yellow)}.swatch.pink{background:var(--pink)}.swatch.mint{background:var(--mint)}.swatch.sky{background:var(--sky)}.swatch.lilac{background:var(--lilac)}.swatch.peach{background:var(--peach)}
.tag{font-size:12px;font-weight:700;padding:2px 10px;border-radius:99px;background:var(--chip)}
.tag.live{background:var(--mint);color:#1b6b3f}
@media (max-width:600px){table{font-size:13px}th:nth-child(3),td:nth-child(3){display:none}}
