/* production additions */
.narrow{max-width:460px;margin:40px auto}
.padded{padding:22px}
.ttl{font-family:var(--f-display);font-size:22px;margin:0 0 6px}
.row-btns{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.row-btns .grow{flex:1;justify-content:center}
.fld input,.fld select,.fld textarea{border:1px solid var(--line);background:var(--surface);border-radius:8px;padding:9px 10px;font-size:14px;width:100%;color:var(--ink)}
.fld{display:flex;flex-direction:column;gap:4px;margin-bottom:10px}
.fld label{font-size:12px;font-weight:600;color:var(--ink-2)}
.asmf .fld{margin-bottom:0}
.check{display:flex;gap:8px;align-items:flex-start;font-size:12.5px;color:var(--ink);background:var(--warn-soft);border-radius:8px;padding:9px 10px}
.check input{margin-top:2px;width:16px;height:16px;flex:none}
.err{color:var(--bad);font-size:12.5px;min-height:18px}
.banner{border-radius:var(--r);padding:11px 14px;font-size:13px;background:var(--info-soft);margin:16px 0 0;display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.banner.warn{background:var(--warn-soft)}
.banner.bad{background:var(--bad-soft)}
.banner.ok{background:var(--ok-soft)}
.empty{padding:28px;text-align:center;color:var(--ink-3)}
.st-draft{background:var(--mute-soft);color:var(--ink-2)}
.modal{position:fixed;inset:0;background:rgba(5,10,15,.5);display:grid;place-items:center;z-index:60;padding:16px}
.modal[hidden]{display:none}
.modal-card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:20px 22px;width:min(440px,100%);box-shadow:0 20px 60px rgba(0,0,0,.35)}
.modal-card h3{font-family:var(--f-display);margin:0 0 8px}
.secret{font-family:var(--f-mono);font-size:22px;letter-spacing:.06em;background:var(--sunk);border-radius:8px;padding:10px 12px;margin:8px 0;user-select:all}
.regbox{border:1px solid var(--line);border-radius:10px;padding:12px;background:var(--sunk);display:flex;flex-direction:column;gap:10px}
.regbox h4{margin:0}
.copyrow{display:grid;grid-template-columns:130px minmax(0,1fr) auto;gap:8px;align-items:center;font-size:13px;padding:5px 0;border-top:1px dashed var(--line)}
.copyrow:first-of-type{border-top:0}
.copyrow span:first-child{color:var(--ink-3);font-size:12px}
.copyrow .v{font-family:var(--f-mono);word-break:break-all}
.copyrow button{border:1px solid var(--line);background:var(--surface);border-radius:6px;padding:3px 8px;font-size:11.5px;cursor:pointer;color:var(--ink)}
.copyrow button.done{border-color:var(--ok);color:var(--ok)}
.inline{display:flex;gap:8px;flex-wrap:wrap;align-items:flex-end}
.inline .fld{flex:1;min-width:160px;margin:0}
.doc a{color:inherit;text-decoration:none}
.doc a:hover b{text-decoration:underline}
.zpush{font-size:12px;display:inline-flex;gap:6px;align-items:center}
.zpush.ok{color:var(--ok)}.zpush.failed{color:var(--bad)}.zpush.pending{color:var(--warn)}
.qitem{padding:10px 14px;border-top:1px solid var(--line);font-size:12.5px}
.qitem:first-child{border-top:0}
.qitem b{display:block}
.loading{opacity:.55;pointer-events:none}
.kv dd select{border:1px solid var(--line);background:var(--surface);border-radius:6px;padding:4px 6px;color:var(--ink)}
.users-grid .btn.sm{padding:4px 8px}
td .acts{display:flex;gap:4px;flex-wrap:wrap}
.mine .card .sub2{font-size:12px;color:var(--ink-3)}
@media (max-width:560px){.copyrow{grid-template-columns:100px minmax(0,1fr) auto}}
a.btn{text-decoration:none;color:inherit}
a.btn.accent,a.btn.primary{color:#1d1300}
