/* Веб-форма Кобзона (R0.4). Без inline-стилей: CSP style-src 'self'. */
body { font: 16px/1.5 system-ui, sans-serif; margin: 0; color: #1d2329; background: #f6f7f9; }
header { display: flex; justify-content: space-between; align-items: center; padding: .6rem 1.5rem;
  background: #1d2a3a; color: #fff; }
header .brand { font-weight: 600; }
header form { margin: 0; display: flex; gap: .6rem; align-items: center; }
main { max-width: 52rem; margin: 1.5rem auto; padding: 0 1.5rem; }
form { display: grid; gap: .8rem; }
label { display: grid; gap: .25rem; }
input[name="username"], input[name="password"], input[name="title"] { padding: .4rem; font: inherit; }
button, a.button { justify-self: start; padding: .45rem 1.1rem; font: inherit; border: 0; border-radius: 4px;
  background: #2563eb; color: #fff; cursor: pointer; text-decoration: none; display: inline-block; }
header button { background: transparent; border: 1px solid #fff; }
button[disabled] { opacity: .6; cursor: progress; }
.hint { color: #5b6672; font-size: .92rem; }
.error { background: #fdecec; border-left: 4px solid #c62828; padding: .6rem 1rem; margin: 1rem 0; }
.report { background: #fff; border: 1px solid #dde2e7; border-radius: 6px; padding: .4rem 1.2rem 1rem; margin: 1rem 0; }
.warnings li { color: #8a5300; }
details { margin: .3rem 0; }
summary { cursor: pointer; }
.htmx-indicator { opacity: 0; transition: opacity .2s; }
.htmx-request .htmx-indicator, .htmx-request.htmx-indicator { opacity: 1; }
