/* Login page styles (plan 14 s.13, B3): minimal, dark-mode aware, loaded as a file because the CSP forbids inline style. */
:root{--bg:#fff;--fg:#111;--ac:#2563eb;--bd:#ccc}
@media (prefers-color-scheme:dark){:root{--bg:#111;--fg:#eee;--bd:#444}}
body{margin:0;background:var(--bg);color:var(--fg);font:16px system-ui,sans-serif;display:grid;place-items:center;min-height:100vh}
main{width:min(92vw,360px)}
h2{font-size:1.1em}
label{display:block;margin:12px 0}
input{display:block;width:100%;box-sizing:border-box;padding:10px;margin-top:4px;border:1px solid var(--bd);border-radius:6px;background:var(--bg);color:var(--fg);font:inherit}
button{width:100%;padding:11px;margin:6px 0;border:0;border-radius:6px;background:var(--ac);color:#fff;font:inherit;cursor:pointer}
button.alt,.grid button{background:transparent;color:var(--fg);border:1px solid var(--bd)}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.grid button{display:flex;align-items:center;gap:8px;margin:0}
.dot{width:12px;height:12px;border-radius:50%;flex:none;background:var(--ac)}
.small{font-size:.9em}
a{color:var(--ac)}
#msg{min-height:1.4em;color:#dc2626}
fieldset{border:1px solid var(--bd);border-radius:6px;margin:8px 0;padding:6px 10px;display:flex;gap:14px;flex-wrap:wrap}
label.opt{display:flex;align-items:center;gap:6px;margin:4px 0}
label.opt input{width:auto;margin:0}
h3{font-size:1em;margin:18px 0 6px}
.list{list-style:none;margin:0;padding:0}
.list li{border:1px solid var(--bd);border-radius:6px;padding:8px 10px;margin:6px 0}
.list .row{display:flex;align-items:center;gap:8px}
.list .acts{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}
.list .acts button{width:auto;flex:1 1 auto;padding:7px 10px;margin:0;background:transparent;color:var(--fg);border:1px solid var(--bd)}
.list .acts button.danger{color:#dc2626;border-color:#dc2626}
.list .meta{font-size:.85em;opacity:.8;margin-top:2px}
#msg.ok{color:#16a34a}
