:root{color:#1f2328;--border:#d9dde3;--accent:#2557d6;--danger:#c62828;--muted:#6a737d;background:#f5f6f8;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}body{margin:0}h1,h2{margin:0 0 .75rem}h2{font-size:1.1rem}.muted{color:var(--muted)}.card{border:1px solid var(--border);background:#fff;border-radius:10px;padding:1.25rem}label{flex-direction:column;gap:.35rem;font-size:.85rem;font-weight:600;display:flex}input,textarea{font:inherit;border:1px solid var(--border);border-radius:6px;padding:.55rem .65rem;font-weight:400}input:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:-1px}button{font:inherit;border:1px solid var(--accent);background:var(--accent);color:#fff;cursor:pointer;border-radius:6px;padding:.5rem 1rem;font-weight:600}button:disabled{opacity:.6;cursor:default}button.secondary{color:var(--accent);background:#fff}button.danger{color:var(--danger);border-color:var(--danger);background:#fff;padding:.3rem .7rem}button.link{color:#fff;background:0 0;border:none;padding:0;text-decoration:underline}.error{color:var(--danger);margin:0}.error.banner{background:#fdecec;border:1px solid #f5c2c2;border-radius:8px;padding:.75rem 1rem}.login-page{place-items:center;min-height:100vh;padding:1rem;display:grid}.login-card{flex-direction:column;gap:1rem;width:min(360px,100%);display:flex}.login-card h1,.login-card p{margin:0}.topbar{color:#fff;background:#1f2a44;align-items:center;gap:1rem;padding:.75rem 1.5rem;display:flex}.brand{font-weight:700}.spacer{flex:1}.user{opacity:.85;font-size:.9rem}.content{flex-direction:column;gap:1.25rem;max-width:1100px;margin:0 auto;padding:1.5rem;display:flex}.grid-form{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.grid-form .full{grid-column:1/-1}.actions{justify-content:flex-end;display:flex}.section-head{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.section-head h2{margin:0}table{border-collapse:collapse;width:100%;font-size:.92rem}th,td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;padding:.6rem .5rem}th{text-transform:uppercase;letter-spacing:.03em;color:var(--muted);font-size:.78rem}td.description{white-space:pre-wrap}td.nowrap{white-space:nowrap}@media (width<=640px){.grid-form{grid-template-columns:1fr}}.nav{gap:1rem;margin-left:1rem;display:flex}.nav a{color:#fff;opacity:.75;border-bottom:2px solid #0000;padding:.2rem 0;font-size:.92rem;text-decoration:none}.nav a.active{opacity:1;border-bottom-color:#fff}.row-actions{white-space:nowrap;justify-content:flex-end;gap:.4rem;display:flex}.row-actions button{padding:.3rem .7rem}tr.editing input{width:100%;padding:.35rem .5rem}code{background:#f0f2f5;border-radius:4px;padding:.1rem .35rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.88em}.brand{align-items:center;gap:.6rem;display:flex}.brand-logo{object-fit:cover;background:#fff;border-radius:50%;width:36px;height:36px}.topbar{padding-top:.45rem;padding-bottom:.45rem}.login-logo{align-self:center;width:140px;height:140px}.hint{align-self:end;margin:0 0 .6rem;font-size:.88rem}label{display:block}label input,label textarea{width:100%;margin-top:.35rem;display:block}.limit{color:var(--muted);font-weight:400}select{font:inherit;border:1px solid var(--border);background:#fff;border-radius:6px;padding:.5rem .6rem;font-weight:400}label select{width:100%;margin-top:.35rem;display:block}tr.editing select{width:100%;padding:.35rem .5rem}.grid-form.three{grid-template-columns:1fr 1fr 1fr}.inline-form{align-items:flex-end;gap:1rem;margin-bottom:1rem;display:flex}.inline-form label{flex:1;max-width:420px}@media (width<=640px){.grid-form.three{grid-template-columns:1fr}}.notice.banner{background:#eef4ff;border:1px solid #c3d4f7;border-radius:8px;padding:.75rem 1rem}.notice.banner p{margin:0 0 .5rem}code.secret{-webkit-user-select:all;user-select:all;word-break:break-all}
