:root { color-scheme: light; font-family: "Microsoft YaHei", system-ui, sans-serif; color: #19312b; background: #f2f6f3; }
* { box-sizing: border-box; }
body { margin: 0; padding: 36px 20px; }
main { max-width: 680px; margin: auto; }
header { margin-bottom: 28px; }
.badge { font-size: 12px; letter-spacing: .06em; color: #26735b; }
h1 { font-size: clamp(24px, 5vw, 32px); margin: 12px 0; }
h2 { font-size: 18px; margin: 0 0 14px; }
h2 span { display: inline-grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: #e3f1e9; color: #247354; margin-right: 6px; font-size: 14px; }
p, footer { font-size: 14px; line-height: 1.75; color: #52665e; }
section { background: white; border: 1px solid #dbe5de; border-radius: 18px; padding: 25px; margin-bottom: 18px; }
a { color: #197b57; font-size: 14px; text-underline-offset: 3px; }
label { display: block; font-weight: 600; font-size: 14px; margin: 20px 0 8px; }
input { width: 100%; min-height: 46px; padding: 12px; border: 1px solid #bacbc1; border-radius: 9px; font: inherit; background: #fcfdfc; }
input:focus-visible, button:focus-visible, a:focus-visible { outline: 3px solid #81c4a1; outline-offset: 3px; }
button { border: 0; border-radius: 10px; padding: 12px 16px; font: inherit; font-size: 14px; font-weight: 600; background: #167749; color: white; cursor: pointer; }
button:hover:enabled { background: #105b36; }
button:disabled { opacity: .45; cursor: default; }
#login { margin-top: 6px; width: 100%; }
.hint { font-size: 12px; color: #65766f; margin-bottom: 0; }
#status { padding: 15px; border-radius: 10px; background: #edf3ef; line-height: 1.65; font-size: 14px; }
#status[data-state="success"] { background: #e1f4e7; color: #135633; }
#status[data-state="error"] { background: #fff0e8; color: #873b20; }
.actions { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 16px; }
#logout { background: #e8eeea; color: #31463a; }
#logout:hover:enabled { background: #d4e2d9; }
ol { padding-left: 24px; font-size: 13px; line-height: 2.1; color: #4c6256; }
footer { padding: 0 6px 25px; font-size: 12px; }
.confirmation { display: flex; align-items: flex-start; gap: 12px; line-height: 1.65; min-height: 44px; }
.confirmation input { width: 20px; height: 20px; min-height: 20px; padding: 0; margin: 2px 0; flex-shrink: 0; }
.secondary { background: #e8eeea; color: #31463a; }
@media (max-width: 480px) { body { padding: 24px 12px; } section { padding: 20px; } }
