:root { color-scheme: light; font-family: Nunito, Arial, sans-serif; background: #f3f7f3; color: #183a21; }
* { box-sizing: border-box; }
body { margin: 0; min-height: 100vh; }
header { background: #1b4d22; color: white; padding: 18px max(20px, calc((100vw - 1050px)/2)); display: flex; align-items: center; justify-content: space-between; gap: 16px; }
header strong { font-size: 1.15rem; }
main { max-width: 1050px; margin: 42px auto; padding: 0 20px 50px; }
h1 { font-size: clamp(1.8rem, 4vw, 2.7rem); margin: 0 0 12px; }
h2 { margin: 0 0 10px; }
p { line-height: 1.6; }
.muted { color: #557060; }
.card { background: white; border: 1px solid #d8e4da; border-radius: 18px; box-shadow: 0 8px 28px #1b4d2212; padding: 24px; }
.login { max-width: 440px; margin: 0 auto; }
label { display: block; font-weight: 700; margin: 18px 0; }
input { display: block; width: 100%; padding: 12px; border: 1px solid #a8b9aa; border-radius: 10px; font: inherit; margin-top: 7px; }
button, .link-button { display: inline-flex; align-items: center; justify-content: center; background: #1b6b35; color: white; border: 0; border-radius: 10px; padding: 11px 16px; font: 700 1rem Nunito, Arial, sans-serif; cursor: pointer; text-decoration: none; }
button:hover, .link-button:hover { background: #145127; }
.login button { width: 100%; }
.error { color: #a82323; min-height: 1.5em; }
.demo { background: #e9f3eb; border-radius: 10px; padding: 10px 14px; font-size: .92rem; }
.grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 16px; margin-top: 26px; }
.module { text-decoration: none; color: inherit; transition: transform .15s, box-shadow .15s; }
.module:hover { transform: translateY(-3px); box-shadow: 0 12px 28px #1b4d2222; }
.module b { display: block; font-size: 1.15rem; margin: 10px 0 4px; }
.module span { font-size: 2rem; }
.module p { margin: 0; color: #557060; font-size: .93rem; }
.top-actions { display: flex; align-items: center; gap: 12px; }
.top-actions button { background: #ffffff25; font-size: .9rem; }
