*,:before,:after{box-sizing:border-box}body{margin:0}#root{min-height:100dvh}:root{--green-900:#0f5132;--green-700:#1e7a51;--green-500:#33a06f;--border:#0d5e3c24;--text-main:#133323;--text-soft:#486355;--danger:#b00020}.app-shell.login-mode{box-sizing:border-box;place-items:center;max-width:1200px;min-height:100dvh;margin:0 auto;padding:24px 12px;display:grid}.login-card{border:1px solid var(--border);box-sizing:border-box;background:#fff;border-radius:18px;width:min(440px,100%);padding:24px;box-shadow:0 8px 20px #196e4814}.login-card h1{color:var(--text-main);margin:10px 0 0}.login-card form{gap:10px;margin-top:16px;display:grid}.badge{color:var(--green-900);letter-spacing:.04em;text-transform:uppercase;background:#defbe9;border:1px solid #bbe8ce;border-radius:999px;padding:5px 12px;font-size:.78rem;font-weight:700;display:inline-flex}.section-subtitle{color:var(--text-soft);margin-top:8px;line-height:1.45}label{color:var(--text-main);gap:6px;font-size:.9rem;font-weight:600;display:grid}input,select{box-sizing:border-box;width:100%;font:inherit;background:#fbfffd;border:1px solid #c8e8d5;border-radius:10px;padding:10px}input:focus,select:focus{outline-offset:1px;outline:2px solid #8ad4ad}.btn{background:linear-gradient(180deg, var(--green-500), var(--green-700));color:#fff;cursor:pointer;font-weight:700;font:inherit;border:0;border-radius:10px;margin-top:12px;padding:10px 15px}.btn.full{width:100%}.error-msg{color:var(--danger);font-size:.88rem}
