/* Dashboard additions on top of site.css */
.who { display: flex; align-items: center; gap: 14px; font-size: 0.92rem; }
.who select { font: 500 0.92rem var(--body); padding: 6px 8px; border-radius: 6px; border: 1px solid var(--line); background: var(--paper); color: var(--ink); max-width: 220px; }
.usage { font-family: var(--mono); font-size: 0.8rem; color: var(--muted); }
.linkish { background: none; border: 0; color: var(--green); font: inherit; cursor: pointer; padding: 0; }
.grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; padding-bottom: 60px; }
.card { border: 1px solid var(--line); border-radius: 12px; padding: 24px; display: grid; gap: 14px; align-content: start; background: var(--paper); min-width: 0; }
.card.wide { grid-column: 1 / -1; }
.card.narrow { max-width: 520px; margin: 60px auto; }
.card h1 { font-size: 2rem; }
.card h2 { font-size: 1.35rem; }
.card p { color: var(--ink-2); }
.row-form { display: flex; flex-wrap: wrap; gap: 12px; align-items: flex-end; }
.row-form .grow { flex: 1 1 320px; }
.stack-form { display: grid; gap: 12px; }
.two { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.card label { display: grid; gap: 6px; font-weight: 600; font-size: 0.9rem; }
.card input:not([type=checkbox]):not([type=color]), .card select { font: 400 0.98rem var(--body); padding: 10px 11px; border-radius: 8px; border: 1px solid var(--line); background: var(--paper); color: var(--ink); width: 100%; min-width: 0; }
.card input[type=color] { width: 100%; height: 42px; border: 1px solid var(--line); border-radius: 8px; background: var(--paper); padding: 4px; }
.hint { font-size: 0.88rem; color: var(--muted); }
.result { font-size: 0.95rem; min-height: 1.3em; }
.result.ok { color: var(--green); font-weight: 600; }
.result.err { color: var(--danger); }
.keybox { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.keybox code { font-family: var(--mono); font-size: 0.85rem; background: var(--sheet); padding: 8px 10px; border-radius: 6px; overflow-wrap: anywhere; }
.btn.small { padding: 6px 12px; font-size: 0.85rem; }
.dev { font-size: 0.9rem; }
.data { width: 100%; border-collapse: collapse; font-size: 0.92rem; }
.data th { text-align: left; font: 500 0.75rem var(--mono); text-transform: uppercase; letter-spacing: 0.06em; color: var(--muted); border-bottom: 1px solid var(--line); padding: 8px 6px; }
.data td { border-bottom: 1px solid var(--line); padding: 9px 6px; vertical-align: top; overflow-wrap: anywhere; }
.data .empty td { color: var(--muted); font-style: italic; }
.status-failed { color: var(--danger); }
.status-done { color: var(--green); }
@media (max-width: 820px) { .grid { grid-template-columns: 1fr; } .who select { max-width: 140px; } }
